Trä Gear Clock med Stepper Motor Drive (14 / 19 steg)
Steg 14: Elektronik - för axel Encoder
Hittills har har de justeringar som gjorts för rörlighet med hjälp av Arduino kod varit framgångsrika i att hålla den mekaniska klockan i linje med RTC klockan. Det är något som saknas ännu. Vad sägs om strömavbrott?
RTC klockan har en batteribackup som håller tiden i månader utan extern ström. Dock mekaniska klockan stannar när strömmen bryts och kommer att återupptas från den positionen efter kraften kommer tillbaka.
Koden garanterar att den andra handen är fullt synkroniserad med elektroniska klockan men två andra händer kommer att vara avstängd, kanske långt borta.
Håva min hjärna ett tag, kom jag upp med en annan idé.
Om man kunde berätta Arduino var händerna ligger faktiskt, det kunde köras klockan snabbt framåt eller bakåt tills den mekaniska klockan är, återigen, i linje med dess elektroniska master.
OK, har vi en OLED Visa att vi kommer att sätta för att använda för detta ändamål. Det finns tre huvudavsnitt i Arduino slingan. En del kör motorn och gör de fin justeringarna av den andra handen. Ett annat avsnitt används för att tala Arduino där händerna finns. Den tredje delen utför justeringen stora utbud av mekaniska klockan. Arduinos språk (C++) medför inte har en GoTo uttalande. Så, vi använder flaggor som gör en del av koden ska hoppas över eller kör.
När systemet startar, antas det att klockan inte visar rätt tid. Tre knappar på rutan kontroll är nu aktiva. Displayen visar tre platsen där det förväntar sig att användaren anger de aktuella värdena för timme, minut och sekund. En knapp flyttar det aktiva området från timme till i minuten och andra. Den andra knappen avancerar nummer från 0 till 11 eller 0 och 59.
Slutligen den tredje knappen avslutar dessa inställningar, beräknar fel och orsakar en kodavsnittet att köra där händerna flyttas snabbt tills de är på rätt position. Vissa finagling hade göras för att ta hand om 24 till 12 timmars konvertering och behandlingen av timmen 12. När korrigeringen beräknades, antas det att klockan kommer att justeras omedelbart.
Det är naturligtvis inte sant. Det tar tid att göra justeringen. Jag mätt denna tid och lagt en fiffelfaktorn på justering rutin. Det fungerade ungefär så länge händerna fick bytas bara för en kort period.
Det finns mer att komma - se nästa steg