Turinys:

Mikrovaldikliu pagrįstas metronomas: 5 žingsniai
Mikrovaldikliu pagrįstas metronomas: 5 žingsniai

Video: Mikrovaldikliu pagrįstas metronomas: 5 žingsniai

Video: Mikrovaldikliu pagrįstas metronomas: 5 žingsniai
Video: M#1: Nustatykite Outseal PLC Mega su ATmega128 plėtros plokšte | Outseal Dev. PLC Mega 2024, Liepa
Anonim
Image
Image

Metronomas yra laiko nustatymo prietaisas, kurį naudoja muzikantai, norėdami sekti dainų ritmus ir ugdyti laiko pojūtį pradedantiesiems, besimokantiems naujo instrumento. Tai padeda išlaikyti ritmo jausmą, kuris yra labai svarbus muzikoje.

Šis čia pastatytas metronomas gali būti naudojamas dūžių skaičiui per barą ir dūžių per minutę nustatymui. Įvedus šiuos sąrankos duomenis, jis pypteli pagal duomenis kartu su atitinkamu apšvietimu, naudojant šviesos diodus. Sąrankos duomenys rodomi LCD ekrane.

1 veiksmas: reikalingi komponentai:

·

  • „Atmega8A“mikrovaldiklis
  • · 16*2 LCD ekranas
  • · Pjezo garsinis signalas
  • · Šviesos diodai (žalia, raudona)
  • · Rezistoriai (220e, 330e, 1k, 5.6k)
  • · Mygtukai (2* antiblokavimas, 1* fiksavimas)
  • · 3 V CR2032 monetų elementų baterija (*2)
  • Monetų baterijų laikiklis (*2)
  • · 6 kontaktų Relimate (poliarizuota) jungtis

2 žingsnis: grandinės sukūrimas

Prijunkite grandinės jungtis, kaip parodyta paveikslėlyje, ir tinkamai lituokite jungtis

3 žingsnis: Metronomo ypatybės

Metronomo sąsają daugiausia užima LCD ekranas. Virš jo yra 8A mikrovaldiklis, esantis centre, su šviesos diodais ir garsiniu signalu dešinėje. Trys jungikliai ir „Relimate“jungtis yra viršuje.

Visą projektą maitina tik dvi monetų elementų baterijos (serijinė @6V 220 mAh), kurių veikimo laikas yra nuo 20 dienų iki 1 mėnesio (ne nuolat). Taigi jis yra vidutiniškai efektyvus ir reikalauja 3–5 mA srovės.

Savaime užsifiksuojantis jungiklis yra kairėje pusėje ir yra įjungimo/išjungimo mygtukas. Viduryje esantis mygtukas yra sąrankos mygtukas, o dešinėje esantis mygtukas naudojamas keisti bpm ir dūžių reikšmes (per juostą).

Kai paspaudžiamas įjungimo/išjungimo jungiklis, LCD įjungiamas ir rodoma kiekvieno baro dūžių vertė. Jis laukia 3 sekundes, kol vartotojas pakeis vertę, po kurios gautą vertę priima kaip įvestį. Ši vertė svyruoja tarp 1/4, 2/4, 3/4, 4/4.

Tada jis parodo dūžius per minutę (bpm) ir vėl laukia 3 sekundes, kol vartotojas pakeis vertę, po kurios nustato konkrečią vertę. Šis 3 sekundžių laukimo laikas kalibruojamas vartotojui pakeitus vertę. „Bpm“reikšmės gali skirtis nuo 30 iki 240. Paspaudus sąrankos mygtuką nustatant „bpm“, jo vertė atkuriama iki 30 dūžių per minutę, o tai padeda sumažinti mygtukų paspaudimų skaičių. Bpm reikšmės yra 5 kartotinės.

Atlikus sąranką, LCD foninis apšvietimas išsijungia, kad būtų taupoma baterija. „Buzzer“pypteli vieną kartą kiekvieną kartą, o šviesos diodai mirksi po vieną pakaitomis. Norėdami pakeisti vertes, paspauskite sąrankos mygtuką. Tai padarius, LCD apšvietimas įsijungia ir ritmo raginimas pasirodo taip, kaip minėta anksčiau, atlikus tą pačią procedūrą.

