Stap 2: Bouw van de klok-elektronica
Microcontroller
De hersenen van dit project is een PIC 16F628A microcontroller. Het bijhouden van de tijd en activeert de stappenmotor wanneer nodig.
Knoppen
De interface is zeer eenvoudig en bestaat uit twee knoppen. Wanneer u op de linkerknop drukt voorschotten de klok tijd met behulp van de motor. Wanneer de rechter knop is ingedrukt wordt de kloktijd verlaagt met behulp van de motor. De enige kwestie is wanneer u moet juiste tijd door de vele uren die je moet houden van de knop ingedrukt voor een lange tijd. De stappenmotor is ook altijd energiek om te voorkomen dat de tandwielen wegglijden. Om dit probleem te overwinnen wanneer beide knoppen de stepper ingedrukt motor is deenergized en de kleinste versnelling kan vrij worden gesponnen.
Motor
De motor is een unipolaire stappenmotor die uit een oude 5 1/4 inch floppy drive heeft geoogst. Dit is de motor die gebruikt om te verplaatsen het lezen schrijven hoofden heen en weer, om een van deze grootte en macht u moet op zoek naar een mooie oude een te krijgen. Moderne diskettestations hebben geen steppers met dit niveau van het koppel.
Deze motor beweegt 1.8 graden per puls, wat betekent dat met 200 het pulsen één volledige omwenteling zal maken. Aangezien het een bipolaire motor is het eenvoudig voor de PIC om te rijden met slechts 4 transistoren.
Code
De code is in feite opgesplitst in twee delen, is er een iteratieve lus die controleert de knoppen voor een verandering in staat en controleert als de interne klok het 9 tweede merk heeft gekruist. Als een van deze voorwaarden de stappenmotor zijn opgetreden wordt op de juiste wijze gedreven.
Het andere gedeelte van de code is interrupt aangedreven en houdt het spoor van tijd. Een interrupt wordt geactiveerd om de 0,1 seconden en een interne klok past zo nodig. Er is een echte klok binnen lopen, als u verbinding maakt met de klok PIC pin 6 op een computer seriële poort fungeert 9600 bps u ziet de waarden van de interne klok één keer per seconde bijwerken. In dit geval is de waarde van de klok willekeurig, aangezien het nooit aangegeven wordt en zal niet hetzelfde als wat de tandwielen worden weergegeven maar deze dezelfde code zal worden gebruikt in de toekomst projecten die deze code weergave tijd zal gebruiken.