Tartalomjegyzék:
- 1. lépés: Szükséges összetevők:
- 2. lépés: Az áramkör létrehozása
- 3. lépés: A metronóm jellemzői
- 4. lépés: Leírás
Videó: Mikrokontroller alapú metronóm: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
A metronóm egy időzítő eszköz, amelyet a zenészek használnak a dalok ütemének nyomon követésére és az időzítés érzésének fejlesztésére a kezdők között, akik új hangszert tanulnak. Segít fenntartani a ritmusérzéket, amely kulcsfontosságú a zenében.
Ez az itt felépített metronóm használható az ütemszám ütemenkénti és ütemenkénti beállítására. Miután megadta ezeket a beállítási adatokat, hangjelzést ad az adatoknak megfelelően, megfelelő világítással, LED -ekkel. A beállítási adatok egy LCD képernyőn jelennek meg.
1. lépés: Szükséges összetevők:
·
- Atmega8A mikrokontroller
- · 16*2 LCD kijelző
- · Piezo csengő
- · LED -ek (zöld, piros)
- · Ellenállások (220e, 330e, 1k, 5.6k)
- · Nyomógombok (2* blokkolásgátló, 1* reteszelés)
- · 3V CR2032 gombelem (*2)
- Érme elemtartó (*2)
- · 6pin Relimate (polarizált) csatlakozó
2. lépés: Az áramkör létrehozása
Csatlakoztassa az áramköri csatlakozásokat a képen látható módon egy veroboardon, és forrasztja be megfelelően a csatlakozásokat
3. lépés: A metronóm jellemzői
A metronóm felületét elsősorban az LCD képernyő foglalja el. Fölötte a 8A mikrovezérlő található, középen a LED -ekkel és a hangjelzővel jobbra. A három kapcsoló és a Relimate csatlakozó felül található.
Az egész projekt csak két gombelemmel működik (sorozatban @6V 220mAh), becsült üzemidővel 20 naptól 1 hónapig (nem folyamatosan). Ezért közepesen energiatakarékos és 3-5 mA áramigényű.
Az önzáró kapcsoló a bal szélső oldalon található, és az ON/OFF gomb. A középső gomb a Beállítás gomb, a jobb oldali gombbal pedig megváltoztathatja a bpm és ütem értékét (ütemenkénti).
Az ON/OFF kapcsoló megnyomásakor az LCD bekapcsol, és megjeleníti az ütések értékét báronként. 3 másodpercet vár, amíg a felhasználó megváltoztatja az értéket, amely után a kapott értéket veszi fel bemenetként. Ez az érték 1/4, 2/4, 3/4, 4/4 között mozog.
Ezután megjeleníti a percenkénti ütéseket (bpm), és ismét 3 másodpercet vár, amíg a felhasználó megváltoztatja azt az értéket, amely után beállítja az adott értéket. Ez a 3 másodperces várakozási idő kalibrálásra kerül, miután a felhasználó megváltoztat egy értéket. Az ütés / perc érték 30 és 240 között változhat. Ha megnyomja a Beállítás gombot a bpm beállítás során, az értéke 30 bpm -re áll vissza, ami segít csökkenteni a gombok kattintását. A bpm értékek 5 -ös többszörösei.
A beállítás befejezése után az LCD háttérvilágítása kialszik az akkumulátor kímélése érdekében. A zümmögő minden ütésnél egyszer sípol, a LED -ek pedig egyenként felváltva villognak minden ütésnél. Az értékek megváltoztatásához nyomja meg a Setup gombot. Ezt követően az lcd háttérvilágítása bekapcsol, és a beat ütemezés megjelenik az előzőekben említett módon, ugyanazzal az eljárással később.
Az Atmega8A mikrokontroller 500 bájt EEPROM -ból áll, ami azt jelenti, hogy bármilyen ütés és ütés értéket ad meg, a metronóm kikapcsolása után is tárolva marad. Ezért, ha újra bekapcsolja, ugyanazokkal az adatokkal folytathatja, mint korábban.
A Relimate csatlakozó valójában egy SPI fejléc, amely két célra használható. Használható az Atmega8A mikrokontroller újraprogramozására a firmware frissítéséhez és a metronóm új funkcióinak hozzáadásához. Másodszor, külső tápegység is használható a metronóm táplálására a kemény felhasználók számára. Ez a tápegység azonban nem lehet nagyobb, mint 5,5 volt, és felülírja a BE/KI kapcsolót. Biztonsági okokból ezt a kapcsolót KI kell kapcsolni, hogy a külső tápegység ne zárja rövidre a beépített akkumulátorokat.
4. lépés: Leírás
Ez a projekt az Atmel Atmega8A mikrokontroller használatával készült, amelyet az Arduino IDE segítségével programoztak egy ISP programozóként használt Arduino Uno/Mega/Nano segítségével.
Ez a mikrokontroller az Atmel Atmega328p kevésbé ismert változata, amelyet széles körben használnak az Arduino Uno -ban. Az Atmega8A 8Kb programozható memóriából és 1Kb RAM -ból áll. Ez egy 8 bites mikrokontroller, amely ugyanazon a frekvencián működik, mint a 328p, azaz 16 MHz.
Ebben a projektben, mivel az áramfelvétel fontos szempont, az órajel frekvenciát csökkentették, és a belső 1 Mhz oszcillátort használták. Ez nagymértékben csökkenti az áramszükségletet körülbelül 3,5 mA @3.3V és 5mA @4.5V értékre.
Az Arduino IDE nem képes programozni ezt a mikrokontrollert. Ezért telepítettek egy „Minicore” csomagot (beépülő modul) a 8A működtetéséhez a belső oszcillátorával, Optiboot rendszerbetöltő segítségével. Észrevettük, hogy a projekt teljesítményigénye a feszültség növekedésével nőtt. Ezért az optimális energiafelhasználás érdekében a mikrokontrollert 1 MHz -en működtették, egyetlen 3 V -os érme elemmel, amely csak 3,5 mA -t vett fel. De megfigyelték, hogy az LCD nem működik megfelelően ilyen alacsony feszültség mellett. Ezért úgy döntöttek, hogy két érmeelemet használnak sorban, hogy 6 V -ra növeljék a feszültséget. Ez azonban azt jelentette, hogy a jelenlegi fogyasztás 15 mA -re nőtt, ami óriási hátrány volt, mivel az akkumulátor élettartama nagyon rossz lesz. Ezenkívül meghaladta a 8A mikrokontroller 5,5 V biztonságos feszültséghatárát.
Ezért egy 330 ohmos ellenállást sorosan csatlakoztattak a 6 V -os tápegységhez, hogy megszabaduljanak a problémától. Az ellenállás alapvetően feszültségcsökkenést okoz önmagában, hogy csökkentse a feszültségszintet 5,5 V -on belül, hogy biztonságosan működtesse a mikrokontrollert. Ezenkívül a 330 értékét különböző tényezők figyelembevételével választották ki:
- · A cél az volt, hogy a 8A -t a lehető legalacsonyabb feszültséggel működtessük az energiatakarékosság érdekében.
- · Megfigyelték, hogy az LCD leállt 3,2 V alatt, bár a mikrokontroller még mindig működött
- · Ez a 330 érték biztosítja, hogy a szélsőséges feszültségcsökkenések pontosan pontosak legyenek az érmeelemek teljes kihasználásához.
- · Amikor az érmecellák csúcspontjukon voltak, a feszültség 6,3 V körül volt, a 8A pedig 4,6 - 4,7 V (@ 5 mA) effektív feszültséget kapott. És amikor az elemek majdnem kiszáradtak, a feszültség 4V körül volt, a 8A és az LCD éppen elegendő feszültséget, azaz 3,2 V -ot kapott a megfelelő működéshez. (@3,5 mA)
- · Az elemek 4 V -os szintje alatt gyakorlatilag haszontalanok voltak, anélkül, hogy levet hagytak volna. Az ellenállás feszültségcsökkenése a teljes idő alatt változik, mivel a 8A mikrokontroller és az LCD áramfogyasztása csökken a feszültség csökkentésével, ami lényegében hozzájárul az akkumulátor élettartamának növeléséhez.
A 16*2 LCD -t az Arduino IDE beépített LiquidCrystal könyvtárából programoztuk. A 8A mikrovezérlő 6 adatcsapját használja. Ezenkívül a fényerőt és a kontrasztot két adatcsappal szabályoztuk. Ezt úgy tettük, hogy ne használjunk extra komponenst, azaz potenciométert. Ehelyett a D9 adattű PWM funkcióját használtuk a képernyő kontrasztjának beállítására. Az LCD háttérvilágításnak is ki kell kapcsolnia, amikor nem szükséges, így ez nem lett volna lehetséges anélkül, hogy adattüskét használna a tápellátáshoz. 220 ohmos ellenállást használtak a háttérvilágítás LED -jén az áram korlátozására.
A Zümmögő és a LED -ek szintén a 8A adatcsapjaihoz voltak csatlakoztatva (egyenként egy -egy). Egy 5,6 k ohmos ellenállást használtak a piros LED áramának korlátozására, míg a zöldre 1 k ohmot. Az ellenállás értékeit úgy választották ki, hogy a fényerő és az áramfogyasztás között édes pontot szereztek.
Az ON/OFF gomb nincs csatlakoztatva adattűhöz, és egyszerűen egy kapcsoló, amely a projektet kapcsolja. Az egyik kivezetése a 330 ohmos ellenálláshoz, míg a másik az LCD és a 8A Vcc csapjaihoz csatlakozik. A másik két gomb olyan adatcsapokhoz van csatlakoztatva, amelyeket szoftveren keresztül a tápfeszültségre belsőleg felhúznak. Ez a kapcsolók működéséhez szükséges.
Ezenkívül az adattű, amelyhez a Beállítás gomb csatlakozik, egy hardvermegszakító tű. Megszakítási szolgáltatási rutinja (ISR) aktiválva van az Arduino IDE -ben. Ez azt jelenti, hogy amikor a felhasználó le akarja futtatni a beállítás menüt, a 8A felfüggeszti jelenlegi működését, mint metronóm, és lefuttatja az ISR -t, amely alapvetően aktiválja a Setup menüt. Ellenkező esetben a felhasználó nem tudja elérni a Beállítás menüt.
A korábban említett EEPROM opció gondoskodik arról, hogy a bevitt adatok a tábla kikapcsolása után is tárolva maradjanak. Az SPI fejléc 6 tűből áll - Vcc, Gnd, MOSI, MISO, SCK, RST. Ez az SPI protokoll része, és ahogy korábban említettük, egy ISP programozó segítségével újra programozható a 8A új funkciók vagy bármi más hozzáadásához. A Vcc tüske el van választva az akkumulátor pozitív kivezetésétől, ezért a Metronome lehetőséget biztosít külső tápegység használatára, szem előtt tartva az előbb említett korlátozásokat.
Az egész projekt Veroboard -ban készült, az egyes alkatrészek és a megfelelő csatlakozók forrasztásával az áramköri rajz szerint.
Ajánlott:
Arduino alapú érintésmentes infravörös hőmérő - IR alapú hőmérő Arduino használatával: 4 lépés
Arduino alapú érintésmentes infravörös hőmérő | IR alapú hőmérő Arduino használatával: Sziasztok, ebben az útmutatóban, érintésmentes hőmérőt készítünk arduino segítségével. Mivel néha a folyadék/szilárd anyag hőmérséklete túl magas vagy alacsony, majd nehéz kapcsolatba lépni vele és elolvasni ilyenkor a hőmérséklet
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): 4 lépés (képekkel)
Időjárás alapú zenegenerátor (ESP8266 alapú Midi generátor): Szia, ma elmagyarázom, hogyan készíts saját kis időjárás alapú zenegenerátort. Ez egy ESP8266 -on alapul, ami olyan, mint egy Arduino, és reagál a hőmérsékletre, az esőre és fényintenzitás. Ne várd el, hogy teljes dalokat vagy akkordprogramokat készítsen
PIC mikrokontroller alapú robotkar: 6 lépés (képekkel)
PIC mikrokontroller alapú robotkar: Az autóipar futószalagtól a távsebészeti robotokig az űrben a Robot Arms mindenhol megtalálható. Ezeknek a robotoknak a mechanizmusai hasonlóak az emberhez, és hasonló funkcióra és növelésre programozhatók
Mobil vezérlésű robot készítése - DTMF alapú - Mikrokontroller és programozás nélkül - Irányítás a világ bármely pontjáról - RoboGeeks: 15 lépés
Mobil vezérlésű robot készítése | DTMF alapú | Mikrokontroller és programozás nélkül | Irányítás a világ bármely pontjáról | RoboGeeks: Szeretne robotot készíteni, amelyet a világ bármely pontjáról vezérelhet, csináljuk
Mikrokontroller alapú intelligens akkumulátortöltő: 9 lépés (képekkel)
Mikrokontroller alapú intelligens akkumulátortöltő: Az áramkör, amit látni fog, egy intelligens akkumulátortöltő, amely ATMEGA8A alapú, automatikus kikapcsolással. Különböző paraméterek jelennek meg egy LCD -n a különböző töltési állapotok alatt. Az áramkör hangjelzést ad a töltéskor befejeztem. Építettem