Talaan ng mga Nilalaman:

Batay sa Micro-controller na Metronome: 5 Mga Hakbang
Batay sa Micro-controller na Metronome: 5 Mga Hakbang

Video: Batay sa Micro-controller na Metronome: 5 Mga Hakbang

Video: Batay sa Micro-controller na Metronome: 5 Mga Hakbang
Video: LDmicro 13: HC-05 Bluetooth Phone App Control (Microcontroller PLC Ladder Programming with LDmicro) 2024, Nobyembre
Anonim
Image
Image

Ang isang metronome ay isang aparato sa tiyempo na ginagamit ng mga musikero upang subaybayan ang mga beats sa mga kanta at upang mabuo ang isang oras ng pagsama sa mga nagsisimula na natututo ng isang bagong instrumento. Nakakatulong ito upang mapanatili ang isang pakiramdam ng ritmo na mahalaga sa musika.

Ang metronome na binuo dito ay maaaring magamit upang maitakda ang bilang ng mga beats bawat bar at ang beats bawat minuto. Kapag naipasok na ang data ng pag-setup na ito, sumisipi ito ayon sa data na sinamahan ng naaangkop na pag-iilaw gamit ang mga LED. Ang data ng pag-setup ay ipinapakita sa isang LCD screen.

Hakbang 1: Kinakailangan ang Mga Bahagi:

·

  • Atmega8A Microcontroller
  • · 16 * 2 Lcd Display
  • · Piezo Buzzer
  • · Mga LED (berde, pula)
  • · Mga Resistor (220e, 330e, 1k, 5.6k)
  • · Mga Pushbutton (2 * anti-locking, 1 * locking)
  • · 3V CR2032 Coin Cell Battery (* 2)
  • Coin Holder ng Baterya (* 2)
  • · Relasyong 6pin (naka-polarised) Connector

Hakbang 2: Paggawa ng Circuit

Gawin ang mga koneksyon sa circuit tulad ng ipinakita sa larawan sa isang veroboard at solder ang mga koneksyon nang maayos

Hakbang 3: Mga Tampok ng Metronome

Pangunahin ang interface ng metronome ng lcd screen. Sa itaas nito ay ang 8A microcontroller na inilagay sa gitna ng mga LED at buzzer sa kanan. Ang tatlong mga switch at ang Relimate konektor ay inilalagay sa itaas.

Ang buong proyekto ay pinalakas ng dalawang coin cell baterya lamang (sa serye @ 6V 220mAh) na may tinatayang runtime na 20 araw hanggang 1 buwan (hindi tuloy-tuloy). Samakatuwid ito ay katamtamang mabisa at may kasalukuyang kinakailangan na 3 - 5 mA.

Ang switch ng self locking ay inilalagay sa matinding kaliwa at ang ON / OFF na pindutan. Ang pindutan sa gitna ay ang pindutan ng Pag-setup at ang pindutan sa kanan ay ginagamit upang baguhin ang mga halaga para sa bpm at beats (bawat bar).

Kapag ang ON / OFF switch ay pinindot, ang lcd ay nakabukas at ipinapakita ang halaga ng mga beats bawat bar. Naghihintay ito ng 3 segundo para sa gumagamit na baguhin ang halaga pagkatapos nito ay kukuha ng resulta na halaga bilang input nito. Saklaw ang halagang ito sa pagitan ng 1/4, 2/4, 3/4, 4/4.

Pagkatapos ay ipinapakita nito ang mga beats bawat minuto (bpm) at muling naghihintay ng 3 segundo para baguhin ng gumagamit ang halaga kung saan itinakda nito ang partikular na halaga. Ang oras ng paghihintay na ito ng 3 segundo ay na-calibrate pagkatapos baguhin ng gumagamit ang isang halaga. Ang mga halaga ng bpm ay maaaring mag-iba mula 30 hanggang 240. Ang pagpindot sa pindutan ng Pag-setup habang ang pag-set up ng bpm ay na-reset ang halaga nito sa 30 bpm na kapaki-pakinabang sa pagbawas ng dami ng mga pag-click sa pindutan. Ang mga halagang bpm ay maramihang 5.

Matapos ang pag-set up ay tapos na, ang lcd backlight ay papatayin upang makatipid ng baterya. Ang Buzzer ay umiikot nang isang beses para sa bawat talo at ang mga LED ay kumikislap nang paisa-isa para sa bawat pagtalo. Upang baguhin ang mga halaga, ang pindutan ng Pag-setup ay pinindot. Sa paggawa nito, ang lcd backlight ay nakabukas at ang beat prompt ay lilitaw tulad ng nabanggit dati na may parehong pamamaraan pagkatapos.

Ang Atmega8A microcontroller ay binubuo ng 500 bytes ng EEPROM na nangangahulugang ang anumang halaga ng beats at bpm na ipinasok, mananatiling nakaimbak kahit na naka-off ang metronome. Samakatuwid pag-on ito muli, ginagawang muli sa parehong data na ipinasok dati.

Ang Relatibong konektor ay talagang isang header ng SPI na maaaring magamit para sa dalawang layunin. Maaari itong magamit upang muling pagprogram ng Atmega8A microcontroller upang mai-update ang firmware nito at magdagdag ng mga bagong tampok sa metronome. Pangalawa, ang isang panlabas na supply ng kuryente ay maaari ding magamit upang mapalakas ang metronome para sa mga hardcore na gumagamit. Ngunit ang supply ng kuryente na ito ay hindi dapat mas malaki sa 5.5 volts at pinalalampas nito ang switch na ON / OFF. Para sa mga kadahilanang pangkaligtasan, ang switch na ito ay DAPAT patayin upang ang panloob na suplay ay hindi maikli sa mga nakapaloob na baterya.

Hakbang 4: Paglalarawan

Ang proyektong ito ay ginawa gamit ang Atmel Atmega8A microcontroller na na-program na gamit ang Arduino IDE sa pamamagitan ng isang Arduino Uno / Mega / Nano na ginamit bilang isang ISP Programmer.

Ang microcontroller na ito ay isang mas maliit na tampok na bersyon ng Atmel Atmega328p na malawakang ginagamit sa Arduino Uno. Ang Atmega8A ay binubuo ng 8Kb programmable memory na may 1Kb RAM. Ito ay isang 8 bit microcontroller na tumatakbo sa parehong dalas ng 328p ibig sabihin 16Mhz.

Sa proyektong ito, dahil ang kasalukuyang pagkonsumo ay isang mahalagang aspeto, nabawasan ang dalas ng orasan at ginamit ang panloob na 1 Mhz oscillator. Lubhang binabawasan nito ang kasalukuyang kinakailangan sa halos 3.5 mA @ 3.3V at 5mA @ 4.5V.

Ang Arduino IDE ay walang pasilidad upang mai-program ang microcontroller na ito. Samakatuwid ang isang "Minicore" na pakete (plugin) ay na-install upang patakbuhin ang 8A kasama ang panloob na oscillator na gumagamit ng isang Optiboot bootloader. Napansin na ang kinakailangan ng kuryente ng proyekto ay tumaas sa pagtaas ng boltahe. Samakatuwid para sa pinakamainam na paggamit ng kuryente, ang microcontroller ay nakatakdang patakbuhin sa 1 MHz na may isang solong 3V coin baterya na pagguhit lamang ng 3.5mA. Ngunit napansin na ang lcd ay hindi gumagana nang maayos sa isang mababang boltahe. Samakatuwid ang desisyon ng paggamit ng dalawang mga baterya ng barya sa serye ay inilapat upang mauntog ang boltahe sa 6V. Ngunit nangangahulugan ito na ang kasalukuyang pagkonsumo ay tumaas sa 15mA na kung saan ay isang malaking sagabal dahil ang buhay ng baterya ay magiging mahirap. Lumampas din ito sa ligtas na limitasyon ng boltahe na 5.5V ng 8A microcontroller.

Samakatuwid isang 330 ohm risistor ay konektado sa serye kasama ang 6V power supply upang matanggal ang problemang ito. Karaniwang sanhi ang risistor ng pagbagsak ng boltahe sa kanyang sarili upang babaan ang antas ng boltahe sa loob ng 5.5V upang ligtas na patakbuhin ang microcontroller. Bilang karagdagan ang halaga ng 330 ay napili sa pamamagitan ng pagsasaalang-alang sa iba't ibang mga kadahilanan:

  • · Ang layunin ay upang patakbuhin ang 8A sa mababang boltahe hangga't maaari upang makatipid ng kuryente.
  • · Napansin na ang lcd ay tumigil sa pagtatrabaho sa ibaba 3.2V bagaman gumagana pa rin ang microcontroller
  • · Ang halagang ito ng 330 ay nagsisiguro na ang boltahe ay bumaba sa mga labis na eksaktong tumpak upang ganap na magamit ang mga baterya ng barya.
  • · Kapag ang mga cell ng barya ay nasa kanilang rurok, ang boltahe ay nasa paligid ng 6.3V, na may 8A na tumatanggap ng isang mabisang boltahe na 4.6 - 4.7 V (@ 5mA). At kapag ang mga baterya ay halos natuyo, ang boltahe ay nasa paligid ng 4V na may 8A at ang lcd na tumatanggap ng sapat na boltahe ibig sabihin 3.2V upang gumana nang tama. (@ 3.5mA)
  • · Sa ibaba ng antas ng 4v ng mga baterya, epektibo silang walang silbi nang walang natitirang katas upang mapagana ang anumang bagay. Ang pagbaba ng boltahe sa kabuuan ng risistor ay nag-iiba sa buong oras dahil ang kasalukuyang pagkonsumo ng 8A microcontroller at ang lcd ay binabawasan ng pagbawas ng boltahe na mahalagang tumutulong sa pagtaas ng buhay ng baterya.

