Tartalomjegyzék:

LED mátrix ébresztőóra (MP3 lejátszóval): 6 lépés (képekkel)
LED mátrix ébresztőóra (MP3 lejátszóval): 6 lépés (képekkel)

Videó: LED mátrix ébresztőóra (MP3 lejátszóval): 6 lépés (képekkel)

Videó: LED mátrix ébresztőóra (MP3 lejátszóval): 6 lépés (képekkel)
Videó: B13 Vezeték nélküli Bluetooth hangszóró LED világítással - UNBOXING 2024, November
Anonim
LED mátrix ébresztőóra (MP3 lejátszóval)
LED mátrix ébresztőóra (MP3 lejátszóval)
LED mátrix ébresztőóra (MP3 lejátszóval)
LED mátrix ébresztőóra (MP3 lejátszóval)

Ez az Arduino alapú ébresztőóra mindent tartalmaz, amit elvárhat az ébresztőtől - lehetőség van arra, hogy felébresszen minden tetszőleges dallal, a szundi gombbal és könnyen kezelhető három gombbal. Három fő blokk van - LED mátrix, RTC modul és MP3 pajzs hangszóróval.

1. lépés: Anyag és eszközök

  • LED mátrix
  • Arduino Uno
  • MP3 pajzs DHF lejátszó Mini
  • RTC modul DS1307
  • Bármilyen hangszóró
  • 3 gomb (10k felhúzó/lehúzható ellenállással)
  • Vezetékek
  • Plexi (vagy bármilyen anyag, amelyből a dobozát szeretné)
  • 3D nyomtató (mátrixdobozok nyomtatásához)
  • DC tápegység csatlakozója
  • USB B női csatlakozó.

Úgy gondolom, hogy módosíthatja ezt az anyaglistát lehetőségei alapján (határozottan használhat különböző MP3 pajzsokat, különböző RTC modulokat, és mindennek jól kell működnie:)

2. lépés: LED mátrix

LED mátrix
LED mátrix
LED mátrix
LED mátrix
LED mátrix
LED mátrix

Inspirációként ezt az oktatóanyagot használtam a LED -mátrix készítéséhez, csak úgy döntöttem, hogy nem használok prototípus -táblát, és saját PCB -t tervezek. A projektemet itt találod az áramkörkészítőben. Használhat sematikákat is, és ha gerber adatokat szeretne küldeni (inkább generálja azokat az áramkör -készítő projektünkből saját magunk által), tudassa velem, hogy megadom Önnek:). Néhány tipp - először nagyon olcsó LED -et használtam, de miután az összes diódát forrasztottam és az arduino kódot futtattam, kiderült, hogy a LED dióda színének eltérése nem elfogadható, ezért másokat kell rendelnem, és meg kell csinálnom egy másik LED mátrixot. A működési elvet az arduino részben ismertetem. Mindenesetre, hogy megtudja, jó munkát végzett -e, és a kijelző működik -e, csak cserélje ki a DisplayChar funkció konstansát a fő arduino ciklusban (pl. az első oszloptól kezdve), nem kell mást kommentálnia.

3. lépés: Egyéb HW

Egyéb HW
Egyéb HW
Egyéb HW
Egyéb HW
Egyéb HW
Egyéb HW

Az ébresztőóra építésére szolgáló további HW komponensek: RTC modul, MP3 pajzs, gombok és arduino UNO.

Az RTC modulhoz a DS1307 modult és az MD_DS1307. könyvtárat használtam. Meglehetősen egyszerű, minden zökkenőmentesen működik, de azt javaslom, hogy valószínűleg használjon pontosabb RTC modult, például 3231 -et vagy más - ha néhány napig áram nélkül hagyom, néhány másodperc kezdett lemerülni.

MP3 pajzs DHF lejátszó Mini - Ez az MP3 pajzs nagyon egyszerű, feltölthet mp3 -t az SD -kártyára, csatlakoztathat bármilyen hangszórót, és kétféleképpen is működtethető, soros kommunikáció vagy I/O érintkezők segítségével. Hogy őszinte legyek, valamilyen oknál fogva nem voltam sikeres a soros kommunikációban (nem működött együtt az SPI és az I2C kommunikációval, amelyet más komponenseknél használtak), de kedves voltam az IO érintkezők használatához (az ADKEY1 -et használtam az arduino Digital kimenethez kiváltó ok a dal lejátszásához, majd az USB+ rögzítése a zene leállításához).

Amint a képen látható, három egyszerű gombot használtam az arduino digitális bemeneteihez csatlakoztatott prototípus -táblán, 10 kOhm -os lehúzható ellenállásokkal.

Az arduino kábelezése jól látható az Arduino kódban:)

4. lépés: Mechanikus alkatrészek

Mechanikus alkatrészek
Mechanikus alkatrészek
Mechanikus alkatrészek
Mechanikus alkatrészek
Mechanikus alkatrészek
Mechanikus alkatrészek
Mechanikus alkatrészek
Mechanikus alkatrészek

A szép, normál kijelző megjelenítéséhez némi rácsot kell használnia az egyes LED -ek pontos alakjának meghatározásához. Egyszerű 3D nyomtatott rácsot használtam, amely jól működik - Két részből áll, bal és jobb, az STL adatokat a mellékletben találja.

A dobozt CNC -gépen őrlik tejplexiből. Teljesen rajtad múlik, hogy milyen anyagból készítesz, csak egy ajánlás, ha hasonló anyagot használsz, mint én, akkor tegyél egy féligáteresztő réteget a részre, amely közvetlenül a LED -eken van, hogy megakadályozza, hogy a LED -ek pontszerű fényforrásként láthatók legyenek. Látható, hogy az oldalfalon van hely a DC tápegység csatlakozójának és az USB -nek, hogy jobb ötleteket töltsön fel a kódról:) A plexi alkatrészek ragasztásához szabványos műanyag ragasztót használtam. A mellékletben minden részhez STL fájlok vannak (köszönöm Peshi barátomnak, hogy megtervezte ezt a szuper dobozt:))

5. lépés: Arduino rész

Arduino rész
Arduino rész

Az arduino -val kapcsolatos részben csak röviden le szeretném írni a fő ciklus algoritmusát, majd néhány szót a Shift regiszterek SPI és Alarm beállításokkal történő vezérléséhez.

A fő ciklusban csak alapvetően ellenőrizze, hogy nincs -e megnyomva valami gomb, ellenőrizze, hogy az RTC küld -e Önnek frissen frissített percértékeket, és eljött -e az ideje, hogy játsszon egy rózsaszín floyd dalt:) és ha nem, akkor csak rendszeresen kapcsolja be és ki a LED -eket állítsa be a számokat.

A LED -mátrix vezérlése - A jobb megértés érdekében jó követni az elején említett LED -mátrix utasításait, de csak röviden - fontos megérteni, hogy a számok vagy betűk megjelenítéséhez ebben a mátrixban rendszeresen ki kell választania, hogy melyik LED -et használja sort be kell kapcsolni, majd kapcsolja ki a sor összes LED -ét egy ideig. A következő lépésben kikapcsolja ezt a sort, és előkészíti a második sort és ezt újra és újra. Mit jelent? - ne használjon késéseket! - különben nem mutat számokat, csak villog:)

Én egészen más, és azt mondanám, egyszerűbb módszert használok a műszakregiszterek vezérlésére (köszönöm Krystof barátomnak, aki ezt a sima funkciót írta). Tehát az első lépés (az adatok előkészítése a shift regiszterhez a DisplayChar függvényben történik, ahol csak megtalálja a kívánt szimbólumot az állandó tömbből, és előkészíti az adatokat a regiszterekhez. És amikor az UpdateDisplay függvényt hívják, az adatok a kimenetekre kerülnek (további információkért) lásd az arduino IDE képernyőjét)

Riasztás beállítása. Három gomb van, bal, középső és jobb. Ha kétszer megnyomja jobbra és középre, belép a riasztás menübe. A Riasztás menüben a következő funkciók érhetők el - bal gomb (Ébresztés beállítása órákra) középső gomb (Riasztás beállítása percekre) Jobb gomb hosszú megnyomása (riasztás megerősítése), középső és jobb gomb hosszú megnyomása (a meglévő riasztás törlése).

Ha az ébresztés be van állítva (ezt felismerheti abból a tényből, hogy a riasztás bekapcsol jelző LED a jobb alsó sarokban), és az Óra elkezdi lejátszani a kedvenc reggeli dalát:) a következő funkciók érhetők el - bal gomb (további 5 perc szundi), középső gomb (riasztás törlése).

6. lépés: A riasztás befejezése

Image
Image
Riasztás befejezése
Riasztás befejezése

A végén csak összeragasztom mindent belülről:) és lezárom a ragasztót a riasztó hátsó részét. A mellékelt videóban láthatja ennek a riasztónak a vezérlési mechanizmusát. Csak jegyezze meg a videót, a videóban úgy tűnik, mintha villogna, a LED -ek be- és kikapcsolásának elve, valamint a kamera feliratának képkockasebessége okozza - valójában a szeme ezt villogás nélkül bekapcsolva látja:)

A jövőben szeretnék más anyagokat kipróbálni - ideális esetben egy feketét:) és további funkciókat, például a dátumot, esetleg a hőmérsékletet stb.

Remélem, élvezni fogja az ébresztőóra építését, és várom ötleteit:)

Órák verseny
Órák verseny
Órák verseny
Órák verseny

Második díj az Óraversenyben

Ajánlott: