Muziek afspelen van de wekker (13 / 24 stap)

Stap 13: DS1307 Real timerklok IC


De DS1307 is een klassieke hoofdbestanddeel van DIY klokken.

http://www.Maxim-IC.com/Datasheet/index.MVP/id/2688
Lees het gegevensblad, bevat het de opdrachten voor de chip en andere details. Moet u weet dat dit spul als je kijkt naar mijn broncode zodat u weet wat er gaande is.

Wat doet het? Zij sporen tijd, zodat uw microcontroller niet te hoeft zijn. Het zal zelfs het bijhouden van tijd met behulp van een knoopcelbatterij geplaatst, terwijl de belangrijkste stroom uitgeschakeld is, dus je krijgt niet dat classic 12:00 uur knipperen dat gebeurt er met oude wekkers als de stroom uitvalt. Oh en het de datum te worden bijgehouden.

Merk op dat er veel betere alternatieven voor de DS1307 vandaag met betere eigenschappen, echter, vond ik deze chip in mijn collectie van oneven getallen, dus ik ga om het te gebruiken.

Deze chip moet de volgende dingen eromheen: een horloge kristal, een batterij back-up (3V-cel van lithiummagnesiumoxide uit de dollar winkel zal laatste 9 jaar), een voeding en een ontkoppeling van de condensator.

De microcontroller zal communiceren aan de DS1307 via een I2C (inter geïntegreerde circuit) bus. De I2C-bus is ook bekend als TWI (twee wire interface, het maakt slechts gebruik van twee draden). Het is bedoeld voor communicatie tussen meerdere geïntegreerde schakelingen. Zie bijlage D voor meer informatie over de I2C en TWI.

Wat we moeten doen met de DS1307 is eenvoudig, we moeten alleen de tijd en de tijd lezen.

De DS1307 houdt de gegevens in verschillende registers. Verwijzen naar het gegevensblad, tabel 2, bladzijde 8. Het toont de gegevens worden opgeslagen in binary coded decimale notatie, die onze broncode zal coderen en te decoderen. We zullen deze registers schrijven, wanneer we de tijd instellen en lezen uit de dezelfde registers op te halen van de tijd.

Een goede beschrijving van de I2C-bus wordt gegeven op pagina 10 van het gegevensblad. Het gedeelte van het AC-elektrische karakteristieken van het gegevensblad vermeldt dat onze I2C-bus moet uitvoeren op 100 KHz of lager (dit is configureerbaar binnen onze broncode), houd hier rekening mee. Het adres van de DS1307 is 1101000, onthoud dat ook.

Wij willen bijvoorbeeld, stelt u de seconden, zodat het register 0x00 is. Wij verzenden eerst via I2C
0b11010000
Dit behandelt de DS1307, en zegt dat we willen schrijven
dan sturen we
0x00
om aan te geven van het register 0x00
dan sturen we het nummer we wilt instellen, gecodeerd in binary coded decimale notatie

Dan, als we willen lezen terug de seconden, het register is weer, 0x00, sturen wij eerst
0b11010000
Merk op dat dit het adres is, maar we nog steeds opgeven zijn dat we willen schrijven
Waarom opgeven "schrijven" wanneer we willen lezen? Want we hebben de DS1307 niet verteld waar we willen om te lezen van (het opzetten van het register adres binnen de DS1307). Dus sturen wij
0x00
dan beëindigen wij de gegevensoverdracht
Vervolgens sturen
0b11010001
nu zijn we aanpak van de DS1307 en geven dat we willen lezen
vervolgens rijden we de klok terug de om gegevens te lezen, die de DS1307 op de data lijn voor ons. We kunnen vervolgens de gegevens uit de binary coded decimale notatie decoderen.

Het is belangrijk te begrijpen dat omdat we van onze AVR ingebouwde TWI-module voor I2C communicatie gebruiken, het weet om automatisch de SDA lijn wanneer we aangeven "lezen" in de eerste byte die we sturen. De hardware en de software (we zijn met behulp van "twi.c" uit "Wire" bibliotheek voor de Arduino). ALLES is geautomatiseerd, zelfs de bevestigingen.

Voor onze doeleinden, zullen we worden lezen en schrijven alle van de instellingen voor tijd in één keer, voor de efficiëntie. De details van hoe dit werkt is in het gegevensblad. Je kunt ook mijn broncode later zien. Het idee is hetzelfde voor één registers, maar wij herhaaldelijk lezen/schrijven zonder te beëindigen van de overdracht. Ziet u hoe dit werkt door middel van het gegevensblad, mijn broncode en mijn logic analyzer golfvormen.

Bijgevoegd is een demonstratie van een eenvoudig programma dat stelt de tijd en geeft de tijd op uw LCD-scherm. Zij zal aantonen met behulp van de TWI bus één/meerdere byte lezen/schrijven bewerkingen (Bekijk de golfvormen die ik heb verstrekt) uit te voeren.

De DS1307 eerst aan je schakeling volgens mijn diagram toevoegen. Een hogere resolutiebeeld is binnen de. ZIP-pakket. Het belangrijke punt is dat de DS1307 5V moet, en we modified de Teensy ++ te lopen op 3,3 v, het diagram toont u waar u 5V van de Teensy ++.

Hier moet u het LCD-scherm nog steeds aangesloten als u wilt zien van de werking van de klok. De seriële terminal zal nog tonen dat u debug berichten.

Ik heb de logic analyzer golfvormen opgenomen zodat u duidelijk zien wat I2C eruit ziet kunt, het gegevensblad van de DS1307 toont ook soortgelijke golfvormen, bestuderen de golfvormen samen terwijl ook het onderzoek van de gegevens die worden uitgewisseld (zoals welke opdracht wordt verzonden, wat was het antwoord), probeer overeenkomen met de gebeurtenissen op de punten in de broncode weergeven.

Gerelateerde Artikelen

Afspelen van muziek met Arduino, de gemakkelijke manier

Afspelen van muziek met Arduino, de gemakkelijke manier

Er zijn al manieren om te verdienen een Arduino muziek afspelen met een zoemer, en ze werken prima. Echter u moet schrijven van elke song of geluidseffect in C en de fijnafstelling veel tijd kan duren.Dus als u veel muziek voor een project maken, zeg
Afspelen van muziek met uw Intel Edison

Afspelen van muziek met uw Intel Edison

Wie houdt van muziek? Ik wed dat degenen die doen vindt dit Instructable interessant en leuk om te doen. Er zijn zo veel single-board computers die we allemaal hebben en liefde met inbegrip van de Raspberry Pi, Beaglebone en nu de Intel Edison. Deze
Afspelen van de audio van SD-kaart met Arduino

Afspelen van de audio van SD-kaart met Arduino

Afspelen van audio bestanden van SD-kaart zal vertellen. Zonder gebruik te maken van een willekeurige module speelt MP3-audiobestanden alleen met SD-kaartlezer.Stap 1: materialen:Materialen:ArduinoSD kaart moduleLuidsprekerSD-kaart en de adapterStap
RFI-DJ: MP3 afspelen van RFID ding

RFI-DJ: MP3 afspelen van RFID ding

de RFI-DJ is een USB-apparaat voor het afspelen van MP3-bestanden van uw computer. Heb je een set van RFID kaarten, elke één met de naam van een liedje geschreven. U kiest een kaart en plaats deze op de RFI-DJ, en uw computer zal spelen dat liedje. H
Afspelen van geluid met de Intel Edison en Arduino met behulp van een Bluetooth-luidspreker

Afspelen van geluid met de Intel Edison en Arduino met behulp van een Bluetooth-luidspreker

Dit is een korte introductie over hoe te spelen geluiden via de Intel Edison board als met behulp van Arduino als een programmeeromgeving.Sinds de Arduino board voor Intel Edison niet elk geluid capbabilities hoeft, we gebruiken een goedkope bluetoot
Muziek rippen van YouTube met gemak

Muziek rippen van YouTube met gemak

heb je ooit een stukje achtergrondmuziek die wordt afgespeeld op YouTube video's en probeerde om het te downloaden als audio bestanden voor andere toepassingen gevonden?YouTube is een grote website en updates op basis van gebruikers of artists muziek
Hoe om muziek opnemen van microfoon

Hoe om muziek opnemen van microfoon

weliswaar zijn er een heleboel goede recorders die kan worden geserveerd als een hulpmiddel om muziek opnemen uit internet bron, ik heb geconcentreerd op hoe om muziek opnemen van microfoon.Ik bedoel hoe we vrienden prestaties nummers of gewoon onsze
Hoe muziek rippen van Last.fm

Hoe muziek rippen van Last.fm

Last.fm website is krachtig voor het hosten van's werelds grootste muziek catalogi en high speed service bijwerken. Wanneer u naar radio station of muziek kanaal op haar website via muziekspeler of insteekapparaat luistert, kunt zijn bevelen systeem
Hoe muziek rippen van FLV-video

Hoe muziek rippen van FLV-video

FLV, waardoor flash-video, is een zeer populaire media-indeling voor consistente overdracht van video op de meeste video-sharing sites zoals YouTube, enzovoort. Terwijl u stream video van hoge kwaliteit in FLV op het internet of via Adobe flash-spele
Muziek afspelen door reageerbuis (muziek waterorgel)

Muziek afspelen door reageerbuis (muziek waterorgel)

1. gewenste 6 reageerbuis.2. u moet een marker.Stap 1: Duiden reageerbuis 2. duiden de reageerbuis en zet water in hen, zowel foto.Stap 2: Muziek notities Er zijn C - B notities (Do - Re - Me - Fa - Sol - La - Si)Stap 3: Vul ze uit het water en spele
Mod je 4.0 Wii voor het afspelen van ups, homebrew installeren en laden vanuit usb, allemaal zonder een mod chip!

Mod je 4.0 Wii voor het afspelen van ups, homebrew installeren en laden vanuit usb, allemaal zonder een mod chip!

Zodat u een upgrade hebt uitgevoerd naar 4.0 alvorens de homebrew channel te installeren?Geprobeerd de twilight hack, maar het is mislukt? Ja werd dat exploiteren opgelost in 4.0Deze handleiding kunt u installeren van homebrew-kanaal en downgraden na
De ultieme mediaspeler te krijgen voor gratis (especialy goed voor het afspelen van alle formaten van anime)

De ultieme mediaspeler te krijgen voor gratis (especialy goed voor het afspelen van alle formaten van anime)

In dit instructable leert u het gemakkelijk verkrijgen van een media-speler die is geoptimaliseerd voor het afspelen van alle formaten van video.Stap 1: steeds de mediaplayer. De gewenste mediaplayer classic is mediaspeler deze MediaPlayer is gemakke
Muziek opnemen van YouTube

Muziek opnemen van YouTube

Eerlijk gezegd, ben ik een eerlijke fan van muziek. Bent u ook vergelijkbaar met mij, ik denk dat u vertrekt altijd tijd om te luisteren naar muziek en online video's bekijken op YouTube. Dit is nog niet voldoende; Soms wilt u misschien om te geniete
Hoe voor het afspelen van Blu-Ray film-schijven op een Mac

Hoe voor het afspelen van Blu-Ray film-schijven op een Mac

OS / X voor Mac heeft geen native ondersteuning voor het afspelen van de film van productie Blu-Ray -schijven. Wat we hier hebben worden enkele "creatieve" oplossingen als u een externe Blu-Ray-schijf voor uw Mac hebt en u wilt de mogelijkheid n