Satura rādītājs:

Metronoms, kas balstīts uz mikrokontrolleri: 5 soļi
Metronoms, kas balstīts uz mikrokontrolleri: 5 soļi

Video: Metronoms, kas balstīts uz mikrokontrolleri: 5 soļi

Video: Metronoms, kas balstīts uz mikrokontrolleri: 5 soļi
Video: BERMUDU DIVSTŪRIS x APVEDCEĻŠ - Brāl' Ar Dzīvi Nekaulē 2024, Jūlijs
Anonim
Image
Image

Metronoms ir laika noteikšanas ierīce, ko mūziķi izmanto, lai izsekotu dziesmu sitieniem un attīstītu laika sajūtu iesācējiem, kuri apgūst jaunu instrumentu. Tas palīdz saglabāt ritma izjūtu, kas ir izšķiroša mūzikā.

Šo šeit uzbūvēto metronomu var izmantot, lai iestatītu sitienu skaitu joslā un sitienus minūtē. Kad šie iestatīšanas dati ir ievadīti, tas pīkst atbilstoši datiem, kas pievienoti atbilstošam apgaismojumam, izmantojot gaismas diodes. Iestatīšanas dati tiek parādīti LCD ekrānā.

1. darbība. Nepieciešamās sastāvdaļas:

·

  • Atmega8A mikrokontrolleris
  • · 16*2 LCD displejs
  • · Pjezo skaņas signāls
  • · Gaismas diodes (zaļa, sarkana)
  • · Rezistori (220e, 330e, 1k, 5.6k)
  • · Spiedpogas (2* pretbloķēšanas, 1* bloķēšanas)
  • · 3V CR2032 monētu baterija (*2)
  • Monētu akumulatora turētājs (*2)
  • · 6pin Relimate (polarizēts) savienotājs

2. solis: ķēdes izveidošana

Veidojiet ķēdes savienojumus, kā parādīts attēlā, uz verbooarda un pareizi lodējiet savienojumus

3. solis: Metronoma iezīmes

Metronoma saskarni galvenokārt aizņem LCD ekrāns. Virs tā atrodas 8A mikrokontrolleris, kas novietots centrā ar gaismas diodēm un skaņas signālu pa labi. Trīs slēdži un Relimate savienotājs ir novietoti augšpusē.

Visu projektu darbina tikai divas monētu baterijas (sērijā @6V 220mAh), un paredzamais darbības laiks ir no 20 dienām līdz 1 mēnesim (nevis nepārtraukti). Tādējādi tas ir vidēji energoefektīvs, un tā strāvas prasība ir 3–5 mA.

Pašbloķējošais slēdzis ir novietots galējā kreisajā pusē un ir ieslēgšanas/izslēgšanas poga. Poga vidū ir iestatīšanas poga, un labajā pusē esošā poga tiek izmantota, lai mainītu sitienu / min un sitienu vērtības (par joslu).

Nospiežot ON/OFF slēdzi, LCD ieslēdzas un parāda sitienu vērtību joslā. Tas gaida 3 sekundes, līdz lietotājs maina vērtību, pēc kura tā iegūst iegūto vērtību kā ievadi. Šī vērtība svārstās no 1/4, 2/4, 3/4, 4/4.

Tad tas parāda sitienus minūtē (sitieni minūtē) un atkal gaida 3 sekundes, līdz lietotājs mainīs vērtību, pēc kuras tā nosaka konkrēto vērtību. Šis 3 sekunžu gaidīšanas laiks tiek kalibrēts pēc tam, kad lietotājs ir mainījis vērtību. Bpm vērtības var svārstīties no 30 līdz 240. Nospiežot pogu Iestatīšana bpm iestatīšanas laikā, tā vērtība tiek atiestatīta uz 30 sitieniem minūtē, kas palīdz samazināt pogu klikšķu skaitu. Bpm vērtības ir 5 reizinājumi.

Kad iestatīšana ir pabeigta, LCD fona apgaismojums izslēdzas, lai taupītu akumulatoru. Skaņas signāls pīkst vienu reizi par katru sitienu, un gaismas diodes mirgo pa vienam pārmaiņus par katru sitienu. Lai mainītu vērtības, tiek nospiesta iestatīšanas poga. To darot, ieslēdzas LCD fona apgaismojums un ritma uzvedne parādās tieši tāpat kā iepriekš minēts, pēc tam veicot to pašu procedūru.

Atmega8A mikrokontrolleris sastāv no 500 baitiem EEPROM, kas nozīmē, ka visas ievadītās sitienu un sitienu vērtības tiek saglabātas pat pēc metronoma izslēgšanas. Tādējādi, ieslēdzot to atpakaļ, tas tiek atsākts ar tiem pašiem datiem, kas tika ievadīti iepriekš.

Relimate savienotājs faktiski ir SPI galvene, ko var izmantot diviem mērķiem. To var izmantot, lai pārprogrammētu mikrokontrolleri Atmega8A, lai atjauninātu tā programmaparatūru un pievienotu jaunas funkcijas metronomam. Otrkārt, ārēju barošanas avotu var izmantot arī, lai barotu metronomu smagajiem lietotājiem. Bet šis barošanas avots nedrīkst būt lielāks par 5,5 voltiem, un tas ignorē ON/OFF slēdzi. Drošības apsvērumu dēļ šim slēdzim IR jābūt izslēgtam, lai ārējais barošanas avots netiktu īss ar iebūvētajām baterijām.

4. darbība. Apraksts

Šis projekts tiek veikts, izmantojot Atmel Atmega8A mikrokontrolleru, kas ir ieprogrammēts, izmantojot Arduino IDE, izmantojot Arduino Uno/Mega/Nano, ko izmanto kā ISP programmētāju.

Šis mikrokontrolleris ir mazāk piedāvāta Atmel Atmega328p versija, kas tiek plaši izmantota Arduino Uno. Atmega8A sastāv no 8 KB programmējamas atmiņas ar 1 KB RAM. Tas ir 8 bitu mikrokontrolleris, kas darbojas tādā pašā frekvencē kā 328p, t.i., 16 MHz.

Šajā projektā, tā kā pašreizējais patēriņš ir svarīgs aspekts, pulksteņa frekvence ir samazināta un tiek izmantots iekšējais 1 Mhz oscilators. Tas ievērojami samazina pašreizējo vajadzību līdz aptuveni 3,5 mA @3,3 V un 5 mA 4,5 V.

Arduino IDE nav iespēju programmēt šo mikrokontrolleri. Tādējādi tika instalēta pakotne “Minicore” (spraudnis), lai darbinātu 8A ar iekšējo oscilatoru, izmantojot Optiboot sāknēšanas ielādētāju. Tika pamanīts, ka projekta jaudas nepieciešamība palielinājās, palielinoties spriegumam. Tādējādi, lai optimāli izmantotu jaudu, mikrokontrolleru darbināja 1 MHz ar vienu 3 V monētu akumulatoru, kas zīmēja tikai 3,5 mA. Bet tika novērots, ka LCD nedarbojas pareizi pie tik zema sprieguma. Tādējādi tika pieņemts lēmums sērijveidā izmantot divas monētu baterijas, lai samazinātu spriegumu līdz 6 V. Bet tas nozīmēja, ka pašreizējais patēriņš palielinājās līdz 15 mA, kas bija milzīgs trūkums, jo akumulatora darbības laiks kļūs ļoti slikts. Tas arī pārsniedza 8A mikrokontrollera drošā sprieguma robežu 5,5 V.

Tādējādi 330 omu rezistors tika savienots virknē ar 6V barošanas avotu, lai atbrīvotos no šīs problēmas. Rezistors būtībā izraisa sprieguma kritumu sevī, lai pazeminātu sprieguma līmeni 5,5 V robežās, lai droši darbinātu mikrokontrolleru. Turklāt vērtība 330 tika izvēlēta, ņemot vērā dažādus faktorus:

  • · Mērķis bija darbināt 8A pēc iespējas zemākā spriegumā, lai taupītu enerģiju.
  • · Tika novērots, ka LCD pārtrauca darbu zem 3.2V, lai gan mikrokontrolleris joprojām darbojās
  • · Šī vērtība 330 nodrošina, ka sprieguma kritumi galējās robežās ir precīzi precīzi, lai pilnībā izmantotu monētu baterijas.
  • · Kad monētu šūnas sasniedza maksimumu, spriegums bija aptuveni 6,3 V, un 8A saņēma efektīvo spriegumu 4,6 - 4,7 V (@ 5mA). Un, kad baterijas bija gandrīz izžuvušas, spriegums bija aptuveni 4 V, un 8A un LCD saņēma pietiekami daudz sprieguma, ti, 3,2 V, lai pareizi darbotos. (@3,5 mA)
  • · Zem 4V bateriju līmeņa tās faktiski bija bezjēdzīgas, bez sulas, lai kaut ko darbinātu. Sprieguma kritums rezistorā mainās visu laiku, jo 8A mikrokontrollera un LCD patēriņš samazinās, samazinot spriegumu, kas būtībā palīdz palielināt akumulatora darbības laiku.

16*2 LCD tika ieprogrammēts, izmantojot Arduino IDE iebūvēto LiquidCrystal bibliotēku. Tas izmanto 6 8A mikrokontrollera datu tapas. Turklāt tā spilgtumu un kontrastu kontrolēja, izmantojot divas datu tapas. Tas tika darīts tā, lai neizmantotu papildu komponentu, ti, potenciometru. Tā vietā ekrāna kontrasta pielāgošanai tika izmantota datu tapas D9 PWM funkcija. Arī LCD fona apgaismojumam bija jābūt izslēgtam, kad tas nebija nepieciešams, tāpēc tas nebūtu bijis iespējams, neizmantojot datu tapu tā barošanai. Lai ierobežotu pretgaismas gaismas diodes strāvu, tika izmantots 220 omu rezistors.

Signāls un gaismas diodes tika savienotas arī ar 8A datu tapām (pa vienai katrai). Lai ierobežotu strāvu pāri sarkanajai gaismas diodei, tika izmantots 5,6 k omu rezistors, savukārt zaļajam - 1 k omi. Rezistoru vērtības ir izvēlētas, iegūstot saldu vietu starp spilgtumu un pašreizējo patēriņu.

IESLĒGŠANAS/IZSLĒGŠANAS poga nav savienota ar datu tapu un ir tikai slēdzis, kas pārslēdz projektu. Viens no tā spailēm ir savienots ar 330 omu rezistoru, bet otrs - ar LCD un 8A Vcc tapām. Abas pārējās pogas ir savienotas ar datu tapām, kas ar programmatūras palīdzību tiek iekšēji izvilktas līdz barošanas spriegumam. Tas ir nepieciešams slēdžu darbam.

Turklāt datu tapa, ar kuru savieno iestatīšanas poga, ir aparatūras pārtraukšanas tapa. Tās pārtraukšanas pakalpojumu rutīna (ISR) tiek aktivizēta Arduino IDE. Tas nozīmē, ka ikreiz, kad lietotājs vēlas palaist iestatīšanas izvēlni, 8A pārtrauc savu pašreizējo darbību kā metronomu un palaiž ISR, kas pamatā aktivizē iestatīšanas izvēlni. Pretējā gadījumā lietotājs nevarēs piekļūt iestatīšanas izvēlnei.

Iepriekš minētā EEPROM opcija nodrošina, ka ievadītie dati paliek saglabāti arī pēc paneļa izslēgšanas. Un SPI galvenē ir 6 tapas - Vcc, Gnd, MOSI, MISO, SCK, RST. Šī ir daļa no SPI protokola, un, kā minēts iepriekš, ISP programmētāju var izmantot, lai atkal ieprogrammētu 8A, lai pievienotu jaunas funkcijas vai kaut ko citu. Vcc tapa ir izolēta no akumulatora pozitīvās spailes, un tāpēc Metronoms nodrošina iespēju izmantot ārēju barošanas avotu, paturot prātā iepriekš minētos ierobežojumus.

Viss projekts tika uzbūvēts Veroboard, lodējot atsevišķas sastāvdaļas un atbilstošos savienojumus saskaņā ar shēmu.

Ieteicams: