Förvandla ett 1970-flipperspel till en atom synkroniserad väckarklocka med hjälp av en gps och en arduino (6 / 6 steg)
Steg 6: Kör klockan
Nu när det allt är alla trådbunden upp ladda den bifogade skissen till Arduino och slå på flipperspelet och slå på då PC strömförsörjningen. Om allt är som det ska vara flipperspelet stängs lyser upp fint när du driva upp sedan några sekunder efter skissen börjar köras på Arduino.
Ställ in alarmet på denna punkt se för den röda ledde till flash två gånger, paus och sedan två gånger mer sedan Tryck på knappen Välj. Spelet kommer att driva upp, lägga till en kredit och sedan återställa till 0, när den lägga rätt cykeln är komplett Arduino blinkar för att indikera det är redo att ställa in timmen. Varje tryck på knappen förskott ökar poängen med 1000 poäng (en timme). När timmen är korrekt trycker du på knappen Välj. Arduinoen blinkar. När de blinkande hållplatserna trycker på knappen advance, kommer att varje tryck föra de poäng av 10 (varje 10 är en minut). Tryck på Välj när du är klar.
För att ändra avstängning tid tryck select en gång mer. Spelet kommer att lägga till en kredit, lägga till 1000 (en timme) i tiden på en spelardisplayen, sparka bollen och Arduino blinkar som tidigare. Observera att vid tidsinställning avstängning alarmtiden som du ställer in det, inte en timme senare. Detta är ett resultat av 1000 poäng bonus läggs till poängen innan det sparkar bollen för spelare två.
Tryck på förväg att ändra timmarna och när de läser du vill. Arduinoen blinkar, tryck för att ställa in minuterna och tryck på select när du är klar.
Du har ca 20 sekunder, plus om en andra mer för varje gång du trycker på en knapp, för att få detta gjort. Om när som helst stoppa du bara trycka på knapparna kommer spelet så småningom tiden ut och ställa in saker som du lämnade dem. dvs om du alarmet bara tid timmar det lämnar minuterna som 0 och lämna den avstängning tid som det var innan.
Om du inte vill göra några ändringar till larm eller avstängning tid - bara aktivera spelet och Arduino. Efter ca 20 sekunder av väntar på att se om du hade förändringar för att göra Arduino kommer att börja lyssna för en tidskod från GPS. Det kan ta ett par minuter ibland för GPS att synka upp fint. När GPS har fast på en signal Arduino/flipperspel kommer att kontrollera om den aktuella tiden är mellan alarmtiden och avstängning. Om det är under de vakna timmarna maskinen slås på, återställa och när kommer att poängen lyda som följer:
Spelare 1 - aktuell tid i en 12-timmarsformat
Spelare 2 - innevarande år
Spelare 3 - Alarm tid (24-timmarsformat)
Spelare 4 - nuvarande månad/dag
Om den aktuella tiden ut sidan av dessa timmar, kommer att maskinen vänta tills larmtiden och sedan återställa som ovan.
När avstängning tid kommer kommer att spelet vänta till slutet av den minut som avstängning var planerad och sedan stänga.
I slutet av varje timme kärnan kommer att avancera från: 59 00 genom att lägga till 410 pekar i stället för bara 10
vid midnatt, 1 am och 1 pm (om dessa tider omfattas dina inställningar för att vakna timmar) maskinen återställs och avancera poängen så att 12-timmarsformat och datum är korrekta.
Tweeked skissa lite, visar sig jag kunde inte ställa ett alarmtid 00: xx så det nu låter dig - men visas som 24:xx. Också lägga en del kommentarer till textversionen av skiss - men jag tvivlar på att det kommer att hjälpa följa min tankeprocess.
tid för vissa mer tweeks - två jättarna faktiskt - visar sig att du inte kan visa 01000 (1 am eller pm 1) på en Bally pinball används som jag använder den. 1010 poäng är den lägsta poängen efter bollen avancerar till nästa spelare. Om du inte poäng 10 maskinen inte kommer att avancera till den andra spelaren - så året kommer att läggas till den tid poängen och saker går bara fel därifrån. Jag kommer fixa detta genom att ha spelet "resten" tills 1:01 sedan fortsätta. Kl 1 kommer det alltså en minuts paus.
Det som verkligen har mig upprörd idag - det aldrig justerat för sommartid. Att räkna att en ut och har återkommer till dig...
Hoppas ni gillar det, det var en rolig bygga.