Sadržaj:

Metronom baziran na mikrokontroleru: 5 koraka
Metronom baziran na mikrokontroleru: 5 koraka

Video: Metronom baziran na mikrokontroleru: 5 koraka

Video: Metronom baziran na mikrokontroleru: 5 koraka
Video: Котика ударило током, 10 т. Вольт 2024, Juli
Anonim
Image
Image

Metronom je mjerač vremena koji muzičari koriste za praćenje ritmova u pjesmama i za razvoj osjećaja za mjerenje vremena kod početnika koji uče novi instrument. Pomaže u održavanju osjećaja ritma koji je ključan u muzici.

Ovaj metronom izgrađen ovdje može se koristiti za postavljanje broja otkucaja po taktu i otkucaja u minuti. Nakon unosa ovih podataka o postavljanju, oglašava se prema podacima uz odgovarajuće osvjetljenje pomoću LED dioda. Podaci o postavljanju prikazuju se na LCD ekranu.

Korak 1: Potrebne komponente:

·

  • Mikrokontroler Atmega8A
  • · 16*2 LCD ekran
  • · Piezo zujalica
  • · LED diode (zelena, crvena)
  • · Otpornici (220e, 330e, 1k, 5.6k)
  • · Tipke (2* protiv zaključavanja, 1* zaključavanje)
  • · 3V CR2032 dugmasta baterija (*2)
  • Držač baterije za novčiće (*2)
  • · 6 -polni relamirani (polarizirani) konektor

Korak 2: Pravljenje kola

Povežite krugove kao što je prikazano na slici na veroboard -u i pravilno lemite veze

Korak 3: Karakteristike metronoma

Interfejs metronoma uglavnom zauzima LCD ekran. Iznad njega je mikrokontroler 8A postavljen centralno sa LED diodama i zujalicom s desne strane. Tri prekidača i priključak za ponovno postavljanje nalaze se na vrhu.

Cijeli projekt se napaja samo s dvije dugmaste baterije (u seriji @6V 220mAh) s procijenjenim trajanjem od 20 dana do 1 mjesec (ne kontinuirano). Zbog toga je umjereno efikasan po energiji i ima trenutni zahtjev od 3 - 5 mA.

Samoblokirajući prekidač nalazi se krajnje lijevo i predstavlja dugme za uključivanje/isključivanje. Dugme u sredini je dugme za podešavanje, a dugme sa desne strane se koristi za promjenu vrijednosti bpm i otkucaja (po traci).

Kada se pritisne prekidač za uključivanje/isključivanje, LCD se uključuje i prikazuje vrijednost otkucaja po baru. Čeka se 3 sekunde da korisnik promijeni vrijednost nakon čega dobivenu vrijednost uzima kao svoj ulaz. Ova vrijednost se kreće između 1/4, 2/4, 3/4, 4/4.

Zatim prikazuje otkucaje u minuti (bpm) i ponovo čeka 3 sekunde da korisnik promijeni vrijednost nakon čega postavlja određenu vrijednost. Ovo vrijeme čekanja od 3 sekunde kalibrirano je nakon što korisnik promijeni vrijednost. Vrijednosti bpm mogu varirati od 30 do 240. Pritiskom na tipku Setup tijekom postavljanja bpm vraća se vrijednost na 30 bpm što je korisno u smanjenju broja klikova na gumb. Vrijednosti bpm su višekratnici 5.

Nakon postavljanja, pozadinsko osvjetljenje LCD -a se isključuje radi uštede baterije. Zujalica se oglašava jednom za svaki otkucaj, a LED diode trepere jedna po jedna naizmjenično za svaki otkucaj. Za promjenu vrijednosti, pritisnuto je dugme Setup. Kada to učinite, pozadinsko osvjetljenje LCD -a se uključuje i prompt za otkucaje se pojavljuje na isti način kao što je ranije spomenuto, a nakon istog postupka.

Mikrokontroler Atmega8A sastoji se od 500 bajtova EEPROM -a, što znači da bez obzira na vrijednosti otkucaja i otkucaja u minuti ostaju pohranjeni čak i nakon isključivanja metronoma. Stoga ponovno uključivanje čini da se nastavi s istim podacima koji su prethodno uneseni.

Relimate konektor je zapravo SPI zaglavlje koje se može koristiti u dvije svrhe. Može se koristiti za reprogramiranje mikrokontrolera Atmega8A za ažuriranje firmvera i dodavanje novih funkcija metronomu. Drugo, vanjsko napajanje se također može koristiti za napajanje metronoma za hardcore korisnike. Ali ovo napajanje ne smije biti veće od 5,5 volti i nadjačava prekidač za uključivanje/isključivanje. Iz sigurnosnih razloga, ovaj prekidač MORA biti isključen kako vanjsko napajanje ne bi došlo do kratkog spoja s ugrađenim baterijama.

Korak 4: Opis

Ovaj projekt je napravljen pomoću mikrokontrolera Atmel Atmega8A koji je programiran pomoću Arduino IDE preko Arduino Uno/Mega/Nano koji se koristi kao ISP programer.

Ovaj mikrokontroler je manje predstavljena verzija Atmela Atmega328p koji se naširoko koristi u Arduino Uno. Atmega8A se sastoji od 8Kb programabilne memorije sa 1Kb RAM -a. To je 8 -bitni mikrokontroler koji radi na istoj frekvenciji kao i 328p, odnosno 16Mhz.

U ovom projektu, budući da je trenutna potrošnja važan aspekt, frekvencija takta je smanjena i koristi se interni oscilator od 1 Mhz. Ovo uvelike smanjuje trenutne potrebe na oko 3,5 mA @3,3 V i 5 mA @4,5 V.

Arduino IDE nema mogućnost programiranja ovog mikrokontrolera. Stoga je instaliran paket „Minicore“(dodatak) za pokretanje 8A sa svojim unutrašnjim oscilatorom pomoću Optiboot bootloadera. Uočeno je da se potreba za energijom projekta povećava sa povećanjem napona. Zbog toga je za optimalno korištenje energije mikrokontroler postavljen da radi na 1 MHz s jednom baterijom od 3V koja troši samo 3,5 mA. No primijećeno je da LCD ne radi ispravno na tako niskom naponu. Stoga je odluka o korištenju dvije novčiće baterije u nizu primijenjena za povećanje napona na 6V. Ali to je značilo da se trenutna potrošnja povećala na 15 mA, što je bio veliki nedostatak jer bi se vijek trajanja baterije jako smanjio. Također je premašio granicu sigurnog napona od 5,5 V 8A mikrokontrolera.

Stoga je otpornik od 330 ohma serijski spojen na napajanje od 6 V kako bi se riješio ovog problema. Otpornik u osnovi uzrokuje pad napona na sebi kako bi se smanjio nivo napona unutar 5,5 V za sigurno pokretanje mikrokontrolera. Osim toga, vrijednost 330 je odabrana uzimajući u obzir različite faktore:

  • · Cilj je bio pokrenuti 8A na što nižem naponu radi uštede energije.
  • · Uočeno je da je LCD prestao raditi ispod 3,2 V iako je mikrokontroler i dalje funkcionirao
  • · Ova vrijednost 330 osigurava da padovi napona na ekstremima budu točno precizni za potpunu upotrebu novčića.
  • · Kada su novčanice bile na svom vrhuncu, napon je bio oko 6,3 V, pri čemu je 8A primala efektivni napon od 4,6 - 4,7 V (@ 5mA). A kad su se baterije skoro isušile, napon je bio oko 4V s 8A, a LCD je primao dovoljno napona, odnosno 3,2 V da bi ispravno funkcionirao. (@3.5mA)
  • · Ispod nivoa 4v na baterijama, bile su efektivno beskorisne bez ikakvog soka koji je mogao napajati bilo šta. Pad napona na otporniku varira cijelo vrijeme jer se trenutna potrošnja 8A mikrokontrolera i LCD -a smanjuje sa smanjenjem napona što bitno pomaže u produljenju trajanja baterije.

LCD ekran veličine 16*2 programiran je pomoću ugrađene LiquidCrystal biblioteke Arduino IDE -a. Koristi 6 pinova podataka 8A mikrokontrolera. Osim toga, njegova svjetlina i kontrast kontrolirani su pomoću dva pina za podatke. To je učinjeno kako se ne bi koristila dodatna komponenta, tj. Potenciometar. Umjesto toga, PWM funkcija podatkovnog pina D9 korištena je za podešavanje kontrasta zaslona. Također, pozadinsko osvjetljenje LCD -a moralo je biti isključeno kada nije potrebno, pa to ne bi bilo moguće bez korištenja podatkovnog pina za napajanje. Za ograničavanje struje preko LED diode pozadinskog osvjetljenja korišten je otpornik od 220 ohma.

Zvučni signal i LED diode također su spojeni na podatkovne pinove 8A (po jedan za svaki). Otpornik od 5,6 k ohma korišten je za ograničavanje struje preko crvene LED, dok je 1k ohm korišten za zelenu. Vrijednosti otpornika odabrane su postizanjem slatkog mjesta između svjetline i potrošnje struje.

Tipka za uključivanje/isključivanje nije spojena na pin za podatke i jednostavno je prekidač koji mijenja projekt. Jedan od njegovih terminala spaja se na otpornik od 330 ohma, dok se drugi spaja na Vcc pinove LCD -a i 8A. Druga dva gumba spojena su na pinove podataka koji su interno povučeni za napajanje putem softvera. To je potrebno za rad prekidača.

Osim toga, pin za podatke, s kojim se povezuje gumb za postavljanje, je pin za prekid hardvera. Njegova rutina servisa prekida (ISR) aktivirana je u Arduino IDE -u. To znači da kad god korisnik želi pokrenuti izbornik za postavljanje, 8A prekida trenutnu operaciju rada kao metronom i pokreće ISR koji u osnovi aktivira izbornik za postavljanje. U suprotnom, korisnik ne bi mogao pristupiti izborniku za postavljanje.

Gore spomenuta opcija EEPROM -a osigurava da uneseni podaci ostanu pohranjeni čak i nakon isključivanja ploče. Zaglavlje SPI sastoji se od 6 pinova - Vcc, Gnd, MOSI, MISO, SCK, RST. Ovo je dio SPI protokola i kao što je već spomenuto, ISP programer može se koristiti za ponovno programiranje 8A za dodavanje novih funkcija ili bilo čega drugog. Vcc pin je izoliran od pozitivnog priključka baterije, pa Metronom pruža mogućnost korištenja vanjskog izvora napajanja imajući u vidu prethodno navedena ograničenja.

Cijeli projekt izgrađen je u Veroboardu lemljenjem pojedinačnih komponenti i odgovarajućih spojeva prema shemi kola.

Preporučuje se: