Musik spelas väckarklocka (18 / 24 steg)

Steg 18: Software Design

Sista projektet källkoden finns även nedan. Dock IR kommando kodfilen är tom och ska fyllas i med samma data som du fik från steg "Fånga IR Remote Control Data". När du fyller i, du bör kunna sammanställa-uppladdning-kör den.

Koden kommer att spela alla filer på ditt SD-kortets rotkatalog. Filerna kommer att sorteras i alfabetisk ordning. Min källa koden har några extra funktioner som visar volymen när det ändras och visar den aktuella filnamnet, låten längd och aktuell tid i sången. Vänligen följ källkoden för att förstå hur varje funktion fungerar.

Music player kommer inte att kunna spela musik medan ansluten till en dator som en USB-masslagringsenhet. Detta beror på att SCSI (minns jag nämnt tidigare?) fungerar på block av rådata på SD-kortet direkt men modulen FatFs vi använde cachelagrar data i RAM, således ändra något med USB kommer att orsaka de data som används av FatFs vara out-of-sync med verkliga data.

Även om jag ville använda USB ansluta och koppla från händelser för att automatiskt upptäcka om att tillåta FatFs åtkomst till SD-kortet eller inte, jag kan inte på ett sådant sätt att det Teensy ++ är utformad. Det kommer alltid finnas en spänning på VBUS, vilket gör händelserna värdelös. Så om du vill aktivera USB-åtkomst, måste du gå in i menyn av klockan för att aktivera den.

Det finns en timer som kallas den "en shot timer" som kommer eld en händelse endast en gång efter en viss tid. Detta används för att visa aktuell tid på LCD efter någon annan sak har varit visas på LCD-skärmen. Så om du ändrar volymen, det kommer att visa volymen, och efter 3 sekunder, det kommer att gå tillbaka till visar du tid.

En annan timer är timer 0, som är programmerad att avfyra en händelse varje sekund, detta håller reda på tiden internt så vi slipper fråga DS1307 ofta. Detta avfyrar också alarmet när tiden matchar.

Jag har ett kort tillägg på timers, kolla upp.

Alla LCD utskrift sker med sträng lagras i flash-minne, detta är typ av långsamma i jämförelse med hjälp av RAM. Jag har strukturerat programflödet för att bara uppdatera LCD under perioder när dekodern är upptagen. Strängar sparas i flash eftersom RAM-minnet är mer värdefulla, det är en god vana att alltid spara icke föränderliga strängar i flash.

Alla inställningar sparas antingen till DS1307 användaren RAM (som är batteriet backas) eller AVR: s interna EEPROM (se bilaga för mer detaljer). Dessa inställningar är laddad och validerats vid starten och sparas när dekodern är upptagen.

Om du gräver dock filerna, kan du hitta testfunktioner som jag använder för att testa olika enskilda komponenter i systemet.

Alla filer som skrivs enbart av mig är i topp projektmappen. LUFA lagras under mappen LUFA och "Lib" lagrar olika komponenter inte skriven av mig (det kan finnas ändringar).

Erfarna C kodare kan det hända att jag bröt flera regler. För den. C-filer som ingår i stället för sammanställt min ursäkt är att de är åtskilda för att Modularisera utan att utforma API: er som abstrakta. För de andra misstag är min ursäkt den begränsade tid jag var tvungen att bygga, program, testa och dokumentera detta projekt.

Det finns vissa mekanismer i den kod som gör att samma kod som skall sammanställas för ATmega644 och ATmega644P marker som Teensy ++, Stifttilldelningar är olika (och kretsen kräver alltså mindre omkoppling). Porterade koden har inte testats. Uppenbarligen finns det ingen USB-funktionalitet i ATmega644/ATmega644P-versionen eftersom den microcontroller inte har USB.

Säkringar för AT90USB1286 ska inte ändras om du använder Teensy ++.
Säkringar för ATmega644 bör vara: LFUSE: 0xE2, HFUSE: 0x9F, vikten av dessa inställningar är att den interna RC-oscillatorn används på 8 MHz (medan det Teensy ++ använder en extern 16 MHz kristall som delas av 2 internt).
För ett snyggt sätt att beräkna AVR säkringar, prova detta: http://www.frank-zhao.com/fusecalc/

Bifogat finns tidsstämplad komplett källkod.

Se Steg
Relaterade Ämnen

Musik spelas med Summer används Webserver (med WIZwiki-W7500 styrelsen)

Jag kommer att presentera en spela piano Webserver.Du kan spela piano med webserver som har en denna WIZwiki-W7500 projekt av bara openning webbplatsen om du följer detta innehåll.Det är väldigt lätt och enkelt sätt.Låt oss börja!Steg 1: Förbered met...

Blinkande, musik spelas Death Star

Dödsstjärnan i Star Wars är en av de coolaste super vapen någonsin leka från mänsklig fantasi.Om du inte håller, titta bara på denna GIF tills du är helt omvandlas till Dödsstjärnan fläkt. Ta tid på dig. Låt det slinga tills du älskar:Det enda proble...

Mono Headset musik spela för iDevice

Steg 1: Brand upp Cydia Öppna cydia och gå till Sök flikenSteg 2: Sök för BT Mono wee för anmälan Efter att ha sökt installera detSteg 3: inställning Nu öppna inställningarSteg 4: Gå i anmälan och knacka på RedigeraSteg 5: Det sista steget drar BT fr...

Nybörjarguide till att spela Piano

STEG 1 Varför spela Piano?STEG 2 titta på PianoSTEG 3 hem nycklar och A-GSTEG 4 vad är skalor?STEG 5 behandlingen musik: IntroduktionSTEG 6 rader och utrymmenSTEG 7 skrivet Piano musik och rytmSTEG 8 nycklar och tonarterSTEG 9 få det tillsammans med...

Pregophones... Musik för det ofödda barnet.

jag väntar mitt första barn i ett par månader, och som många första gången föräldrar, jag har forskat allt som finns att veta om dessa små underverk. Min fru och jag har diskuterat musik för våra barn, men har inte kunnat hitta en lätt eller praktisk...

Kontrollera din musik trådlöst med en Logitech mus

har du någonsin behövt styr musiken trådlöst? Med en bit av programvara och en Logitech mus är detta lätt. Vi ska gå över hur du konfigurerar musen så att du kan pausa, hoppa över och spela tills du får slut på batterier.Här är vad du behöver:Windows...

Legenden om Zelda musikal bröstet

Som många av er vet Legend of Zelda är en av de mest populära spelserien någonsin har gjorts. Ocarina of Time är förmodligen det mest populära spelet i serien med totalt 7,6 miljoner exemplar sålda under sin livstid. En av de mest ikoniska funktioner...

Visuell musik (med lasrar!)

Har du någonsin undrat hur en döv person njuter musik? Tja, de kan inte, eftersom du måste höra musik och de flesta människor vet att döva inte kan höra. Hur som helst, har jag skapat ett sätt att "se" musik genom att studsa en laser av en spege...

Ljusshow på musik

Jag har alltid velat ha ett billigt sätt att göra en ljusshow som skulle arbeta med musik. I detta instructable jag kommer att visa dig hur man byggde min ljusshow. Jag hoppas du älskar musik och ljus och att detta instructable kommer att vara till h...

Falangafone - Använd gester som att styra din musik!

På HackPrinceton 2014, min lagkamrat och jag byggde en robust, hand rörelse-kontrollerad musiksystem. Vi brukade Hoppa rörelse och dess utvecklare API fånga hand och finger data, och vi utnyttjade Python-språket och Pyo bibliotek för Python att bearb...

Spela in pc ljud (endast programvara) till mp3 gratis

Laddade upp 16 Apr 2011I den här videon visar jag dig hur vi spela in något ljud från pcJag använder till exempel en tube sidaMen på samma sätt kan du spela in ljud från cd/dvd, musik, spel, windows ljud, utan mikrofon, kablar, kabel, jacκKanske du k...

Spela ljud med Intel Edison och Arduino använder en Bluetooth-högtalare

Detta är en kort introduktion om hur man spelar ljud genom Intel Edison styrelsen när du använder Arduino som en programmeringsmiljö.Sedan Arduino styrelsen för Intel Edison inte har någon ljud capbabilities, vi använder en billigt Bluetooth-högtalar...

Smart telefon passiva förstärkare

Min version av en billig och kul att bygga passiva förstärkare för din smartphone. Det finns massor av versioner ute, några vackert gjort i trä, andra gjort med papper och olika andra byggmaterial. Min version använder lätt tillgängliga objekt från e...

Handgjorda 1: a födelsedag Popup musikaliska kort

Även om jag köpte massa saker från butiker för min 1 år gamla baby. Jag vill göra nåt på min egen för mitt barn. Så jag bestämde mig att göra ett födelsedagskort. Mitt mål är att se söta leende på läpparna när ser mitt kort. Jag vann till sist.Det är...

Audio Laser

musik lagras på min mp3-spelare som magnetiska mönster som omvandlas till vibrationer av elektrisk ström. I mina hörlurar spolar skapar dessa vibrationer, i sin tur ett vibrerande magnetfält. Eftersom det finns en permanent magnet inuti spolen, orsak...

Hur kan man vara en god värd

Hosting är naturligt för vissa människor, medan resten av oss är scrounging och skriker order till våra barn sekunder innan våra gäster anländer. Men när dörren öppnas och din gäst(er) möts, stress är skriven över hela ansiktet, och mest troligt, man...

Aktivera mus och tangentbord funktionalitet på en iPod Touch eller en iPhone! [Linux]

Någonsin velat använda din iPod Touch eller iPhone som en "dator"? Nu kan du!Du behöver:-en dator med Linux Ubuntu 10,04 [äldre versioner kan sannolikt fungera, snälla berätta isåfall.]-en Jailbroken iPod Touch/iPhone med WiFi aktiverat-Veency f...

Flera terminal kul.

Med en windowed miljö har du i princip bara en skärm. att spela med. Med Linux har du flera dependiing på distributioner och systemet begränsningar. Vi kommer att spela med knapparna för att växla terminaler och även logga in som andra människor på s...

Lätt skrivbord för Windows

fick en tråkig letar Windows skrivbordsbakgrund? Vill ha något original och cool looking men har inga kunskaper? Här är ett enkelt sätt att göra mycket coola skrivbordsbakgrunder med fri programvara du kanske redan har på din Windows-maskin.Steg 1: t...