"OK att vakna" klocka för ditt barn (8 / 10 steg)

Steg 8: Kodning staterna i sömn och vaken



Om du lider av sömnbrist på grund av de dåliga nätterna, bära med mig, vi är nästan där och sömn kommer din väg! Detta är nästan det sista hindret att ta. Det viktigaste verktyget för detta steg är kaffe.

Om du vill tänkare med logik eller vill lägga till olika knappar och du inte ännu är det fimiliar med Arduino att du är confidend att beställa delar, föreslår jag att du spela lite med designen på 123d kretsar av Autodesk. Jag ingår ett förslag här nedan för att starta från projektet. Observera att detta förslag inte ingår RTC för tidtagning eftersom 123d miljön stöder det. En trevlig funktion är den emulering som det ger, så du kan spela lite med knappar.

Tillbaka till programmering. Det allmänna konceptet är ett loop() uttalande som lyssnar på RTC och tryckknapparna varje sekund. Om RTC returnerar en tidsstämpel som motsvarar till läggdags eller morgonen tid kan ändra vi tillståndet. Om tryckknappen för en tupplur skjuts, vi också ändra tillståndet och få luggen motsvarande längd från potentiometern.

Länka alla sensorer och bibliotek och ställa in parametrar: Denna skiss kräver en hel del parametrar för att hålla reda på tid och påstår av lampor, knappar... Ett tips är att hålla reda på pin-koder och dubbelkontroll dem när något inte fungerar korrekt.

bibliotek
#include < Servo.h >
#include < Wire.h >
#include "RTClib.h"

PIN-koder
CONST int potentioPin = 0; analoga A0 pin
CONST int napPin = 3; Digital pin
CONST int lightPin = 4; Digital pin
CONST int servoPin = 8; Digital pin
CONST int dagsljus = 9. Digital pin
CONST int nattlampan = 10; Digital pin

sömn och timer inställningar
sömn och timer inställningar
RTC_DS1307 RTC; RTC datum
DateTime tid; tid föremål för RT
CONST int wake_h = 7. CONST int wake_m = 0; dags att stiga upp
CONST int sleep_h = 19. CONST int sleep_m = 30. dags att gå till sängs

variabler för en tupplur
int napState = 0; tillståndet för knappen
int napBusy = 0; int att indikera om systemet är i nap stat
int napSec = 1800; längd för nap i sekunder
DateTime endNap; tid objekt håller den beräknad sluttiden för nap

variabler för ljusförhållandena
int lightState = 0; delstaten på LED-knappen
int lightsOn = 1; int att indikera om lamporna är på eller av.

variabler för elementet servo, fastställa dessa samtidigt att bygga mekanismen
Servo myservo;
int awakePos = 72.
int sleepPos = 154;

Initieras signalerna som knappar och kommunikation: Digital stiften på Arduino måste få veta om de är ingång eller utgång ska fungera korrekt.

void setup() {
Serial.BEGIN(57600); justerade boud skattesatsen för RTC
Wire.BEGIN();
RTC.begin();
pinMode (napPin, indata); initiera input stiften
pinMode (lightPin, ingång); initiera input stiften
pinMode (dagsljus, produktionen); initiera utgångsstift
pinMode (nattlampa, produktionen); initiera utgångsstift
myservo.attach(servoPin); initiera utgångsstift
}

Starta kontinuerlig slinga: Denna del synes lätt genom användning av hjälpfunktioner. Först läser och anger det lätta tillståndet, andra kontrollerar om NAP-knappen trycks och den tredje en ger rätt signaler till lysdioder och servo baserat på de två föregående knapplägen och tiden.

void {
Time=RTC.Now(); få aktuell tid från RTC
lightsOn=listenToLedPin(); lyssna på LED-knappen
napBusy=listenToNapPin(time,napBusy); lyssna på NAP-knappen
setState(time,napBusy,lightsOn); Ändra ljus och servo
Delay(1000); vänta en sekund, för att undvika studsar.
}

De hjälpande funktionerna: För definitionen av de hjälpande funktionerna, se den fullständiga koden fäst eller skiss i 123studio. Dessa hjälper funktioner består av en massa if-tester och några grundläggande signal inställning och dokumenteras fullt ut. Jag ingår också versionen av RTClib som jag använde för tiden kontroll och kommunikation med den lilla RTC.

Se Steg
Relaterade Ämnen

Vad att göra när ditt barn är uttråkad

idag kommer jag att visa dig fem saker att göra om ditt barn är liten och de villSteg 1: Klä upp/fashion show Ge dem alternativ av kläder att klä upp i och lägga ut några uppstoppade djur och få dem att publiken som bör hålla dem sysselsatta.Steg 2:...

Hur till besluta om ett sommarläger för ditt barn

uppleva fördelarna med ett sommarläger för barn är enorma! Den amerikanska Camp Association http://www.acacamps.org/ har gjort omfattande forskning, och det verkar klart framgår att uppleva ett sommarläger för barn ökar deras förtroende, deras självs...

Göra en suvenir bok av ditt barns konstverk

om du är förälder, chanserna är att ditt barn (eller barn som är mitt fall) producerar mängder och mängder av konst, hantverk, kort lite skrifter och whathaveyou som du verkligen känner för att du ska hålla ditt barn kan du inte bli av. Vad göra?Mitt...

Hur spåra platsen för ditt barn använder tjänsten Hoverwatch?

Föräldrar är väl medvetna om det faktum att veta den exakta platsen för sina barn kan vara information av yttersta vikt. Eftersom de flesta föräldrar är upptagen, kan de inte vara nära sina barn tiden hela, men se till att lämpligt skydd är fortfaran...

Listigheten en ballong drivs leksaksbil för ditt barn

Tänker ni verkligen överraska din son eller ens dotter med en DIY ballong drivs leksaksbil? Har ditt barn en födelsedag snart och du letar efter den bästa presenten för honom/henne? Eller kanske du har lust och tid att uppfinna eller gör något intres...

Hur att bryta det för dina barn att jultomten inte är riktiga

That's it. Du är trött på att Smyga runt i huset att gömma presenter, talar om för ditt barn att nej, det är inte ekorrar på vinden, det är Santa på taket!, äta morötter lämnas ut för Rudolph (okej, så kanske du fortfarande njuta av dessa kakor för S...

Hur man använder en Ergo bärare att lugna ditt barn att sova

Välkommen!Mitt namn är Jen, och jag är en babywearing duk diapering, amning, sova tillsammans, Hemundervisning mama att fyra fantastiska valpar--Zoe (9), Niko (5), och Vi & Manny (galen två-åriga tvillingarna). Dagar får ganska knasig runt här! När j...

Hur att fotografera ditt barn

Jag älskar instructables tävlingar eftersom de sträcka mig och tvinga mig att vara kreativ. Jag är inte en fotograf, jag har inte en dyr kamera och jag har aldrig tagit bilder av någon annans familjer eller barn. MEN jag vet en hel del om att ta bild...

Bygga en ganska prinsessan slott säng ditt barn kommer att älska

IntroHär är hur man gör en säng som din dotter kommer att älska. Jag gjorde denna säng för min dotter så hon skulle vilja göra en övergång till en stor flicka säng och har en säng så cool som dumper sängen jag gjort för min son. Innan du skapar sänge...

Lär ditt barn att knyta sina skor i 12 enkla steg

Det var inget mer frustrerande då när min son brukade komma hem från skolan med små kvistar i sin sko spetsar som var nästan omöjligt att få. Ibland, fann jag mig själv använda pincett försöker lossa "boy scout" knop ur hans skosnören. Många til...

Hur du får ditt barn brukade bada i 5 dagar

Hej mamas! Om du är någonting som jag jag var så rädd för att sätta min lilla i badkaret.Det är konstant förvirring om var mina händer går, så där hans gå och hur gör jag även tvätta barnet?MINA HÄNDER ÄR FULLA!Så jag är säker som så många andra mama...

Hjälpa ditt barn bo i sängen längre.

jag vet att detta inte göra för mycket av en Instructable, men vi har hittat den så bra jag var bara tvungen att dela den.Steg 1: material En enkel lista över material:-Barn (eller annan person som vaknar du upp på sprickan av "alldeles för tidigt&qu...

Hur man gör ditt barn känns bekvämare samtidigt på sjukhuset

Hej,Jag är en Girl Scout och jag avslutat just min Girl Scout Gold Award. Gold Award som motsvarar Boy Scouts Eagle Award är den högsta prestationen i flickscouter. För mitt Gold Award projekt lämnat jag Välkommen kit till barnen på UC Davis barnsjuk...

Hur du registrerar ditt barn i kommunal skola i San Francisco

Registrera ditt barn i en offentlig skola i San Francisco kan vara så enkelt som ABC.Naturligtvis ta vissa delar allvarlig tid och tanke--ungefär som stavning bortom ABC. Så tänk på detta Instructable som din händig, pocket dictionary.Och kom ihåg, d...

Hur du planerar en födelsedagsfest för ditt barn

Med många alternativ runt, kan planerar en fest för barn vara roligt och underhållande. Se till att ditt barn har en bra tid och en minnesvärd händelse. Nedan följer några tips om hur man organiserar och planerar en födelsedagsfest.Steg 1: Planera en...

Gör en Wonder Woman kostym med ditt barn

Wonder Woman är perfekt prinsessa för de små flickor som inte väntar en prins ska sparas. Denna handledning hjälper dig att inte bara göra en kostym med din spirande amazon krigare, men också göra massor av minnen också.Steg 1: Gör massor av ritninga...

Silikon armband fix för ditt barns majs popper push leksak.

Om du har hårt golv och barn du kan ha funnit ut de flesta av sina leksaker, med plast hjul, har brist på dragkraft på hårda ytor.För detta Instructable kommer vi att göra det så att ditt barns majs popper leksak fungerar på alla ytor. Allt du behöve...

Göra en egen plysch med ditt barns röst

I detta Instructable ska du registrera ditt barns röst och göra en personlig plysch leksak! Barn älskar absolut höra sin egen röst kommer från leksaker. I det här exemplet jag ska vara min dotters röstinspelning och att lägga till hennes fyllda unico...

Potträning – Tips & Tricks till potta tåg ditt barn i 1 vecka

jag har nyligen varit att få bett min potta utbildningsprocessen och hur jag kunde få Connor vara potta utbildade inom några dagar.Jag var mycket nervös när jag började potträna eftersom jag hade ingen aning vad som väntar. Jag väntade tills han var...