Stap 13: Prototype klok - Software aanpassingen
Uw stappenmotoren zal anders naar de mijne zijn. Om aan te passen aan uw specifieke stappenmotor, dient u:
1. Verander de verklaringen die de motoren verklaren:
AF_Stepper hourHand (20, 1); uur
AF_Stepper minuteHand (20, 2); minuten
aan de boven-, en verandering stappen de 20 tot en met hoeveel je bepaalde motoren te nemen om te doen een volledige revolutie. 200 stappen is populair (1.8 graden per stap). Als u geen documentatie over uw stepper, dan experimenten de enige weg voorwaarts is, ik weet zeker dat kunt u bedenken een manier van doen.
2. de stepsPerClock-instructie te wijzigen:
int stepsPerClock = 592;
Dit misschien wel ingewikkeld, want het hangt af van de lengte van de klok van uw computer, het aantal stappen per omwenteling van de motor en de diameter van uw klossen. Er is een wiskundige manier uit te werken, maar ik heb net gemeten hoe ver 100 stappen verplaatst van het vervoer, dan gebruikt die voor het berekenen van het totale aantal vereiste stappen voor het verplaatsen van de volledige lengte van de klok. Ook herinneren dat u een beetje van de ruimte voor de wagen, zodat het doesn 't daling uit het einde van het kanaal aan weerszijden.
3. Verander de huidige tijd:
De starttijd is hardcoded in deze versie. De volgende versie zal kunt u de tijd verhogen met enkele knoppen die zijn aangesloten op de arduino.
int currentSeconds = 0;
int currentMinutes = 55;
int currentHours = 11;
betekent dat het gaat om zelf ingesteld op vijf-tot-twaalf zodra deze ingeschakeld. Nogmaals, er zijn slimmere manieren om dit te doen in de definitieve versie, maar voor deze ene, dit is genoeg.
Ik meestal instellen voor een minuut in de toekomst, en vervolgens uploaden naar de arduino en druk op reset wanneer het is dood op. De pointers zijn te merken een minuut hier en daar toch een beetje wiebelig.
U moet handmatig de indicatoren terug naar nul terugspoelen wanneer u reset of zet hem aan.
4. Verander de snelheid van tijd!
Voor testikel honk, stormloop mij op vijfmaal real-time door de lijn in te stellen
int const millisPerSecond = 200;
Real time is 1000 milliseconden per seconde, dus het omzetten in 1000 wanneer u eigenlijk wilt houden tijd mee!