Stap 3: Het schrijven van de code voor de Arduino
Ik mijn Arduino te nemen input op de huidige tijd en de gewenste alarmtijd gecodeerd. Het LCD-scherm weergegeven dan de huidige tijd en de tijd waarvoor het alarm is ingesteld. Toen was het tijd voor het alarm om af te gaan, vertelde ik de servo te draaien, kantelen van de fles water over en laat zwaartekracht giet het op mijn gezicht. U vindt mijn code hier. Mijn servo vervolgens brak, dus ik deed het opnieuw met een kleine motor. De code is bijna hetzelfde, maar vindt u het hier.
Schrijven van de Arduino-code bestaat uit drie basisstappen:
- Ontvangen van input van de gebruiker over de huidige tijd en de gewenste alarmtijd
- Bijhouden en weergeven van de tijd
- Het water gieten op het juiste moment
1. voor het ontvangen van de input, heb ik de Arduino uitgevoerd in een lus die wachten op een toetsaanslag ontvangt via het toetsenbord. Als dat zo is, controleert de Arduino als het een getal. Als het is, slaat dit als het huidige uur. Als de volgende ingang een getal is, het zou het eerste getal vermenigvuldigt met tien, en voeg de nieuwe transactie (input 1,2, # geeft 1 * 10 + 2 = 12). Als dat was input #, deze wordt afgedrukt: en de gebruiker kan het invoeren van het huidige moment. Ik doe een soortgelijk proces voor het ontvangen van het huidige moment. De bibliotheek van de tijd die ik heb gedownload van hier was zeer nuttig. Ik gebruikte het om de huidige tijd. Ik ontving het alarm input dezelfde manier, en het net hebt opgeslagen.
2. de tijd bibliotheek is super eenvoudig te gebruiken voor het bijhouden en weergeven van de tijd. Ik deed dit in de loop; gedeelte van mijn code. Om de tien seconden ik controleren op het moment dat op het LCD-scherm afdrukken en als het overeenkomt met het gewenste tijdstip dan ik de functie aanroepen om te giet het water.
3. Dit is het gemakkelijkste deel van de code, en de kortste. Het is opgenomen in de functie wakeup(); Ik begon de code door mijn servo te stellen op 0 graden. Wanneer de tijd komt om wakker te worden, ik het tot 90 graden draaien, en aangezien het is aangesloten op de cup de cup ook draait en ik nat. Na vijf seconden de cup keert terug naar zijn oorspronkelijke rechtop klaar te zijn voor het volgende gebruik. Nadat ik heb gedaan, mijn servo stierf, dus ik had boven een hoog draaimoment hobby motor te vervangen. in de wake-up functie ik vervolgens toegepast een spanning op de basis van de transistors, waardoor de huidige stroom door de motor snd-spin, waardoor de cup te morsen. Vervolgens moet de gebruiker handmatig duwen het terug tot de uitgangspositie.
Dit is slechts één manier om te schrijven van dat de code-It kan veel verschillende manieren worden gedaan. Bijvoorbeeld, kon u het zodat u alleen de tijd eens, dan ca re-set het alarm zoveel u wilt. Of u kon gaan als een timer in plaats daarvan een wekker. Voel je vrij om te experimenteren met het en delen!