Stap 4: De code van de Arduino
Download hier de code van de Arduino en opent u het in de editor van de Arduino (ik schreef met behulp van versie 1.6.3). U zal een paar standaard bibliotheken (wire.h en LiquidCrystal.h) opnemen en SPI.h uitmaakt (maar ik denk niet dat ik het gebruikte, is het oudere van de oorspronkelijke code die ik in elkaar geflanst zodat de klok).
Je moet ook twee speciale bibliotheken. Ik heb ze hier geplaatst om te downloaden, alleen omdat ik wilde dat je beschikt over de exacte versies ik gebruikt (dus alles werken zal). Echter, ik raden dat u de oorspronkelijke bestanden van Adafruit (Cap1188) en van David H Brown (voor de real-time klok bibliotheek) uitzoeken omdat ze kunnen krijgen bijgewerkt en omdat deze mensen zetten in een veel inspanning in het maken van deze bibliotheken voor mensen zoals ons.
Hier is de fundamentele logica van de klok:
De sensor van de capaciteit bepaalt wat er moet gebeuren, dus check om te zien als het heeft geraakt.
- GLB geraakt?
- Neen = weergeven tijd op de bovenste regel
- Controleer als er een verjaardag of een andere speciale dag?
- Ja = een speciale boodschap op de 2e regel weergeven
- Neen = weergeven de datum op de tweede regel
- Controleer als er een verjaardag of een andere speciale dag?
- Ja, de #1 cap sensor draad was geraakt
- Dingen over persoon 1 berekenen en weergeven van hen voor een paar seconden
- Ja, de #2-sensor heeft geraakt
- Berekenen en weergeven van dingen over persoon 2
- Ja, beide kappen 1 en 2 zijn geraakt!
- Berekenen en weergeven van informatie over hoe lang het echtpaar samen zijn geweest.
- Neen = weergeven tijd op de bovenste regel
(Nu we zoeken GLB raakt die gerelateerd zijn aan tijdwaarneming)
- Ja zijn caps 3 & 7 geraakt; verhuizing uur vooruit 1
- Ja caps 3 & 8; verplaatsen uur terug 1
- Ja caps 4 & 7; verplaatsen van minuten vooruit 1
- Ja caps 4 & 8; verplaatsen minuten terug 1
- Ja caps 5 & 7; Zet maanden vooruit 1
- Ja caps 5 & 8; verplaatsen maanden terug 1
- Ja caps 6 & 7; verhuizing dagen vooruit 1
- Ja caps 6 & 8; verplaatsen dagen terug 1
- Ja caps 5,6 & 7; zet jaar vooruit 1
- Ja caps 5,6 & 8; verplaatsen jaar terug 1
- Ja maar de hand zijn niet beschreven; niets doen en verder gaan.
Ten slotte controleren als de knoppen op de achterzijde voor kleur zijn verplaatst - zo ja, de kleur van het LCD-scherm veranderen.
Loop vervolgens terug naar het begin van het programma.