„Atmega8A“mikrovaldiklį sudaro 500 baitų EEPROM, o tai reiškia, kad visos įvestos dūžių ir dūžių reikšmės lieka saugomos net ir išjungus metronomą. Taigi, vėl įjungus, jis tęsiamas su tais pačiais duomenimis, kurie buvo įvesti anksčiau.

„Relimate“jungtis iš tikrųjų yra SPI antraštė, kuri gali būti naudojama dviem tikslais. Jis gali būti naudojamas perprogramuoti „Atmega8A“mikrovaldiklį, kad būtų atnaujinta jo programinė įranga ir pridėta naujų funkcijų metronomui. Antra, išorinis maitinimo šaltinis taip pat gali būti naudojamas stipriems vartotojams metronomui maitinti. Tačiau šis maitinimo šaltinis turi būti ne didesnis kaip 5,5 volto ir viršija įjungimo/išjungimo jungiklį. Saugumo sumetimais šis jungiklis TURI būti išjungtas, kad išorinis maitinimas netrumpėtų su įmontuotomis baterijomis.

4 žingsnis: aprašymas

Šis projektas sukurtas naudojant „Atmel Atmega8A“mikrovaldiklį, kuris užprogramuotas naudojant „Arduino IDE“per „Arduino Uno“/„Mega/Nano“, naudojamą kaip interneto paslaugų teikėjo programuotojas.

Šis mikrovaldiklis yra silpnesnė „Atmel Atmega328p“versija, plačiai naudojama „Arduino Uno“. „Atmega8A“sudaro 8 KB programuojama atmintis ir 1 KB RAM. Tai 8 bitų mikrovaldiklis, veikiantis tokiu pat dažniu kaip ir 328p, ty 16Mhz.

Šiame projekte, kadangi srovės suvartojimas yra svarbus aspektas, sumažintas laikrodžio dažnis ir naudojamas vidinis 1 Mhz osciliatorius. Tai labai sumažina srovės poreikį iki maždaug 3,5 mA @3.3V ir 5mA @4.5V.

„Arduino IDE“neturi galimybės užprogramuoti šio mikrovaldiklio. Taigi buvo įdiegtas „Minicore“paketas (papildinys), kad būtų galima paleisti 8A su vidiniu osciliatoriumi, naudojant „Optiboot“įkrovos tvarkyklę. Pastebėta, kad didėjant įtampai projekto energijos poreikis didėjo. Taigi, norint optimaliai išnaudoti energiją, mikrovaldiklis buvo nustatytas veikti 1 MHz dažniu, o viena 3 V monetų baterija ima tik 3,5 mA. Tačiau buvo pastebėta, kad LCD veikia netinkamai esant tokiai žemai įtampai. Taigi sprendimas naudoti dvi monetų baterijas nuosekliai buvo pritaikytas norint sumažinti įtampą iki 6 V. Tačiau tai reiškė, kad dabartinis suvartojimas padidėjo iki 15 mA, o tai buvo didžiulis trūkumas, nes baterijos veikimo laikas bus labai prastas. Be to, jis viršijo 8A mikrovaldiklio saugią 5,5 V įtampos ribą.

Taigi 330 omų rezistorius buvo nuosekliai prijungtas prie 6 V maitinimo šaltinio, kad būtų pašalinta ši problema. Rezistorius iš esmės sukelia įtampos kritimą, kad sumažėtų įtampos lygis per 5,5 V, kad būtų galima saugiai paleisti mikrovaldiklį. Be to, 330 vertė buvo pasirinkta atsižvelgiant į įvairius veiksnius:

  • · Tikslas buvo paleisti 8A kuo žemesne įtampa, kad būtų taupoma energija.
  • · Pastebėta, kad LCD nustojo veikti žemiau 3,2 V, nors mikrovaldiklis vis dar veikė
  • · Ši 330 vertė užtikrina, kad įtampos kritimas esant kraštutinumui yra tiksliai tikslus, kad būtų galima pilnai išnaudoti monetų baterijas.
  • · Kai monetų elementai pasiekė aukščiausią tašką, įtampa buvo apie 6,3 V, o 8A gavo 4,6 - 4,7 V (@ 5mA) efektyviąją įtampą. Ir kai baterijos buvo beveik išdžiūvusios, įtampa buvo apie 4 V, o 8A, o LCD gavo pakankamai įtampos, ty 3,2 V, kad tinkamai veiktų. (@3,5 mA)
  • · Žemiau nei 4 V baterijų lygis, jie buvo praktiškai nenaudingi be jokių sulčių, kad galėtų ką nors maitinti. Įtampos kritimas rezistoriuje kinta visą laiką, nes 8A mikrovaldiklio ir LCD sunaudojama srovė mažėja mažinant įtampą, o tai iš esmės padeda pailginti baterijos veikimo laiką.

16*2 skystųjų kristalų ekranas buvo užprogramuotas naudojant įmontuotą „Arduino IDE“biblioteką „LiquidCrystal“. Jame naudojami 6 8A mikrovaldiklio duomenų kaiščiai. Be to, jo ryškumas ir kontrastas buvo kontroliuojami naudojant du duomenų kaiščius. Tai buvo padaryta taip, kad nebūtų naudojamas papildomas komponentas, ty potenciometras. Vietoj to, ekrano kontrastui reguliuoti buvo naudojama duomenų kaiščio D9 PWM funkcija. Taip pat LCD foninis apšvietimas turėjo būti išjungtas, kai to neprireikė, todėl to nebūtų buvę įmanoma padaryti nenaudojant duomenų kaiščio. 220 omų rezistorius buvo naudojamas apriboti srovę per apšvietimo šviesos diodą.

„Buzzer“ir šviesos diodai taip pat buvo prijungti prie 8A duomenų kaiščių (po vieną kiekvienam). Srovės ribojimui per raudoną šviesos diodą buvo naudojamas 5,6 k omų rezistorius, o žaliam - 1 k omas. Rezistorių vertės buvo parinktos įsigyjant saldžią vietą tarp ryškumo ir srovės suvartojimo.

ĮJUNGIMO/IŠJUNGIMO mygtukas nėra prijungtas prie duomenų kaiščio ir yra tik jungiklis, perjungiantis projektą. Vienas iš jo gnybtų yra prijungtas prie 330 omų rezistoriaus, o kitas - prie LCD ir 8A Vcc kaiščių. Kiti du mygtukai yra prijungti prie duomenų kaiščių, kurie viduje yra ištraukiami tiekti įtampą per programinę įrangą. Tai būtina jungiklių veikimui.

Be to, duomenų kaištis, prie kurio jungiamas sąrankos mygtukas, yra aparatūros pertraukimo kaištis. „Arduino IDE“įjungiama jos pertraukimo paslaugų tvarka (ISR). Tai reiškia, kad kiekvieną kartą, kai vartotojas nori paleisti sąrankos meniu, 8A sustabdo dabartinį metronomo veikimą ir paleidžia ISR, kuris iš esmės suaktyvina sąrankos meniu. Priešingu atveju vartotojas negalės pasiekti sąrankos meniu.

Anksčiau paminėta EEPROM parinktis užtikrina, kad įvesti duomenys išliktų saugomi net ir išjungus plokštę. O SPI antraštę sudaro 6 kaiščiai - Vcc, Gnd, MOSI, MISO, SCK, RST. Tai yra SPI protokolo dalis ir, kaip minėta anksčiau, ISP programuotojas gali būti naudojamas programuoti 8A, kad būtų galima pridėti naujų funkcijų ar dar ko nors. „Vcc“kaištis yra izoliuotas nuo teigiamo akumuliatoriaus gnybto, todėl „Metronome“suteikia galimybę naudoti išorinį maitinimo šaltinį, atsižvelgiant į anksčiau minėtus apribojimus.

Visas projektas buvo sukonstruotas „Veroboard“, lituojant atskirus komponentus ir atitinkamas jungtis pagal schemą.

Rekomenduojamas: