Përmbajtje:

Metronome e bazuar në mikrokontrollues: 5 hapa
Metronome e bazuar në mikrokontrollues: 5 hapa

Video: Metronome e bazuar në mikrokontrollues: 5 hapa

Video: Metronome e bazuar në mikrokontrollues: 5 hapa
Video: Новый виток истории ►1 Прохождение Remothered: Broken Porcelain 2024, Korrik
Anonim
Image
Image

Një metronome është një pajisje kohore e përdorur nga muzikantët për të mbajtur nën kontroll ritmet në këngë dhe për të zhvilluar një ndjenjë të kohës mes fillestarëve që po mësojnë një instrument të ri. Ndihmon për të ruajtur një ndjenjë ritmi e cila është vendimtare në muzikë.

Ky metronomë i ndërtuar këtu mund të përdoret për të vendosur numrin e rrahjeve për shirit dhe rrahjet në minutë. Pasi të futen këto të dhëna të konfigurimit, bip sipas të dhënave shoqërohet me ndriçim të përshtatshëm duke përdorur LED. Të dhënat e konfigurimit shfaqen në një ekran LCD.

Hapi 1: Përbërësit e kërkuar:

·

  • Mikrokontrolluesi Atmega8A
  • · Ekran 16*2 LCD
  • · Piezo Buzzer
  • · LED (jeshile, e kuqe)
  • · Rezistenca (220e, 330e, 1k, 5.6k)
  • · Butona (2* anti-mbyllje, 1* mbyllje)
  • · Bateri 3V CR2032 Coin Cell (*2)
  • Mbajtës i baterisë së monedhës (*2)
  • · Lidhës 6pin Relimate (i polarizuar)

Hapi 2: Krijimi i qarkut

Bëni lidhjet e qarkut siç tregohet në figurë në një pllakë vero dhe lidhini lidhjet siç duhet

Hapi 3: Karakteristikat e Metronomit

Ndërfaqja e metronome është e zënë kryesisht nga ekrani LCD. Mbi të është mikrokontrolluesi 8A i vendosur në qendër me LED dhe zile në të djathtë. Tre çelsat dhe lidhësi Relimate janë vendosur në krye.

I gjithë projekti mundësohet vetëm nga dy bateri me qeliza monedhash (në seri @6V 220mAh) me një kohëzgjatje të vlerësuar prej 20 ditësh në 1 muaj (jo vazhdimisht). Prandaj, është me efikasitet të moderuar të energjisë dhe ka një kërkesë aktuale prej 3 - 5 mA.

Çelësi i vetë -kyçjes vendoset në skajin e majtë ekstrem dhe është butoni ON/OFF. Butoni në mes është butoni Setup dhe butoni në të djathtë përdoret për të ndryshuar vlerat për bpm dhe rrahjet (për bar).

Kur shtypet çelësi ON/OFF, LCD ndizet dhe shfaq vlerën e rrahjeve për bar. Ai pret 3 sekonda që përdoruesi të ndryshojë vlerën, pas së cilës merr vlerën rezultante si hyrje të saj. Kjo vlerë varion midis 1/4, 2/4, 3/4, 4/4.

Pastaj shfaq rrahjet në minutë (bpm) dhe përsëri pret për 3 sekonda që përdoruesi të ndryshojë vlerën pas së cilës vendos vlerën e veçantë. Kjo kohë pritjeje prej 3 sekondash kalibrohet pasi përdoruesi ndryshon një vlerë. Vlerat e rrahjeve në minutë mund të ndryshojnë nga 30 në 240. Shtypja e butonit Setup gjatë konfigurimit të bpm rivendos vlerën e tij në 30 rpm, e cila është e dobishme në zvogëlimin e sasisë së klikimeve të butonit. Vlerat e bpm janë shumëfish të 5.

Pas përfundimit të konfigurimit, drita e pasme e LCD -së fiket për të kursyer baterinë. Zileja bip një herë për çdo rrahje dhe LED -të vezullojnë një nga një në mënyrë alternative për secilën rrahje. Për të ndryshuar vlerat, shtypet butoni Setup. Me ta bërë këtë, drita e pasme e ekranit LCD ndizet dhe kërkesa e rrahjes shfaqet ashtu siç u përmend më parë me të njëjtën procedurë më pas.

