Vatten stänk väckarklocka - vakna till vatten faller på dig (3 / 5 steg)
Steg 3: Skriva koden för Arduino
Jag kodade min Arduino att ta in på den aktuella tiden och önskad alarmtid. LCD-skärmen visas aktuell tid och tiden som larmet var inställd. När det var dags för larmet att gå ut, sa jag servo att snurra, välta flaskan med vatten och låta gravitationen häll det på mitt ansikte. Du kan hitta min kod här. Min servo sedan bröt, så jag gjorde det igen med en liten motor. Koden är nästan samma, men du kan hitta det här.
Skriva Arduino koden omfattar tre grundläggande steg:
- Ta emot indata från användare om aktuell tid och önskad alarmtid
- Att hålla reda på och Visa tid
- Hälla vattnet vid rätt tid
1. för att få input, har jag Arduino körs i en slinga som väntar på att få en tangenttryckning från knappsatsen. Om den gör, kontroller Arduino om det är flera. Om det är, sparar det detta som den aktuella timmen. Om nästa indata är ett tal, det skulle föröka det första numret av tio, och lägga till den nya en (input 1,2, # ger 1 * 10 + 2 = 12). Om det var input #, det skrivs: och användaren kan ange aktuell minut. Jag gör en liknande process för att få aktuell minut. Tid biblioteket som jag hämtat från här var mycket användbart. Jag använde den för att ställa in aktuell tid. Jag fick larmet ingång på samma sätt, och bara sparat.
2. tid biblioteket är super lätt att använda för att hålla reda på och Visa tiden. Jag gjorde detta i loop(); del av min kod. Var tionde sekund jag kontrollera tiden och skriva ut den på LCD-skärmen, och om det matchar alarmtiden sedan jag anropa funktionen att hälla vattnet.
3. Detta är den enklaste delen av koden, och den kortaste. Det ingår i den funktion wakeup(); Jag började koden genom att ange min servo till 0 grader. När det är dags att vakna, jag rotera det ner till 90 grader, och eftersom den är ansluten till koppen koppen också roterar, och jag bli blöt. Efter fem sekunder återgår cup till sin ursprungliga upprätt position att vara redo för nästa användning. Efter jag fick gjort, min servo dog, så jag hade toppen ersätta det med ett högt vridmoment hobby motor. i kölvattnet upp funktion tillämpas jag sedan en spänning på basen av transistorer, så att nuvarande flöda genom motor snd spin, orsakar koppen att spilla. Då har användaren manuellt driva det tillbaka upp till utgångsläget.
Detta är bara ett sätt att skriva kod-It kan göras många olika sätt. Till exempel kan du göra det så att du bara ange den tid en gång, då ca åter-ställa alarmet så mycket som du. Eller du kunde det gå som en timer i stället en väckarklocka. Känn dig fri att experimentera med den och dela!