Göra en Atom synkroniserad klocka från en 1950-slav ringa (4 / 6 steg)

Steg 4: Skriva kod att köra klocka

Klockan koden kan delas upp i två delar. koden som kommer att öka klockan till en viss tidpunkt, och den kod som blir aktuell tid utgör internet.

Klockan advance koden har några särskilda överväganden:

  • Måste till för tiden i 30-sekundersintervall.
  • Om den visade tiden bakom, ska förskottet köras snabbare tills det fångas.
  • Om den visade tiden ligger långt efter, och det går snabbare att bara vänta på tid att fånga upp snarare än att försöka få klockdisplay fångas upp, bör sedan klockan helt enkelt vänta.
  • Klockan matematik har för att kunna hantera middagstid/midnatt, där tiden effektivt löper runt noll.
  • Klockan ska hålla reda på positionen för händerna, så att detta inte behöver återställas om strömmen försvinner.
  • Det måste finnas en mekanism för att först definiera positionen för händerna, så att programmet kan flytta dem därför.

Huvudloop ansökan håller kontrollera om den aktuella tidpunkten är mer än 30 sekunder före den visade tiden. Om det är, då en rörelse som förskott startas och den nya visade tiden registreras i Arduinoen EEPROM. Ett förskott anger inledningsvis spole enhet pin hög. En andra del av koden från huvudloop kontrollerar om perioden spole puls längd har nått, och så ange PIN-koden låg igen. Koden kommer inte prova och utföra en annan puls för en viss tid. Jag slutade med en spole på tiden av 150ms och minst off tid för 850ms, men detta kan behöva justeras beroende på din klocka rörelse.

Koden som lagrar tiden i EEPROM använder några knep att få så mycket liv av Arduino s EEPROM som möjligt. Varje bit av EEPROM har ett begränsat antal skriva cykler innan det kommer att misslyckas. Om du vill sträcka ut det här, använde jag en bit för varje 30-sekunders intervall att klockan kan visa (totalt 1440 möjliga positioner). Det använder 180 byte av EEPROM för att lagra detta. Vid midnatt och klockan tolv rensas matrisen till alla nollor. Sedan efter första 30 andra anges intervallet den första biten. På 1 minut ligger lite andra och så vidare tills jus innan midnatt eller middagstid alla bitarna i matrisen anges. Varje bit är därför skriven endast 4 gånger om dagen. Det borde ge en livslängd över 15 år (förmodligen mycket längre).

När klockan är påslagen, läses visas senast tillbaka från EEPROM.

Justera den visade tiden sker via en enkel webbsida som klockan fungerar. Detta var också användbart under felsökning.

Se Steg
Relaterade Ämnen

Förvandla ett 1970-flipperspel till en atom synkroniserad väckarklocka med hjälp av en gps och en arduino

En av de vanliga problem som pinball samlare är om att sätta nästa. Tanken kom till mig en dag - Tänk om jag kunde re-syfte flipperspelet? Jag kan då ersätta en befintlig apparat med pin och mitt problem skulle kunna lösas. Med detta i åtanke konvert...

Arduino ledar-LCD-klocka

Denna klocka är utformad som en fristående klocka eller som en ledar-tar tid att driva slav-tar tid och är bärbar med batteribackup. Se klockans hemsida för ytterligare detaljer LCD klocka hem huvudsidaUppdatering - automatisk sommar advance och vint...

Enkla Arduino trådlösa Mesh

Bygga en låg kostnad enkla trådlösa mesh med arduinos och lång räckvidd APC220 radiomoduler. Trådlösa mesh-nätverk kan hantera enskilda noder inte fungerar och är toleranta till miljöer som skogar och kullar där data inte kanske gå direkt från en pun...

ATTiny USI I2C inledning - en kraftfull, snabb och bekväm kommunikationsgränssnitt för ATTiny projekt!

I2C, det är en standard som har funnits i runt 20 år och har hittat användningsområden i nästan varje hörn av elektronik universum. Det är en otroligt användbar teknik för oss microcontroller hobby men kan verka skrämmande för nya användare. Denna ha...

Någon kopp Sparkleball

Den ursprungliga Sparkleball-- och lättast att göra--kräver en 9 oz Solo-stil plastmugg. Men någon kopp kan göra en sparkleball, med lite futzing och tålamod.Steg 1: Borra hål och gör Ring 1 Först borra hål i botten av din Cup. Jag använder en 1/2" s...

Extern enhetskontroll (dvs. kaffemaskin).

Obs: prova någon eller alla av dessa på egen risk. Jag kommer inte att ansvara för eventuella frågor. Få professionell att hjälpa om du är osäker.Konceptet är att vi tar en kontrollerande spänning från datorn eller en mikro-controller, som driver en...

Lägga till Bluetooth 4.0 till din Arduino projekt [IoT] - kontrolleras av Smartphone

Vi är grupp av internet saker entusiaster som älskar hacka ihop olika enheter. Kolla in vårt nuvarande projekt på vår hemsida och ta en titt på denna guide i ett annat format på vår blogg.Steg 1: IntroduktionArduino är en cool plattform eftersom du e...

PICAXE - kontrollera modulen ISD1760 Voice Recorder med SPI (Serial perifera Interface)

Detta projekt använder SPI (3-tråds buss) och ett PICAXE 20 X 2 microcontroller att styra sekventiell uppspelning av meddelanden registreras på en ISD1760 röst inspelning modul. Detta är lite knepigt och krävs lite av SPI buss lite smällar för att få...

INTRO till ARDUINO UNO-R3

Hej killar, du vet vad en arduino ombord är. Men som nybörjare (eller) en nybörjare kan du möta en svårighet i att välja rätt styrelsen från det breda utbudet av styrelser i Arduino familj.För dig föreslå jag starkt Arduino UNO – R3 att komma igång m...

Hemmet gjorde molekylär modell Kit

Eleverna av organisk kemi har ett löpande behov av en omfattande molekylära modell kit i hela deras high school och universitetsstudier. Det finns många olika typer och fabrikat av kit kommersiellt, men oftast de är antingen alltför begränsade i spän...

Gör en noggrann retro digital klocka!

För ett tag sedan CASIO började tillverka en av deras tidiga digitala klockor. Jag köpte en av dem och gillar den väldigt mycket. Min 3-åriga dotter också... För att göra henne lycklig beslutat jag att brodera en replika av klockan.Efter en diskussio...

Hur man gör en Dali stil smältande klocka

jag inte lyssnar på någon av mina gamla skivor, men jag gillar verkligen att ha dem runt. Lyckligtvis gör nog, så mina vänner. En annan sak vi har gemensamt är en uppskattning av att veta vilken tid det är. Jag har varit strul med poster och har löst...

"OK att vakna" klocka för ditt barn

3 AM 45, min son är glad och vaken. Det är dags att börja sin morgonrutin. Han ropar för vissa bröd med Nutella och vill gå ner för att spela.3 AM 46 Jag får en punch från min fru, som jag har att gå ur sängen och övertyga honom om att det fortfarand...

Arduino Nixie GPS klocka

I detta projekt vill jag dela med mig av min bygga av en Nixie rör klocka som drivs av en Arduino UNO. För att tiden så exakt som möjligt har jag använt en GPS-modul av Adafruit att ta emot den atom-tiden av satelliter Susa runt ovan.Se bilder och vi...

Pong klocka med fallet

Denna klocka använder det klassiska spelet Pong för att tala om tid.2 spelare automatiskt vinna och förlora så deras poäng visar timmar och minuter.Detta är MrNick1234567 Pong klocka design och detta Instructable visar hur passar det in i ett fall oc...

Gör din vanliga klocka till ett atomur

är din väggklocka långsam, snabb eller av genom en timme eftersom sommartid uppstod?Göra din klocka Atomic med denna lätt byte för $18 levereras klockit.comTiden tas emot från Colorado atomur och justerar klockan upp till 5 gånger per dag.När sommart...

K'nex klocka [mycket realistisk]

Hej Didexo här, jag ville göra något annat än en pistol att sätta lite variation i mina verk. Så, innan du är idag en K'nex klocka som jag byggt. Men denna klocka är inte din vanliga K'nex klocka. Denna klocka berättar minuter och timmar på samma axe...

Nätverket seriekörning klocka för Arduino

Här är ett exempel hur man bygger Arduino klocka som är synkroniserad med tiden av viss HTTP server i nätet. Min plan var att bygga enklaste möjliga internet seriekörning klocka. Jag bestämde mig att synkronisera min Arduino klocka med min trådlösa r...

12 tim binär klocka, timmar och minuter bara, DS1307 RTC, i2C, Arduino-Nano

Ett tag nu har jag velat göra en binär klocka, men efter att ha tittat jag bestämde mig något bara lite annorlunda. Så jag beslöt att endast visar timmar och minuter och endast visa en 12 timmars klocka, innebär detta du bara behöver 3 kolumner och m...