Mikrokontrolluesi Atmega8A përbëhet nga 500 bajtë të EEPROM që do të thotë se çfarëdo vlere të rrahjeve dhe bpm të futen, mbeten të ruajtura edhe pasi të jetë fikur metronomi. Prandaj, duke e ndezur përsëri, e bën atë të rifillojë me të njëjtat të dhëna që ishin futur më parë.

Lidhësi Relimate është në të vërtetë një kokë SPI e cila mund të përdoret për dy qëllime. Mund të përdoret për të riprogramuar mikrokontrolluesin Atmega8A për të përditësuar firmware -in e tij dhe për të shtuar veçori të reja në metronome. Së dyti, një furnizim me energji të jashtme mund të përdoret gjithashtu për të fuqizuar metronomin për përdoruesit e fortë. Por ky furnizim me energji nuk duhet të jetë më i madh se 5.5 volt dhe tejkalon çelësin ON/OFF. Për arsye sigurie, ky çelës DUHET të jetë i fikur në mënyrë që furnizimi i jashtëm të mos shkurtohet me bateritë e integruara.

Hapi 4: Përshkrimi

Ky projekt është bërë duke përdorur mikrokontrolluesin Atmel Atmega8A i cili është programuar duke përdorur Arduino IDE nëpërmjet një Arduino Uno/Mega/Nano të përdorur si një Programues ISP.

Ky mikrokontrollues është një version më pak i paraqitur i Atmel Atmega328p i cili përdoret gjerësisht në Arduino Uno. Atmega8A përmban një memorie të programueshme 8Kb me 1Kb RAM. Shtë një mikrokontrollues 8 bit që funksionon me të njëjtën frekuencë si 328p dmth 16Mhz.

Në këtë projekt, pasi konsumi aktual është një aspekt i rëndësishëm, frekuenca e orës është zvogëluar dhe përdoret oshilatori i brendshëm 1 Mhz. Kjo zvogëlon shumë kërkesën aktuale në rreth 3.5 mA @3.3V dhe 5mA @4.5V.

Arduino IDE nuk ka aftësinë për të programuar këtë mikrokontrollues. Prandaj, një paketë "plugin" Minicore u instalua për të drejtuar 8A me oshilatorin e saj të brendshëm duke përdorur një bootloader Optiboot. U vu re se kërkesa për energji e projektit u rrit me rritjen e tensionit. Prandaj, për shfrytëzimin optimal të energjisë, mikrokontrolluesi ishte vendosur të punonte në 1 MHz me një bateri monedhë të vetme 3V që tërhiqte vetëm 3.5mA. Por u vu re se LCD nuk po funksiononte siç duhet në një tension kaq të ulët. Prandaj vendimi i përdorimit të dy baterive të monedhave në seri u aplikua për të përplasur tensionin në 6V. Por kjo do të thoshte se konsumi aktual u rrit në 15mA që ishte një pengesë e madhe pasi jeta e baterisë do të bëhej shumë e dobët. Gjithashtu tejkaloi kufirin e tensionit të sigurt prej 5.5V të mikrokontrolluesit 8A.

Prandaj, një rezistencë 330 ohm u lidh në seri me furnizimin me energji 6V për të hequr qafe këtë problem. Rezistenca në thelb shkakton një rënie të tensionit në vetvete për të ulur nivelin e tensionit brenda 5.5V për të drejtuar në mënyrë të sigurt mikrokontrolluesin. Për më tepër, vlera e 330 u zgjodh duke marrë parasysh faktorë të ndryshëm:

  • · Qëllimi ishte që 8A të funksiononte në një tension sa më të ulët të ishte e mundur për të kursyer energji.
  • · U vu re që lcd -ja ndaloi së punuari nën 3.2V edhe pse mikrokontrolluesi funksiononte akoma
  • · Kjo vlerë prej 330 sigurohet që rënia e tensionit në ekstremet të jetë saktësisht e saktë për të përdorur plotësisht bateritë e monedhës.
  • · Kur qelizat e monedhës ishin në kulmin e tyre, tensioni ishte rreth 6.3V, me 8A që merrte një tension efektiv prej 4.6 - 4.7 V (@ 5mA). Dhe kur bateritë pothuajse ishin tharë, voltazhi ishte rreth 4V me 8A dhe LCD -ja merrte vetëm tension të mjaftueshëm dmth 3.2V për të funksionuar si duhet. (@3.5mA)
  • · Nën nivelin 4v të baterive, ato ishin efektivisht të padobishme pa asnjë lëng të lënë për të fuqizuar asgjë. Rënia e tensionit në rezistencë ndryshon gjatë gjithë kohës pasi konsumi aktual i mikrokontrolluesit 8A dhe LCD zvogëlohet me zvogëlimin e tensionit i cili në thelb ndihmon në rritjen e jetës së baterisë.

LCD 16*2 u programua duke përdorur bibliotekën e ndërtuar në LiquidCrystal të Arduino IDE. Ai përdor 6 kunja të të dhënave të mikrokontrolluesit 8A. Për më tepër, shkëlqimi dhe kontrasti i tij u kontrolluan duke përdorur dy kunja të të dhënave. Kjo është bërë në mënyrë që të mos përdoret një komponent shtesë, pra një potenciometër. Në vend të kësaj, funksioni PWM i pinit të të dhënave D9 u përdor për të rregulluar kontrastin e ekranit. Gjithashtu drita e pasme LCD duhej të ishte e fikur kur nuk kërkohej, kështu që kjo nuk do të ishte e mundur pa përdorur një pin të dhënash për ta fuqizuar atë. Një rezistencë 220 ohm u përdor për të kufizuar rrymën në LED të dritës së prapme.

Buzzer dhe LED ishin gjithashtu të lidhur me kunjat e të dhënave të 8A (një për secilën). Një rezistencë 5.6 khm u përdor për të kufizuar rrymën në LED të kuq ndërsa një 1k Ohm për atë të gjelbër. Vlerat e rezistencës janë zgjedhur duke fituar një pikë të ëmbël midis shkëlqimit dhe konsumit aktual.

Butoni ON/OFF nuk është i lidhur me një pin të dhënash dhe është thjesht një çelës që ndërron projektin. Një nga terminalet e tij lidhet me rezistencën 330 ohm ndërsa tjetri lidhet me kunjat Vcc të LCD dhe 8A. Dy butonat e tjerë janë të lidhur me kunjat e të dhënave që tërhiqen brenda për të furnizuar tensionin përmes softuerit. Kjo është e nevojshme për funksionimin e çelsave.

Për më tepër, kunja e të dhënave, butoni Setup lidhet me të, është një kartë ndërprerëse e harduerit. Rutina e shërbimit të ndërprerjes (ISR) aktivizohet në Arduino IDE. Çfarë do të thotë kjo është se sa herë që përdoruesi dëshiron të ekzekutojë menunë e konfigurimit, 8A pezullon funksionimin e tij aktual të punës si metronome, dhe ekzekuton ISR e cila në thelb aktivizon menunë e konfigurimit. Përndryshe, përdoruesi nuk do të jetë në gjendje të hyjë në menunë Setup.

Opsioni EEPROM i përmendur më parë sigurohet që të dhënat e futura të ruhen edhe pasi bordi është i fikur. Dhe titulli SPI përbëhet nga 6 kunja - Vcc, Gnd, MOSI, MISO, SCK, RST. Kjo është pjesë e protokollit SPI dhe siç u përmend më parë, një programues ISP mund të përdoret për të programuar përsëri 8A për të shtuar veçori të reja ose ndonjë gjë tjetër. Kunja Vcc është e izoluar nga terminali pozitiv i baterisë dhe kështu Metronome siguron mundësinë për të përdorur një furnizim me energji të jashtme duke mbajtur parasysh kufizimet e përmendura më parë.

I gjithë projekti u ndërtua në një Veroboard duke bashkuar përbërësit individualë dhe lidhjet e duhura sipas diagramit të qarkut.

Recommended: