I din egen tid! (6 / 11 steg)

Steg 6: Grundläggande skript



Skriptet är där komplexiteten kommer in.

Normal klocka indikation:


Skriptet kan delas in i några huvuddelar:
1. prata med modulen timer, med hjälp av protokoll som I2C
2. tala till displayen
3. samverkan, ställa in timmar, minuter, dagar i månaden
4. tillägg, som en LDR att reglera ljusstyrkan, kanske en temperaturgivare
5. roliga saker, som mönster och text

1. prata med modulen timer
Protokoll kan hittas på internet.
I skripten har jag använt en protocole för DS1307 och en annan för DS1302. Du kan använda exempelmanus som svarta lådor. Du måste förstå formatet på data kommer ut eller gå in på dessa svarta lådor.
Så använder DS1307 DateTime-format för RTC.lib. För DS1302 har du en struct (C programmering sak) med olika typer av format för samma data.

2. tala till displayen
Jag gjorde en "talande till modulen timer" och överförde data i variabeln DateTime till en array "myNumber". Denna matris användes till att överföra siffrorna två och två till displayen.

så:

DateTime nu = rtc.now();
myNumber [2] = now.hour () / 10;
myNumber [3] = now.hour () % 10.
myNumber [0] = now.day () / 10;
myNumber [1] = now.day () % 10.
myNumber [4] = now.minute () / 10;
myNumber [5] = now.minute() % 10.
myNumber [6] = now.second () / 10;
myNumber [7] = now.second() % 10.

Du ser jag har att separera de transeuropeiska näten och som använder den modulo och division operatörerna.
(För ds1302 jag fick göra samma trick, men med rtc struct.)

Då Använd jag en timer för att få antalet siffror till displayen en efter en, men så snabbt som ögat ser dessa siffror på samma gång:
ställa in timern:

noInterrupts(); Inaktivera alla avbrott
TCCR1A = 0;
TCCR1B = 0;
TCNT1 = 0;
OCR1A = 5; 10 - 200 / / jämför match register 16MHz/256 / 2Hz
TCCR1B | = (1 << WGM12); CTC-läge
TCCR1B | = (1 << CS12); 256 prescaler
TIMSK1 | = (1 << OCIE1A); Aktivera timern jämför avbrott
interrupts(); Aktivera alla avbrott

I rutinen timer överföra jag siffrorna:

ISR(TIMER1_COMPA_vect) / / timer jämföra avbryta tjänsten rutinmässiga {

ledCounter ++; / / räknar från 0 till 7

ledCounter = (ledCounter) %8;
digitalWrite(slaveSelectPin,LOW);

SPI.transfer (1 << (ledCounter));
unsigned char num = myNumber [ledCounter]; //getting matrismedlemmen

letterTransfer(num); med hjälp av kodning och gör överföringen

digitalWrite(slaveSelectPin,HIGH);

}

Se Steg
Relaterade Ämnen

Gör din egen fjärrströmbrytare

de flesta människor vet om standby power (dvs att många elektroniska apparater förbrukar lite ström även när de är avstängda). Ett sätt att eliminera standby makt är för att använda en power bar eller surge protector med en inbyggd switch stänga av a...

Gör din egen Pebble tid laddare

Fick sten, men glömde att köpa en extra laddningskabel för din bil?Din ursprungliga laddningskabeln dog på dig och du behöver en annan kabel omedelbart?Följ dessa enkla steg för att göra en Pebble tid laddare med material som finns runt huset. Du beh...

DIY, BYGGA DIN EGEN DIGITALA BINARY CLOCK!

Detta Instructable visar hur man bygger en digital klocka på enklaste sätt. Du behöver bara några verktyg och lite tid...Steg 1: Introduktion Det finns två sätt att bygga din egen binär klocka.1.-en är till göra din egen PCB. Att lära sig lite av mik...

Hur du grilla din egen kaffe

en av mina favorit hobbies stekheta mitt eget kaffe. I detta instructable, du lär rosta egna kaffe (smakar mycket bättre än någon annan kan du köpa). Jag köpa den gröna från ett företag som heter Legacy kaffe. Du kan beställa den gröna online från Sw...

Bygga din egen dator

varför skulle någon gå ut och köpa en dator från en manufaturer som Dell eller Gateway, när de kunde bygga en mer kraftfull dator för mindre pengar? Svaret, de vet inte hur man bygger den.Detta kanske låter som en komplicerad process, men i alla verk...

10 steg till din egen logotyp i Inkscape (gratis) och använda kreativa marknaden for dummies som mig

HejLedsen för den långa titeln. Jag har några bekännelser också. Först är min ritning och konstruktionsarbeten färdigheter inte ens detsamma av en finger målare. Det andra tjäna jag inte pengar, så jag har alltid att göra saker som kan köpas, inklusi...

Designa din egen 3D Executive schackpjäs

Detta Instructable skapades av följande ledamöter i svenska 10600E, från Purdue University:-Alec Swaim-Michael Luse-Aron kung-Joe ConnellyTid uppskattning: För att slutföra detta projekt, det kommer att ta ca 10-15 minuter att genomföra beroende på d...

Bygga din egen produkt & skydda Your Business idé utan ett Patent

Få din inspiration!Jag lyssnar på människors problem eftersom varje gång jag är förvånad över den inspiration och idéer får du genom detta sätt.Vissa människor klagar på specifika enheter, andra om pris, och ibland finns det ingen enhet att lösa sina...

Bygga din egen elektrisk motorcykel

ÖversiktDet färdiga projektet är en 1981 Kawasaki KZ440, omvandlas till elektriska. Den drivs av fyra Optima gul topp förseglade (AGM) bly-syra batterier, som driver en Briggs & Stratton Etek elmotor. Hastigheten på motorn styrs av en Alltrax varumär...

Bygg din egen elbil!

"Electro-Metro" projektet.Har inte råd en Nissan Leaf? Inga problem!Bygga en billig elbil själv genom att ta bort den bilen motorn, ersätta den med en gaffeltruck motor, och lägga till batterier.Jag har massor av videor om projektet på:http://ww...

Bygga din egen jorden ugn

Vem älskar inte läcker vedeldad ugn pizza? INGEN.Jag hade en dröm om bakgård pizza part kul gånger och började göra en del efterforskningar att göra det dröm verklighet.Först tittade jag på material kostnaden för en tegelugn (spoiler alert: de är all...

Bygga din egen Mobility Rehab handikappade Scooter för mindre än $500

Jag kan visa dig hur du konverterar en rakkniv E300 skoter, föreslår jag att du köpa från Amazon.com bör vara omkring $250, i din egen Rehab handikappade scooter. E300 skoter får du har bara en hastighet. Hög hastighet, eller kusten, inget däremellan...

Bygga din egen ficka SID Audio Player

Låt oss tid reser tillbaka till 80-talet igen genom att skapa din egen Propellerpowered Pocket SID Audio Player.]Den Guinness rekordbok listar Commodore 64 som den bäst säljande datormodellen genom tiderna. C64: an mest övertygande funktioner var det...

Bygga din egen Wifi-radion

Internet är värd massor av online radiostreams, de flesta med ett visst tema, allt från gamla tiden klassiker till tibetansk riverdancing. Jag måste erkänna att jag älskar att lyssna på dem medan jag bygger grejer, så jag kan välja vilken musik jag g...

Hur ska din egen superhjälte

Spider Man? LAMEWolverine? LAMEDuck Avenger? PERFEKTA!Att göra upp din egen superhjälte för Halloween kan vara den perfekta kostym, och kan skräddarsy efter dina egna intressen! Det ger också alla ett bra samtalsämne på frågan "Vem är du?"Steg 1...

Hur till skapa din egen Anime som Dragon Ball Z eller bleka, Etc.

i detta instructable, jag visar dig hur du skapar din egen anime. T.ex. Naruto, bleach etc.Så uppmärksamma och följa mitt exempel! : DSteg 1: Planering För att skapa en framgångsrik anime kommer ni att ha en massa planering gjort, första prissätter a...

Bygg din egen bärbara rostfritt stål fälgar tube - och hela bara väger bara 17 kg!

Jag är en långsiktig homebrewer men jag har alltid gjort enda steg infusion mosar. Jag har alltid velat en fälgar eller HERMS system men jag inte gillar det utrymme ett fullständigt system tar upp och jag har alltid backade på grund av kostnaden. Men...

Odla din egen jordgubbssylt smörgås

Sannolikt dina morföräldrar fortfarande lärde att göra bröd i deras barndom. Det är sällsynt att barn idag kan förklara du hur bröd görs. Utvecklingen inom livsmedelsindustrin har inneburit fördelar för vår lyxiga och frihet. Men är effektivitet och...

Hemma Hydroponics - en handbok om hur att bygga din egen hydroponics system

IntroduktionOrsakerna och effekterna av överbefolkningÖverbefolkning ska inte tas lättvindigt. Den har några fruktansvärda effekter, en av dem är en brist på mat. Våra för närvarande överbefolkad värld orsakas av den industriella revolutionen. Den in...