Arduino kontrollerade ljus dimmer (7 / 15 steg)

Steg 7: Mjukvaran till sätta nivå med hjälp av upp-och nedknapparna

Nedan en kod att ställa ljuset nivå med upp-och nedknapparna. Den använder en timer som kontrollerar om tid som krävs för att utlösa TRIAC, snarare än att vänta i en försening loop

/*
AC ljus kontroll
Använder upp och ner knappar att ställa in nivåer
använder en timer avbryta för att ange nivån för ljusreglering
*/
#include < TimerOne.h > / / Avaiable från http://www.arduino.cc/playground/Code/Timer1

flyktiga int jag = 0; Variabel att använda som en räknare för dimmring steg. Det är flyktiga eftersom det passerar mellan avbryter
flyktiga boolean zero_cross = 0; Flagga som anger vi har korsat noll
int AC_pin = 3; Utgång till Opto Triac
int buton1 = 4; första knappen på pin 4
int buton2 = 5; andra knappen på stift 5
int dim2 = 0; ledde kontroll
int dim = 128; Ljusreglering nivå (0-128) 0 = på 128 = 0ff
int pas = 8. steg för count;
int freqStep = 75. Detta är det dröjsmål-per-ljusstyrka steget i mikrosekunder. Gör det möjligt för 128 steg
Om du använder 60 Hz rutnät frekvens set detta till 65

void setup() {/ / börja installationen
Serial.BEGIN(9600);
pinMode (buton1, ingång); Set buton1 pin som indata
pinMode (buton2, ingång); Set buton1 pin som indata
pinMode (AC_pin, OUTPUT); Ange PIN-koden Triac
attachInterrupt (0, zero_cross_detect, RISING); Bifoga en avbryta Pin 2 (avbryta 0) för noll Cross upptäckt
Timer1.Initialize(freqStep); Initiera TimerOne bibliotek för freq vi behöver
Timer1.attachInterrupt (dim_check, freqStep); Gå till dim_check procedur varje 75 oss (50Hz) eller 65 uS (60Hz)
Använda TimerOne biblioteket för att bifoga ett avbrott

}

void zero_cross_detect() {
zero_cross = sant; ange flaggan för dim_check funktion som ett noll kors har inträffat
Jag = 0; stegräknare till 0... När vi börjar en ny cykel
digitalWrite (AC_pin, låg);
}

Slå på TRIAC vid lämplig tidpunkt
Vi kommer hit varje 75 (65) oss
Kontrollera först om en flagga har ställts in
Kontrollera sedan om räknaren "i" har nått den ljusreglering
om så... slå på TRIAC och återställa räknaren
void dim_check() {
IF(zero_cross == true) {
om (jag > = dim) {
digitalWrite (AC_pin, hög); slå på ljus
Jag = 0; återställa tiden steg counter
zero_cross = false; återställa noll cross upptäckt flagga
}
annat {
i ++; öka tiden steg counter
}
}
}

void loop() {
digitalWrite (buton1, hög);
digitalWrite (buton2, hög);

om (digitalRead(buton1) == låg)
{
om (dim < 127)
{
Dim = dim + pas;
om (dim > 127)
{
Dim = 128;
}
}
}
om (digitalRead(buton2) == låg)
{
om (dim > 5)
{
Dim = dim - pas;
om (dim < 0)
{
Dim = 0;
}
}
}
medan (digitalRead(buton1) == låg) {}
Delay(10); väntar på lite...
medan (digitalRead(buton2) == låg) {}
Delay(10); väntar på lite...

dim2 = 255-2 * dim;
om (dim2 < 0)
{
dim2 = 0;
}

Serial.Print("Dim=");
Serial.Print(Dim);
Serial.Print ("dim2 =");
Serial.Print(dim2);
Serial.Print ("dim1 =");
Serial.Print(2*Dim);
Serial.Print('\n');
fördröjning (100);

}

Se Steg
Relaterade Ämnen

Billiga Arduino kontrollerade ljus Sockets - Reverse Engineering RF

Smart glödlampor kostar din förstfödda barn. Vilket är synd, eftersom smarta lampor låsa upp enorm potential för hemautomation, energibesparingaroch alla typer av coola projekt.Om bara fanns det ett sätt att kontrollera dina lampor utan att bryta ban...

Arduino kontrollerade ljus

Hej, mitt namn är Blane Parker, jag är 14 år gammal och bor i Texas. Jag älskar att spela med elektronik och besöka instructables ofta att lära sig; att bli bättre i elektronik.1. vad gjorde du?Jag gjorde enhet som ansluts till en Arduino eller en "s...

Skapa en Arduino kontrollerade ljus-följande blomma Bot

I detta baserade Arduino projekt, skapar du en "biomimetiska," eller biologi-inspirerade, blomma som följer en ljuskälla. Du har förmodligen sett detta beteende i dina krukväxter! Växter behöver solljus för att växa och frodas, och "heliotr...

Mind kontrollerade ljus med hjälp av Arduino || Fattig mans EEGEN sensor