Ang 16 * 2 LCD ay na-program gamit ang built in na library ng LiquidCrystal ng Arduino IDE. Gumagamit ito ng 6 na data pin ng 8A microcontroller. Bilang karagdagan, ang liwanag at kaibahan nito ay kontrolado gamit ang dalawang mga data pin. Ginawa ito upang hindi magamit ang isang labis na sangkap ibig sabihin ay isang potensyomiter. Sa halip, ang pagpapaandar ng PWM ng data pin D9 ay ginamit upang ayusin ang kaibahan ng screen. Gayundin ang lcd backlight ay kailangang patayin kapag hindi kinakailangan, kaya't hindi ito posible nang hindi gumagamit ng isang data pin upang mapagana ito. Ginamit ang isang resistor na 220 ohm upang malimitahan ang kasalukuyang tumatawid sa backlight LED.

Ang Buzzer at ang mga LED ay nakakonekta din sa mga pin ng data ng 8A (isa para sa bawat isa). Ang isang 5.6 k ohm risistor ay ginamit upang limitahan ang kasalukuyang sa kabuuan ng pulang LED habang ang isang 1k ohm ay ginamit para sa berde. Ang mga halaga ng risistor ay napili sa pamamagitan ng pagkuha ng isang matamis na lugar sa pagitan ng ningning at kasalukuyang pagkonsumo.

Ang pindutang ON / OFF ay hindi nakakonekta sa isang data pin at simpleng switch na magpapalit ng proyekto. Ang isa sa mga terminal nito ay kumokonekta sa 330 ohm risistor habang ang iba ay kumokonekta sa mga pin ng Vcc ng lcd at ng 8A. Ang dalawang iba pang mga pindutan ay konektado sa mga pin ng data na panloob na nakuha upang magbigay ng boltahe sa pamamagitan ng software. Ito ay kinakailangan para sa pagtatrabaho ng mga switch.

Bilang karagdagan ang data pin, ang pindutan ng Pag-setup ay kumokonekta sa, ay isang Hardware Interrupt pin. Ang gumagambala na gawain sa serbisyo (ISR) na ito ay naaktibo sa Arduino IDE. Ang ibig sabihin nito ay tuwing nais ng gumagamit na patakbuhin ang menu ng pag-setup, sinuspinde ng 8A ang kasalukuyang operasyon nito ng pagtatrabaho bilang isang metronome, at pinapatakbo ang ISR na karaniwang pinapagana ang menu ng Pag-setup. Kung hindi man, hindi maa-access ng gumagamit ang menu ng Pag-setup.

Ang pagpipiliang EEPROM na nabanggit dati ay tinitiyak na ang ipinasok na data ay mananatiling nakaimbak kahit na naka-off ang board. At ang header ng SPI ay binubuo ng 6 na mga pin - Vcc, Gnd, MOSI, MISO, SCK, RST. Ito ay bahagi ng SPI protocol at tulad ng nabanggit dati, maaaring magamit ang isang programer ng ISP upang mai-program muli ang 8A para sa pagdaragdag ng mga bagong tampok o anumang iba pa. Ang Vcc pin ay nakahiwalay mula sa positibong baterya terminal at samakatuwid ang Metronome ay nagbibigay ng pagpipilian upang magamit ang isang panlabas na supply ng kuryente na isinasaalang-alang ang mga paghihigpit na nabanggit dati.

Ang buong proyekto ay itinayo sa isang Veroboard sa pamamagitan ng paghihinang ng mga indibidwal na sangkap at mga naaangkop na koneksyon ayon sa circuit diagram.

Inirerekumendang: