Cuprins:

Micronom bazat pe metronom: 5 pași
Micronom bazat pe metronom: 5 pași

Video: Micronom bazat pe metronom: 5 pași

Video: Micronom bazat pe metronom: 5 pași
Video: Bhare Bazaar – Namaste England| Arjun| Parineeti| Badshah| Rishi Rich| Vishal Dadlani| Payal Dev 2024, Iulie
Anonim
Image
Image

Un metronom este un dispozitiv de sincronizare folosit de muzicieni pentru a urmări ritmurile melodiilor și pentru a dezvolta un sentiment de sincronizare printre începătorii care învață un instrument nou. Ajută la menținerea unui sentiment al ritmului, care este crucial în muzică.

Acest metronom construit aici poate fi folosit pentru a seta numărul de bătăi pe bară și bătăile pe minut. Odată ce aceste date de configurare sunt introduse, acestea emite un sunet conform datelor însoțite de iluminare adecvată folosind LED-uri. Datele de configurare sunt afișate pe un ecran LCD.

Pasul 1: Componente necesare:

·

  • Microcontroler Atmega8A
  • · Afisaj LCD 16 * 2
  • · Piezo Buzzer
  • · LED-uri (verde, roșu)
  • · Rezistoare (220e, 330e, 1k, 5.6k)
  • · Butoane (2 * antiblocare, 1 * blocare)
  • · Baterie 3V CR2032 Coin Cell (* 2)
  • Suport baterie monedă (* 2)
  • · Conector 6 pini Relimate (polarizat)

Pasul 2: Realizarea circuitului

Efectuați conexiunile circuitului așa cum se arată în imagine pe un veroboard și lipiți conexiunile corect

Pasul 3: Caracteristici ale metronomului

Interfața metronomului este ocupată în principal de ecranul LCD. Deasupra acestuia se află microcontrolerul 8A plasat central cu LED-urile și buzzer-ul spre dreapta. Cele trei comutatoare și conectorul Relimate sunt plasate în partea de sus.

Întregul proiect este alimentat doar de două baterii cu celule monede (în serie @ 6V 220mAh) cu o durată estimată de funcționare de la 20 de zile la 1 lună (nu continuu). Prin urmare, este moderat eficient din punct de vedere energetic și are o cerință actuală de 3-5 mA.

Comutatorul de autoblocare este plasat în extremitatea stângă și este butonul ON / OFF. Butonul din mijloc este butonul Configurare, iar butonul din dreapta este utilizat pentru a modifica valorile pentru bpm și ritmuri (pe bară).

Când este apăsat comutatorul ON / OFF, LCD-ul se aprinde și afișează valoarea bătăilor pe bară. Așteaptă 3 secunde ca utilizatorul să schimbe valoarea după care ia valoarea rezultată ca intrare. Această valoare variază între 1/4, 2/4, 3/4, 4/4.

Apoi afișează bătăile pe minut (bpm) și așteaptă din nou 3 secunde ca utilizatorul să modifice valoarea după care setează valoarea specială. Acest timp de așteptare de 3 secunde este calibrat după ce utilizatorul modifică o valoare. Valorile bpm pot varia de la 30 la 240. Apăsarea butonului Setup în timpul configurării bpm resetează valoarea acestuia la 30 bpm, ceea ce este util în reducerea numărului de clicuri pe butoane. Valorile bpm sunt multipli de 5.

După configurare, iluminarea LCD se stinge pentru a economisi bateria. Buzzerul emite o singură dată pentru fiecare ritm, iar LED-urile clipesc câte unul alternativ pentru fiecare ritm. Pentru a modifica valorile, este apăsat butonul Setup. Când faceți acest lucru, lumina de fundal LCD se aprinde și promptul de bătăi apare la fel cum s-a menționat anterior cu aceeași procedură după aceea.

Microcontrolerul Atmega8A este format din 500 de octeți de EEPROM, ceea ce înseamnă că, indiferent de valorile bătăilor și bpm, sunt stocate chiar și după oprirea metronomului. Prin urmare, reactivarea acestuia îl face să se reia cu aceleași date care au fost introduse anterior.

Conectorul Relimate este de fapt un antet SPI care poate fi utilizat în două scopuri. Poate fi folosit pentru a reprograma microcontrolerul Atmega8A pentru a-și actualiza firmware-ul și pentru a adăuga noi caracteristici metronomului. În al doilea rând, o sursă de alimentare externă poate fi, de asemenea, utilizată pentru a alimenta metronomul pentru utilizatorii hardcore. Însă această sursă de alimentare nu trebuie să depășească 5,5 volți și suprascrie comutatorul ON / OFF. Din motive de siguranță, acest comutator TREBUIE să fie oprit, astfel încât alimentarea externă să nu se scurteze cu bateriile încorporate.

Pasul 4: Descriere

Acest proiect este realizat folosind microcontrolerul Atmel Atmega8A care este programat folosind Arduino IDE printr-un Arduino Uno / Mega / Nano folosit ca programator ISP.

Acest microcontroler este o versiune mai puțin prezentată a Atmel Atmega328p care este utilizată pe scară largă în Arduino Uno. Atmega8A cuprinde memorie programabilă de 8 KB cu RAM de 1 KB. Este un microcontroler de 8 biți care rulează la aceeași frecvență ca 328p, adică 16Mhz.

În acest proiect, deoarece consumul de curent este un aspect important, frecvența ceasului a fost redusă și este utilizat oscilatorul intern de 1 Mhz. Acest lucru reduce considerabil cerința actuală la aproximativ 3,5 mA @ 3,3V și 5mA @ 4,5V.

Arduino IDE nu are facilitatea de a programa acest microcontroler. Prin urmare, a fost instalat un pachet „Minicore” (plugin) pentru a rula 8A cu oscilatorul său intern folosind un bootloader Optiboot. S-a observat că necesarul de energie al proiectului crește odată cu creșterea tensiunii. Prin urmare, pentru o utilizare optimă a energiei, microcontrolerul a fost setat să funcționeze la 1 MHz, cu o singură baterie de 3V monedă care consumă doar 3,5 mA. Dar s-a observat că LCD-ul nu funcționează corect la o tensiune atât de joasă. Prin urmare, decizia de a folosi două baterii de monede în serie a fost aplicată pentru a crește tensiunea la 6V. Dar acest lucru a însemnat că consumul actual a crescut la 15 mA, ceea ce a reprezentat un dezavantaj imens, deoarece durata de viață a bateriei ar deveni foarte slabă. De asemenea, a depășit limita de tensiune sigură de 5,5V a microcontrolerului 8A.

Prin urmare, un rezistor de 330 ohmi a fost conectat în serie cu sursa de alimentare de 6V pentru a scăpa de această problemă. Rezistorul provoacă practic o cădere de tensiune în sine pentru a reduce nivelul de tensiune în 5,5 V pentru a rula microcontrolerul în siguranță. În plus, valoarea 330 a fost aleasă luând în considerare diferiți factori:

  • · Scopul a fost de a rula 8A la o tensiune cât mai mică posibil pentru a economisi energie.
  • · S-a observat că lcd-ul a încetat să funcționeze sub 3,2 V, deși microcontrolerul funcționa în continuare
  • · Această valoare de 330 asigură că căderile de tensiune la extreme sunt exact exacte pentru a utiliza pe deplin bateriile de monede.
  • · Când celulele monedei erau la vârf, tensiunea era în jur de 6,3 V, 8A primind o tensiune efectivă de 4,6 - 4,7 V (@ 5mA). Și când bateriile erau aproape uscate, tensiunea era în jur de 4V cu 8A, iar lcd-ul primea doar suficientă tensiune, adică 3,2V pentru a funcționa corect. (@ 3,5 mA)
  • · Sub nivelul de 4v al bateriilor, acestea erau efectiv inutile, fără să mai rămână suc pentru a alimenta ceva. Căderea de tensiune pe rezistor variază pe tot parcursul timpului, de când consumul de curent al microcontrolerului 8A și LCD se reduce odată cu reducerea tensiunii, ceea ce ajută în mod esențial la creșterea duratei de viață a bateriei.

Ecranul LCD de 16 * 2 a fost programat folosind biblioteca încorporată LiquidCrystal a Arduino IDE. Utilizează 6 pini de date ai microcontrolerului 8A. În plus, luminozitatea și contrastul au fost controlate folosind doi pini de date. Acest lucru a fost făcut astfel încât să nu se utilizeze o componentă suplimentară, adică un potențiometru. În schimb, funcția PWM a pinului de date D9 a fost utilizată pentru a regla contrastul ecranului. De asemenea, lumina de fundal LCD trebuia să fie oprită atunci când nu este necesară, deci acest lucru nu ar fi fost posibil fără utilizarea unui pin de date pentru a-l alimenta. Un rezistor de 220 ohmi a fost folosit pentru a limita curentul de pe LED-ul luminii de fundal.

Buzzerul și LED-urile au fost, de asemenea, conectate la pinii de date ai 8A (unul pentru fiecare). Un rezistor de 5,6 k ohmi a fost folosit pentru a limita curentul de pe LED-ul roșu, în timp ce un 1 k ohm a fost folosit pentru cel verde. Valorile rezistenței au fost alese prin dobândirea unui punct dulce între luminozitate și consumul de curent.

Butonul ON / OFF nu este conectat la un pin de date și este pur și simplu un comutator care comută proiectul. Unul dintre terminalele sale se conectează la rezistorul de 330 ohmi, în timp ce celălalt se conectează la pinii Vcc ai lcd și 8A. Celelalte două butoane sunt conectate la pini de date care sunt trase intern pentru a alimenta tensiunea prin intermediul software-ului. Acest lucru este necesar pentru funcționarea comutatoarelor.

În plus, pinul de date la care se conectează butonul Setup este un pin de întrerupere hardware. Rutina sa de întrerupere (ISR) este activată în Arduino IDE. Ceea ce înseamnă acest lucru este că ori de câte ori utilizatorul dorește să ruleze meniul de configurare, 8A își suspendă operația actuală de a funcționa ca metronom și rulează ISR care activează practic meniul de configurare. În caz contrar, utilizatorul nu ar putea accesa meniul Configurare.

Opțiunea EEPROM menționată anterior se asigură că datele introduse rămân stocate chiar și după oprirea plăcii. Și antetul SPI cuprinde 6 pini - Vcc, Gnd, MOSI, MISO, SCK, RST. Aceasta face parte din protocolul SPI și, așa cum am menționat anterior, un programator ISP poate fi folosit pentru a programa din nou 8A pentru adăugarea de funcții noi sau orice altceva. Pinul Vcc este izolat de terminalul pozitiv al bateriei și, prin urmare, Metronome oferă opțiunea de a utiliza o sursă de alimentare externă ținând cont de restricțiile menționate anterior.

Întregul proiect a fost construit într-un Veroboard prin lipirea componentelor individuale și a conexiunilor corespunzătoare conform schemei de circuit.

Recomandat: