3 kanal-Dimmer/fader för Arduino eller andra microcontroller (2 / 3 steg)

Steg 2: 3 kanals Dimmer/fader för Arduino eller andra mikrokontroller: programvara

Detta är bara för demonstration eller provande syfte.

Eftersom programmet är bara för att illustrera, cykler slingan mellan 0 och 127...


/*
AC ljus kontroll
Ryan McLaughlin < ryanjmclaughlin
med smärre ändringar
*/

#include < TimerOne.h > / / http://www.arduino.cc/playground/Code/Timer1
#define stift 3
flyktiga int pinCount [stift]; beständig göra tillgänglig i avbrott
flyktiga boolean zero_cross = 0; Boolean att lagra en "switch" berätta för oss om vi har korsat noll
int AC_pins [] = {3,4,5}. Stup pin-koder
int AC_dim [stift]; Innehar Dimming nivåer (0-128) 0 = på 128 = 0ff
int freqStep = 78. Ange fördröjning för frekvensen av makt (65 för 60Hz, 78 för 50Hz) per steg (med 128 steg)
freqStep kan behöva viss justering beroende på din makt formeln
du behöver till oss är (500000/AC_freq) / NumSteps = freqStep

void setup() {
för (int en = 0; en < stift; a ++) {//set stiften att produktionen
pinMode(AC_pins[a],OUTPUT);
pinCount [a] = 0; håller reda på tiden i cykeln
AC_dim [a] = 0; ljusreglering nivå anges till noll
}
attachInterrupt (0, zero_cross_detect, faller); Tillmäter Pin 2 (avbrott 0) avbrott för noll Cross upptäckt
Serial.BEGIN(9600);
Timer1.Initialize(freqStep); Initiera TimerOne bibliotek för freq vi behöver
Timer1.attachInterrupt (dim_check, freqStep); Använda TimerOne biblioteket för att bifoga ett avbrott
till funktionen använder vi för att kontrollera om det är
rätt tid att avfyra en triac. Denna funktion
kör nu varje freqStep i mikrosekunder.
}

void zero_cross_detect() {/ / funktion för att eldas på noll korsningen
zero_cross = 1; ange flaggan att berätta ljusreglering funktionen noll cross har inträffat
} / / End zero_cross_detect

void dim_check() {/ / funktion kommer brand triac vid rätt tidpunkt
IF(zero_cross == 1) {/ / första kontrollera att noll-korset har hänt annars händer ingenting
för (int en = 0; en < stift; a ++) {
om (pinCount [a] > = AC_dim[a]) {/ / kolla och se om jag har nått ljusreglering värdet vi vill
digitalWrite (AC_pins [a], hög); Brand på Triac
delayMicroseconds(5); Gör en kort paus för att säkerställa triac påslagen
digitalWrite (AC_pins [a], låg); Stänga av Triac grinden (Triac stängs av vid nästa noll cross)
pinCount [a] = 0; Återställa ackumulatorn
zero_cross = 0; Återställa zero_cross så att det kan slås på igen på nästa zero_cross_detect
} annat {
pinCount [a] ++; Om ljusreglering värdet inte har nåtts, incriment räknaren
}
}
}
}

void loop() {
Detta är helt enkelt att göra alla utgångar igenom ljus-mörk, tid med varandra.
för (int jag = 0; jag < 127; i ++) {
för (int en = 0; en < stift; a ++) {
int ii = i + 42. Detta är lite som sätter de blinkande lamporna i synk med varandra
om (ii > 127) ii-= 127;
AC_dim [a] = ii.
}
Delay(50);
}
}

Se Steg
Relaterade Ämnen

Enkel EEPROM modul för Arduino eller andra microcontroller

EEPROMs komma till hands om du vill lagra vissa uppgifter utan att förlora den. Många mikrokontrollers komma med vissa interna EEPROM, men eftersom EEPROMs har ett ändligt (men stort) antal skriver innan de börja bli felaktig, min anal glans karaktär...

Hur man mäter AC nuvarande med Hall effekt Sensor med Arduino eller andra gemensamma Microcontrollers

Vänligen se ett nytt enklare tillvägagångssätt härMål: Detta Instructable visar hur att göra en gränssnittet box som, när skarvas i en förlängningssladd, tillåter gemensamma mikrokontroller som Arduino att mäta AC nuvarande som DC spänning signal pro...

Styra en Furby med Arduino (eller andra mikrokontroller)

Miljoner Dollar Furby: Vi kan bygga upp honom. Vi har tekniken.Fortsatte från den tidigare Instructable där vi censurerade Furbys primitiva hjärnan, är det nu dags att ersätta det med något större.Detta Instructable kommer detalj hur man installerar...

En billigare ESP8266 WiFi sköld för Arduino och andra micros

Uppdatering: 19 maj 2016Rev 14 i detta projekt reviderar bibliotek och kod ska fungera med ESP8266.com IDE plug-in V2.2Uppdatering: 17 December 2105Rev 11 i detta projekt rensar upp andra försök anslutningar om den redan är ansluten. Använder också d...

Fyra kanal 'Fake TV' med Arduino eller Attiny

Medan jag jobbade på en "hemma" simulator bilaga larmsystem, en av de saker jag ville göra är att ha en TV på och från tid till annan ändra kanal. För att jag hade en IR-Led ingår i projektet och det fungerade bra.Men TV är energi guzzlers och i...

En trådlös Smart Home (var: hem simulator och larm med Arduino eller Atmega328 (Uppdaterad maj 2016))

Obs: det nu är en android bluetooth kontroll app ibble för detta projektObs: Även om det började som ett projekt simulera min närvaro i hemmet, det har vuxit till ett smart hem, därav titeln jag detta InstructableNär folk är på semester, eller ibland...

Jorden världen roterar med Arduino eller Raspberry Pi kontrollerade Stepper Motor

Detta instructable beskriver hur du uppgraderar din världen till en motoriserad version. Det ser otroligt bättre på hyllan när det sakta roterar, och någon demonstration med dina barn (att förklara den dag/natt cykeln eller årstiderna) vinner i intre...

Snabb Digital termometer med billiga USB till TTL omvandlare och DS18B20 - utan Arduino eller Raspberry Pi

I min tidigare instructable jag gav en introduktion till Digital termometer med DS18B20 och ESP8266 nodemcu ombord med SPI OLED-skärm och programmering använder Arduino IDE. Det krävs kunskaper i programmering, grundläggande elektronik och krävs lite...

Lätt, reversibel Motor Control för Arduino (eller någon mikrokontroller)

detta projekt använder bara tre huvudkomponenter framåt och bakåt kontrollera att för en enda motor. Du kan enkelt gränssnitt det till en Arduino eller någon annan mikrokontroller.Det är så enkelt - du kan tråd det upp "fri form" utan ett kretsk...

Nonieskalans sensorer och Arduino (eller Teensy) för loggning av Data

låt oss titta på hur man samlar in data från nonieskalans pedagogiska sensorer med en Arduino-kompatibel microcontroller utveckling ombord.Om du behöver bara att anslutas en sond med en dator och vill att allt ska fungera, bör du nog köpa en Vernier...

DIY Arduino eller "Den DIY-Duino"

här hela guiden finns också på min hemsida påhttp://www.theparsley.com/Arduino/DIY/För att citera Arduino webbplats:"Arduino är en öppen källkod elektronik prototyping plattform baserad på flexibel, lätt att använda maskinvara och programvara. Den är...

Lägga till EL wire till en kappa eller andra plagg

som upplysta kostymdesigner, jag får många frågor från människor som vill veta hur man gör sin egen EL wire dräkter. Jag har inte tid att hjälpa alla individuellt, så jag tänkte jag skulle konsolidera mitt råd till en instructable. Förhoppningsvis hj...

Gör din egen vackra vrå (eller andra e-läsare) fallet

förra veckan, fick jag min renoverade vrå med posten. Det är en ganska robust liten sak, men jag ville fortfarande visst skydd för den som inte var alltför skrymmande eller dyra. Jag gjorde en liten kanal-tejp-och-kartong som var vackra och funktione...

Med IFTTT för att skapa kartan Live Foto från din iPhone (eller andra enheter)

Detta är en steg för steg guide att ta en bild med din iPhone (eller andra enheter som stöds), skicka bilden till ett google-kalkylark, och migrera data till ett Google Fusion bord, och slutligen producera en karta över där bilden togs. (Obs: denna t...

Hur man gör en lätt och elegant tabell centrum bit för jul (eller andra händelser)

att köpa en Juldekoration för bord för mindre än 20€ är i dag nästan ett omöjligt uppdrag, så varför inte skapa din egen dekoration?Så jag kommer att visa dig hur man gör detta mycket enkel, men mycket elegant, dekoration, steg för steg, med bilder s...

Göra en låda att förvara dina komponenter (eller andra saker)

/ * formatmallsdefinitioner * / bord. MsoNormalTable {mso-stil-namn: "Tabell Normal"; mso-tstyle-rowband-storlek: 0; mso-tstyle-colband-storlek: 0; mso-stil-noshow:yes; mso-stil-förälder: ""; MSO-stoppning-alt: 0 cm 5.4pt 0 cm 5.4pt; M...

Custom Nike Roshes (eller andra skor)

Tack för att kolla min instructable! Jag vill börja med en ursäkt för en dålig kvalitet foton. De var alla skott på en DSLR men jag tog massor av bilder så jag var tvungen att komprimera dem ner för att kunna ladda upp dem alla.Detta är en super i dj...

Tvätta ull eller andra fibrer för spinning.

Ull och andra animaliska fibrer kan vara knepigt. Om du gör det fel du får en glopping våt massa av filt. Inget kul alls och potentiellt kostsamma om inte ett slöseri med tid och ansträngning. Vissa fibrer är lättare än andra att tvätta och är mer to...

Underlight din Dalek (eller andra projekt)

Du vet hur det går - du tar du Dalek och ha en bra dag, men du får hållas upp och när det är dags att komma komma är det redan mörkt. Försök köra Alan (Ja, den Dalek namn är Alan - fråga mig inte varför) tillbaka men du hålla skrapning honom på trott...