Muziek afspelen van de wekker (18 / 24 stap)

Stap 18: Softwareontwerp

De broncode van het uiteindelijke project ook vindt u hieronder. Echter het IR commando codebestand leeg is en moet worden ingevuld met behulp van dezelfde gegevens je uit de stap "Vastleggen van IR afstandsbediening Data". Zodra u vult dat in, u moet zitten kundig compile-upload-run het.

De code zal spelen alle bestanden op uw SD-kaart wortel woninggids. De bestanden zullen alfabetisch worden gesorteerd. Mijn broncode heeft een aantal extra functies zoals de weergave volume wanneer het verandert en de huidige bestandsnaam, het lied lengte en de huidige tijd in het liedje. Volg de broncode om te begrijpen hoe elke functie werkt.

De music player zal niet kunnen spelen van muziek terwijl aangesloten op een computer als een USB-apparaat voor massaopslag. Dit is omdat SCSI (herinner ik eerder al noemde?) werkt op blokken van ruwe data op de SD-kaart direct maar de module van de FatFs we gebruikt in de cache opgeslagen gegevens in RAM, dus te veranderen met behulp van USB zal ertoe leiden dat de gegevens door gebruikte FatFs out-van-sync met de echte gegevens.

Hoewel ik wilde gebruiken USB verbinding en disconnect-gebeurtenissen voor het automatisch detecteren al dan niet toestaan van FatFs toegang tot de SD-kaart, ik kan niet vanwege de manier waarop de Teensy ++ is ontworpen. Er zal altijd een spanning op VBUS, waardoor de gebeurtenissen nutteloos. Dus om te schakelen USB toegang, moet u in het menu van de klok om te kunnen gaan.

Er is een timer genaamd de "één schot timer", die een gebeurtenis slechts één keer wordt geactiveerd na een bepaalde hoeveelheid tijd. Dit wordt gebruikt om de huidige tijd tonen op het LCD-scherm na enkele andere ding is weergegeven op het LCD-scherm. Dus als u het volume wijzigen, op zal uiterlijk vertoon van het volume, en na 3 seconden gaat het gaat terug naar de tijd worden weergegeven.

Een andere timer is een timer 0, die is geprogrammeerd om elke seconde een gebeurtenis is gestart, dit houdt spoor van tijd intern zodat we niet hoeven te vaak de DS1307 opvragen. Dit wordt het alarm ook gestart wanneer de tijd komt overeen met.

Ik heb een korte aanhangsel op timers, check it out check.

Al het drukken van de LCD is gedaan met de tekenreeks die is opgeslagen in het flash-geheugen, is dit soort van traag in vergelijking met het gebruik van de RAM. Ik heb de programmeerstroom om te werken alleen het LCD-scherm tijdens perioden wanneer de decoder bezig met het is gestructureerd. De snaren worden opgeslagen in flash, omdat het RAM-geheugen is meer waard, dat het is een goede gewoonte om altijd niet veranderende tekenreeksen op te slaan in flash.

Alle instellingen worden opgeslagen, hetzij aan de DS1307 gebruiker RAM (dat is batterij back), of van de AVR interne EEPROM (zie bijlage voor meer details). Deze instellingen zijn geladen en gevalideerd bij het opstarten, en opgeslagen als de decoder bezet is.

Als je al de bestanden graven, kan je test functies die ik gebruik voor het testen van verschillende afzonderlijke onderdelen van het systeem.

Alle bestanden die louter door mij zijn geschreven zijn in de bovenste projectmap. LUFA onder de LUFA-map is opgeslagen, en "Lib" slaat diverse componenten niet geschreven door mij (daar kunnen er wijzigingen).

Ervaren C programmeurs kunnen vinden dat ik brak enkele regels. Voor de. C-bestanden die opgenomen in plaats van gecompileerd zijn, mijn excuus is dat ze apart modulariseren zonder te ontwerpen van API's die abstract. Voor de andere fouten is mijn excuus de beperkte hoeveelheid tijd ik moest bouwen, programma, test en documenteren van dit project.

Er is sommige mechanismen die worden gebruikt in de code waarmee dezelfde code worden opgesteld voor ATmega644 en ATmega644P-chips, evenals de Teensy ++, de pin-toewijzingen zijn verschillende (en dus het circuit vereist minder bedrading). De geporteerde code is niet getest. Er is uiteraard geen USB-functionaliteit in de ATmega644/ATmega644P-versie omdat dat microcontroller geen USB heeft.

De zekeringen voor het AT90USB1286 mag niet worden gewijzigd als u de Teensy gebruikt ++.
De zekeringen voor het ATmega644 moeten zijn: LFUSE: 0xE2, HFUSE: 0x9F, het belang van deze instellingen is dat de interne RC-oscillator wordt gebruikt op 8 MHz (overwegende dat de Teensy ++ maakt gebruik van een externe 16 MHz kristal die wordt gedeeld door 2 intern).
Voor een nette manier om het berekenen van de AVR zekeringen, probeer dit: http://www.frank-zhao.com/fusecalc/

Bijgevoegd zijn tijdstempel volledige broncode.

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