Linjära klockan (13 / 22 steg)
Steg 13: Prototyp klocka - programvara anpassningar
Dina stegmotorer är olika till gruvan. För att anpassa det till din särskild stegmotor, bör du:
1. ändra de uttalanden som förklarar motorerna:
AF_Stepper hourHand (20, 1); timmar
AF_Stepper minuteHand (20, 2); minuter
upptill, och ändra steg 20 till men många din särskilda motorer ta att göra en fullständig revolution. 200 steg är populära (1,8 grader per steg). Om du har någon dokumentation om din stepper, då experiment är den enda vägen framåt, jag är säker på att kan du lista ut ett sätt att göra det.
2. ändra stepsPerClock uttalande:
int stepsPerClock = 592;
Detta kan vara komplicerat, eftersom det beror på längden på din klocka, antalet steg per rotation av din motor och diametern på din bobbins. Det är ett matematiskt sätt att arbeta ut det, men jag mätte bara hur långt 100 steg flyttade transport och sedan använde den för att beräkna det totala antalet steg som krävs för att flytta hela längden av klockan. Kom också ihåg att du behöver lite utrymme för transport, så den inte faller ut i slutet av kanalen i vardera änden.
3. ändra aktuell tid:
Starttiden är hårdkodade i denna version. Nästa version kan du öka tiden med några knappar kopplad till arduino.
int currentSeconds = 0;
int currentMinutes = 55.
int currentHours = 11;
innebär att det kommer att ställa sig till fem till tolv när den är påslagen. Återigen, det finns smartare sätt att göra detta i den slutliga versionen, men för detta en, detta är tillräckligt.
Jag brukar sätta den i en minut i framtiden, och sedan ladda upp till arduino och tryck på reset när den är död på. Pekarna är lite vinglig att märka en minut här och där ändå.
Du bör manuellt spola tillbaka indikatorerna till noll när du återställer eller slå på den.
4. ändra hastigheten på tid!
För provande avsikterna, kör jag det fem gånger realtid genom att linjen till
int const millisPerSecond = 200.
Realtid är 1000 millisekunder per sekund, så ändra det till 1000 när du faktiskt vill behålla tid med det!