Tartalomjegyzék:

Mikrokontroller alapú metronóm: 5 lépés
Mikrokontroller alapú metronóm: 5 lépés

Videó: Mikrokontroller alapú metronóm: 5 lépés

Videó: Mikrokontroller alapú metronóm: 5 lépés
Videó: Котика ударило током, 10 т. Вольт 2024, Július
Anonim
Image
Image

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: