Arduino binära väckarklocka (3 / 16 steg)
Steg 3: Kodstruktur
void loop()
{
Clock(); Håll koll på tiden, dvs uppdatera timmar, minuter och sekunder variabler som behövs.
Display(); Visa tiden eller alarmtiden, beroende på växeln inställningar.
Alarm(); kontrollerar om det är dags för larmet ska starta.
update_buttons_state(); kontrollerar om knappar och touch sensor staterna har ändrats
buttons(); gör vad knapparna ska göra
}
De variabler som behövs av flera funktioner förklaras i den första fliken (där setup() och loop() är) och de variabler som behövs endast en funktion är deklarerad i samma flik som denna funktion.
Om du ändrar DEBUG konstant till 1 får du några utdata via serienummer som kan vara bra vid felsökning, t.ex. tid och vilket värde touchsensor returnerar.
Jag har försökt att kommentera och göra koden förståeligt men om du har frågor eller förslag till förbättringar bara lämna en kommentar.
Här är de stift som jag använde för de olika delarna:
-2 och 4: Touchsensor (4 är skicka pin, 2 är få)
-6 timme knappen
-5 minut knappen
-7 switch
-14-18 display timme pins
-8-13 display minut pins
Du kan använda oavsett pins som du vill, bara ändras i koden.