Det vore inte bra att vända saker på eller av med ditt sinne... !!!Som Puzlebox Orbit Mobile Edition (http://www.amazon.com/Puzzlebox-Puzlebox-Orbit-Mob... ) eller häftiga Star Wars vetenskapen - Force tränare ( http://www.amazon.com/Star-Wars-Scienc...

Sällskapsdjur utegångsförbud: En Arduino kontrollerade sällskapsdjur dörr

Problemet: du vill begränsa den tid när ditt husdjur är tillåtet att gå utanför. Detta kan bero på att trakten inte är säkra för din katt eller liten hund på natten (plundringarna coyotes kommer att tänka på). Men du vill ha ditt husdjur för att kunn...

Android & Arduino kontrollerade projektorn skärmen

detta är min första gången du använder Arduino, eller någon mikrokontroller. Jag är glad att det fungerat så bra men min fru kan inte bero på, travar av mikrokontroller som kommer att dyka upp på vår tröskel snart för framtida projekt. Någon feedback...

Laser Galvo - Arduino kontrollerade

Arduino kontrollerad laser galvo. Servo driven speglar styra UV laser lämna ett fosforescerande spår på glöd-in-the-dark vinyl ark.Ursprungligen postat på notes.robives.comSteg 1:Börjar med ett blad av självlysande vinyl från eBay och en UV laserpeka...

Arduino kontrollerade Servo Robot (serbiska)

vad bättre sätt för att börja experimentera med öppen källkod mikro-styrenheter ( Arduino ) då genom att bygga din egen öppen källkod robot ( CC (SA-av))?Vad till gör med din Serbiska?(här) - Hur ansluta din serbiska till internet och köra det över e...

Infraröd Sensor guidade Arduino kontrollerade L293D Robot (del 2)

Här är del 2 av Arduino kontrollerade L293D Robot.Del 2 innehåller IR Sensors.This ingår i en serie av instructables leder till en rad efterföljare Robot.QRD1114 Infrarödsensor kopplad till ArduinoSteg 1: Ledningar IR sensorn till ArduinoNegativ från...

Arduino blekning ljus

detta är en Arduino kontrollerade nattlampa.material:1 x LED5 x hoppare ledningar1 x arduino1 x fotocell1 x skärbräda1 x 10 k ohm motståndHär är koden, skriv inte saker efter den / /, koden kommer att få för lång:Dessa konstanter inte kommer att ändr...

Arduino kontrollerade fyren

Översikt:Jag har ofta tänkt att en fyr skulle göra ett stort projekt för en Arduino, och så jag beslöt att ge det ett försök med någon av de lokala fyrarna här i Erie, Pennsylvania som inspiration. Jag valde Norr Pierhead fyr som vaktar ingången till...

Arduino-kontrollerade Wolf svans

hälsningar, eller ska jag säga, "Aaaaaooooooooooooh!" Gärna göra din bekantskap Karl wolf entusiast. Du har en inre wolf ande som är så ivriga att ge sig till känna att du har kommit mig att lära mig hur man gör din egen animatronic wolf svans,...

Arduino kontrollerade kök Timer

Alla ni måste har upplevt detta att du har något kokning på din gasspis medan å andra sidan du få upptagen tittar på TV eller få en djup konversation att du inser på upptäcka en lukt som det var helt bortskämd bara på grund av din slarv. Denna lilla...

Arduino kontrollerad bil Tracking System baserade på SMS-

Hej jag gjorde en Arduino kontrollerad bil Tracking System baserat på SMS för min fars bil.Använda modulerna är;Arduino nano V3.0SkyLab GPS-modulenWaveCom GSM-modulSoftwareSerial bibliotek, TinyGPS används för att kommunicera med moduler.När jag ring...

Trådlösa Arduino kontrollerade Tank (nRF24L01)

Hej!Idag kommer jag att visa dig hur man bygger en Arduino kontrollerade tank och fjärrkontroll. 3d tryckta delar av tanken (med undantag av registeransvarige, spåra guide och tank cover) ritades av timmiclark och kan hittas här.Steg 1: Samla materia...

Arduino kontrollerade CNC / 3D skrivare Hybrid

Moder natur gör... Vi bygger.BuildersBot säkringar 3D utskrift & CNC fräsning till en Builders dröm "3dprintingindustry.com"BuilderBot är en öppen Design maskin, som använder OpenMjukvara och öppen hårdvara. Det är en produkt av öppna projek...

Wall-E's anti-sociala kusin: objekt att undvika Arduino kontrollerade Robot!

jag byggde nyligen en Arduino kontrollerade robot, som undviker objekt och skickar ut en PING)) ekolod att kontrollera om ett objekt är. När ett objekt har identifierats, roboten ryggen upp och vänder åt andra hållet!Jag kallar det anti-sociala robot...

Arduino-kontrollerade Smart Home

Detta Instructable skrevs av PubNub Evangelist Ian Jennings . Ians historia går igenom hans processen för att bygga en Arduino-kontrollerade smarta hem modell från grunden.--Tillbaka i September, vår grundare Stephen och jag pratade om olika sätt att...

Arduino kontrollerade Flight Simulator - "The Viper"

min Maker Faire projekt för 2012 är "The Viper"--en Arduino kontrollerade flight simulator inspirerad av shipen av det samma känt från SyFy kanalens TV-serien Battlestar Galactica. Den roterar 360 grader längs två axlar, vilket innebär att ja, d...