Arduino kontrollerade Sunrise alarmklocka



detta är en uppdatering till mikrokontroller för min blå LED Gryningssimulatorn väckarklocka. Tidigare, det används en Atmel ATMEGA8-16PI som krävde en Atmel programer. Här, har jag uppdaterat den till att använda en Arduino Uno. Eftersom Uno är baserad på en liknande chip, kunde jag återanvända kod för att komma åt avbrott för att driva en 16-bitars PWM controller. Även om inte du är intresserad av att bygga en soluppgång simulator, kan du hitta 16-bitars PWM koden användbar.

Kör på bara Atmetl, sunrise simulatorn började få tillfälliga fel, vilket resulterade i ljusa ljusblixtar under sunrise cykel i stället för en successiv ökning. Förmodligen var detta från ytterligare buller från Soleil väckarklockan. Inte längre hade jag lätt tillgång till en Atmel programmerare, så bestämde mig för att uppdatera till en Arduino för enklare framtida förändringar.

Ledningarna är i stort sett samma som tidigare, förutom signalen från Soleil läses av en analog ingång istället för en digital ingång. Jag bestämde mig använder analog ingång skulle göra registeransvarige mer motståndskraftiga mot buller än den min tidigare lösningen med avbrott. Arduino koden är nedan:


lång previousMillis = 0; kommer att lagra förra gången LED uppdaterades
långa intervall = 1000; intervall som du vill uppdatera (millisekunder)

void setup() {
initiera digital PIN-koden som en utgång.
pinMode (9, OUTPUT);

stänga av LED på Arduino styrelsen
pinMode (13, OUTPUT);
digitalWrite 13, låg.

Timer1 gör ~ 16-bitars PWM
TCCR1A = _BV (COM1B1) | _BV (WGM11) | _BV (COM1A1);
TCCR1B = _BV (WGM13) | _BV (WGM12) | _BV (CS10);

ICR1 = 65535;
Starta PWM intermittensen vid 100%
OCR1A = 65535;

aktivera detta för felsökning
Serial.BEGIN(9600);

}

void loop() {
osignerade långa currentMillis = millis();
långa y = 0;
långa utgång [100], u;
int i;

ta 1000 avläsningar på analog ingång
för (jag = 0; jag < 1000; i ++) {
y = y + analogRead(A0);
}

output [0] = 65535 / (1 + exp(-1*0.00002275*(y-500000)));

den genomsnittliga produktionen så det inte hoppa runt
för (jag = 9; jag > 0; i--) {
output [i] = utgång [i-1];
}
u = 0;
för (jag = 0; jag < 10; i ++) {
u = u + utgång [i];
}

se till att produktionsvärde inte går över 65535
om (u/10 > 65535) u = 655350;
ställa in PWM intermittensen
OCR1A = u/10;

om (currentMillis - previousMillis > intervall) {
Spara sista gången utdata trycktes
previousMillis = currentMillis;
ut vad som händer för felsökning
Serial.println(OCR1A);
Serial.println(y);
}
}
Jag fastställt den exponentiella funktionen som matchade produktionen av ljusdioderna till glödljus av ögat och prova. Ett diagram som visar den exponentiella ökningen jämfört med en linjär ökning är fäst.

Relaterade Ämnen

Arduino kontrollerade ljus dimmer

Varning: Vissa människor försöka bygga detta med en optocoupler med zerocrossing coz "som är bättre" rätt? Vissa får även höra i elektronik butiker är det bättre att använda sådan optocoupler. FEL. Detta fungerar endast med en random brand optoc...

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...

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...

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 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...

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...

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...

Arduino kontrollerade makt källa

Detta instructable beskriver hur du utformar en Arduino kontrollerad leverans strömkälla.En kort video som presenterar sitt arbete kan ses i min Youtube-kanalSteg 1: Design idéer, begagnade strategi... Syftet med projektet var att skapa ett litet dri...

Hexachord, en Arduino-kontrollerade musikinstrument

Förra året, med tidsfristen för Bay Area Maker Faire skapade jag ett nytt instrument som kallas Hexachord. Det var mycket roligt, en stor hit, och jag har haft chansen att göra ett antal samtal om det. Den design utmaningen var spännande och det fann...

Arduino-kontrollerade Robotic trumma

I år jag har berättat för någon som lyssnar som skulle jag bygga en robot trumma. De flesta slags ryckte likgiltigt. Även när jag byggde det, de flesta slags sneglade över på det och förmedlas tveksamhet. Det verkade som ingen men själv var övertygad...

Fukt-Test: Bygga en Arduino kontrollerade låg Temp ugn

En billig ugn med en programmerbar temperaturområde. Detta kan vara användbart för att göra en kontrollerad temperatur område för tempeh, yoghurt eller torkar ut våt elektronik, skjuta, jag vet inte ditt liv.Vårt problem: Vi behöver veta på % av fukt...