Maak een nauwkeurige Arduino Klok met behulp van slechts één draad - geen externe hardware nodig!


Hoe te maken van een Arduino Klok - zonder externe oscillatoren of klok chips:

(meer van mijn projecten op onze website onderzoek - Klik arduino logo boven aan de introductiepagina)

U moet:

Een Arduino board (zowat elke smaak zal prima werken) en software
1 LED
1 jumper Wire

(Bedrading voorbeeld bijgewerkt onder...)

Ik ben een elektrotechnisch ingenieur van 20 + jaar en net een paar maanden geleden ontdekt de Arduino-platform.  Onnodig te zeggen ik viel in liefde met haar en ben nu verslaafd aan projecten.  Ik wilde voor de kerst dit jaar, maken sommige zeer oprechte, one-of-a-kind cadeaus voor mijn ouders.  Voor mijn moeder, het was zeker een ' één-van ' klok ontwerp.  Ik was niet betrokken met het bijhouden van de tijd van daglichtbesparingen of schrikkeljaren - de dag van de week en tijd gewoon nauwkeurig te houden.

Hoe te genereren van de pulsen van de klok op een unieke maar nauwkeurige wijze al?  Zeker ik een fancy ingesloten klok IC of de gemeenschappelijke 32.768 kristal oscillator kon gebruiken, maar ik wilde iets anders dan de rest.  Ik begon met behulp van een 555 timer voor de uitvoer van een gestage blokgolf van 100Hz.  Dit werkte vrij goed, maar ik verloor ongeveer 1 seconde per uur.  Geen probleem - ik schreef een algoritme om te corrigeren de ontbrekende tweede in software.  Ik was blij.  Toen ontdekte ik dat hoewel de interne timer van de Arduino voor tijdwaarneming niet helemaal betrouwbaar was, de analoge PWM-uitgangen een zeer stabiele blokgolf van 490Hz hebben.  De taakcyclus is bepaald door de waarde geschreven naar de analoge pin.  (i.e. - 0 is nul volt, 127 is een 50% duty cycle, 255 is een logica hoge/5V).

Ik besloot om te proberen de PWM analoge uitgang aangesloten rechtstreeks op de interrupt pin 2 en op gehanteerd tof!  Plus tred het gehouden perfect met mijn computer's real-time klok tot op de seconde zonder noodzaak voor compensatie van de software.  I been loopt deze dagen nu en het blijft uitvoeren, net zoals ik had gehoopt... allemaal met één draad en wat code.

De afgewerkte gift zal aangepaste PCB's Eagle CAD voor de voeding en logica, gehuisvest in een plexiglas behuizing hebben.  Het hele thema is ijs blauw LED-verlichting om te simuleren van een analoge klok.  Hoewel de behuizing een wit op blauw LCD weergave van de dag, tijd en kamertemperatuur heeft, verbindt een seriële kabel van het project aan de werkelijke klok.  Met behulp van een 12 bit decennium teller, een servo, en veel van blauwe LED's ben ik het juiste uur segmenten op een analoge klok met douane-ontworpen gedrukt op Plexiglas gezicht verlichting.  De servo is gemonteerd in het midden van de wijzerplaat en heeft een bijlage met een LED-armatuur gemonteerd om het licht van de notulen achter het glas.  (elke minuut de servo verandert 6 graden, verlichting van de juiste minuut).  Ik hoop dat het binnenkort afgerond en een video van het uiteindelijke product zal maken... Ik hoop dat ze houdt van het!

Eenvoudige Arduino bedrading diagram en demo code te maken van uw eigen klok met behulp van deze methode.  Ook een link naar Circuit Lab aan te tonen het gebruik van de 555 timer @ 100Hz methode als je daarvoor kiezen.

Code en links hieronder...

555 timer Oscillator Circuit (als je wilt om te proberen deze methode)
https://www.circuitlab.com/circuit/b575r9/555-100hz-oscillator/

Klok manifestatiecode:

/ * Eenvoudige interne klok demo: door Joseph Unik aka Relic1974
Maakt gebruik van analoge PWM-uitgang van 490Hz met een taakcyclus van 50% om te
houden van zeer nauwkeurige tijd;).  Een LED verbinden met pin 13
Bekijk seconden knipperen.  Verbinding maken met een jumper van analoge pin 0
naar digitale Pin 2 (interrupt 0). Minuten output naar seriële
monitor.  http://www.planetxresearch.com 'Arduino' logo
voor projecten en trucs...


(Voel je vrij om het gebruik van deze code uit te breiden in een volledig-functionele
klok of ander project onder Creative Commons ;)
*/

int clockInt = 0;            digitale pen 2 is nu interrupt 0
int masterClock = 0;         graven stijgende rand klok signalen
int seconden = 0;             variabele
int minuten = 0;             variabele
int ledPin = 13;

VOID Setup
{
attachInterrupt (clockInt, clockCounter, stijgt);
clockInt is onze interrupt, clockCounter functie wordt aangeroepen wanneer
beroep gedaan op een stijgende klok-rand
analogReference(DEFAULT);
pinMode (ledPin, OUTPUT);
Serial.begin(57600);
analogWrite (0, 127);   Dit begint onze PWM 'klok' met een taakcyclus van 50%
}

VOID clockCounter() / / genaamd door interrupt
{
masterClock ++;        met de opkomst van elke klok er 1 bij optellen om masterclock graaf
if(masterClock == 489) / / 490 Hz bereikt
{
seconden ++;          na één cyclus van 490Hz toevoegen 1 seconde ;)
masterClock = 0;     Reset na 1 seconde is bereikt
Toon (13, 100, 500);  met behulp van Toon te pulse geleid zonder vertraging oproep ;)
}
terugkeer;
}

void loop
{
if(seconds == 60) / / nu steeds REAL TIME houden
{
minuten ++;          Increment autominuten-1
seconden = 0;         Reset de variabele seconden
Serial.Print ("minuten =");
Serial.println(minutes);
}
}

Demo van mijn project in de werken hier

Gerelateerde Artikelen

Arduino Klok met behulp van de standaardweergave van de klok

Arduino Klok met behulp van de standaardweergave van de klok

dit is een relatief eenvoudige klok te bouwen, in termen van de hardware vereist en in termen van het aansluiten van alle kabels. De complexiteit ligt in de software, die ik heb gemakshalve die deel uitmaken van dit instructable :)Dit instructable zi
Maak een Candy Bowl Robot (met behulp van een joystick)

Maak een Candy Bowl Robot (met behulp van een joystick)

ik weet niet wat er mis is met mijn Colombiaanse koffie snoepjes. Ik bracht een tas uit mijn land, en niemand wilde eten. In het kantoor zeiden dat ze zijn voorzichtig met de snoepjes, omdat ze gewend zijn gekke en vreemde snoepjes projecten kunnen b
Maak een prachtige sieraden schotel met behulp van Air droge klei

Maak een prachtige sieraden schotel met behulp van Air droge klei

Ik hou van het werken met polymeerklei. Als DIYing mijn full-time is, spelen met klei is mijn hobby en soms ook post ik DIYs met klei in mijn blog. Hier clay ik bedoel polymeerklei. Ik ook graag uitproberen van nieuwe producten en technieken, en dus
Maak een baby Samus Aran met behulp van plastic afval (speciale gasten: The Caicedo-Langer familie!)

Maak een baby Samus Aran met behulp van plastic afval (speciale gasten: The Caicedo-Langer familie!)

Mijn familie heeft een traditie: niemand gooit niets naar de vuilnisbak voordat ik besluit dat als ik het gebruiken kon voor het bouwen van spullen. Dus, dankzij mijn moeder, mijn stiefvader, mijn broer, mijn ooms en neven, heb ik een workshop vol...
Maak een mooie ijs lantaarn met behulp van een emmer

Maak een mooie ijs lantaarn met behulp van een emmer

voor de feestdagen mijn ouders in Noorwegen altijd graag versieren hun huis en tuin met verlichting. Niet verrassend de meeste van hen zijn elektrische, maar op speciale occations maakt mijn vader ook ijs lantaarns met kaarsen binnen. Het is een eenv
Maak een 3D aangepast behang met behulp van vrije software

Maak een 3D aangepast behang met behulp van vrije software

De nieuwste remedie voor uw verloren telefoon is eindelijk hier! (in 3d)Hallo iedereen! We zijn het creëren van een 3D-aangepaste behang.Hoezo een gepersonaliseerde behang?Ik vergeet altijd mijn telefoon op school (stom-_-), maar bedankt voor mijn ge
Maak een SL9 Assualt geweer met behulp van K'nex

Maak een SL9 Assualt geweer met behulp van K'nex

Hallo k'nex pistool Gemeenschap. Ik heb geprobeerd veel kanonnen uit zoals ipod killer's sniper rifle, Kilerk het pistool en faust van AST geweer. Ik nam een heleboel ideeën uit die geweren en gecombineerd in één te maken. De trigger is nog steeds ge
Hoe maak je een overleving paracord gordel met behulp van slechts twee koorden!

Hoe maak je een overleving paracord gordel met behulp van slechts twee koorden!

ik zag bij een winkel online leger een echt geweldig paracord gordel.  Het verpakt in 125-200 feet van paracord.  Nou mij zoveel paracord niet pak, maar het ziet er bijna hetzelfde uit!Deze versie is erg glad.  Het gaat via de riem lussen zeer easly
Rijden van een webpagina in realtime met behulp van de Arduino, SensorMonkey en Processing.js

Rijden van een webpagina in realtime met behulp van de Arduino, SensorMonkey en Processing.js

externe visualisatie van real-time sensorgegevens.Deze tutorial beschrijft in detail hoe u met de gratis SensorMonkey -service push realtime sensor data van een Arduino naar een webpagina voor visualisatie met behulp van Processing.js. Geen server-si
Hoe maak je een enkele LED knipperen met behulp van een Arduino Uno Board

Hoe maak je een enkele LED knipperen met behulp van een Arduino Uno Board

Vandaag, we zullen worden ter illustratie van hoe maak je een enkele LED knipperen met behulp van een Arduino Uno-board. Door elke stap te volgen, zal je dit doel bereiken.U zal het volgende nodig:Een Arduino BoardBrood bordUSB-connectorkabelEEN LED3
Steampunk ESP8266 Internet verbonden klok met behulp van de Arduino IDE

Steampunk ESP8266 Internet verbonden klok met behulp van de Arduino IDE

Wat u krijgt wanneer een ring NeoPixel, een goedkope Arduino Wifi aan boord en een laser cutter in een stoom-Punk-Sedan lopen?Een modieuze Steampunk ontworpen Internet verbonden klok met behulp van de ESP8266 chip en de Arduino IDE natuurlijk!Hier is
Hoe maak je brand met behulp van slechts een batterij en staalwol

Hoe maak je brand met behulp van slechts een batterij en staalwol

leren hoe te maken brand met behulp van slechts een batterij en staalwol.Het is zeer gemakkelijk te doen. Gewoon kopen een 9 volt batterij en sommige staalwol (hoe fijner hoe beter) en wrijf de batterij op de wol. De wol zal onmiddellijk beginnen te
Hoe maak je een papier Lady Bug met behulp van papier Art filigraan

Hoe maak je een papier Lady Bug met behulp van papier Art filigraan

Filigraan Made Easy: In deze tutorial leert u hoe maak je een leuke dame bug met behulp van filigraan techniek in slechts enkele stappen. Laten we beginnen.Nou ik hoop dat je genoten hebt van dit ambacht en zo ja, vergeet dan niet om te delen, commen
Hoe maak je brand met behulp van slechts een batterij

Hoe maak je brand met behulp van slechts een batterij

leren hoe je brand met behulp van slechts een batterij en staalwol.Het is zeer gemakkelijk te doen. Gewoon kopen een 9 volt batterij en sommige staalwol (hoe fijner hoe beter) en wrijf de batterij op de wol. De wol zal onmiddellijk beginnen te vonk.