Talaan ng mga Nilalaman:
- Hakbang 1: Functional na Paglalarawan
- Hakbang 2: Listahan ng Mga Bahagi
- Hakbang 3: Diagram ng Mga Kable
- Hakbang 4: Arduino Source Code
Video: Arduino Metronome: 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Kapag natututo ng isang bagong instrumentong pangmusika bilang isang bata, maraming mga bagong bagay na dapat pagtuunan ng pansin. Ang pagpapanatili sa tamang tempo ay isa sa mga ito. Ang hindi paghanap ng kumpletong functionally at maginhawang metronome ay nangangahulugang ang pinakamahusay na dahilan upang simulan ang pagbuo muli sa aking mga anak. Sa post na ito ng Mga Tagubilin makikita mo ang gumagalaw na paglalarawan, listahan ng mga bahagi na may mga link sa webshop at presyo, diagram ng mga kable para sa pagpupulong, at kumpletuhin ang code ng mapagkukunan ng Arduino.
Hakbang 1: Functional na Paglalarawan
Masarap na magkaroon ng isang metronome device na may mga sumusunod na pagpapaandar upang magamit ito sa bahay o sa paaralan ng musika na maginhawa.
- Compact form factor upang magkasya sa maliliit na lugar sa itaas o sa tabi ng mga instrumentong pangmusika,
- Pinapatakbo ng baterya, matatag at portable na bitbit,
- Madaling i-set up kahit para sa mga bata, palaging ipinapakita ang halaga ng BPM,
- Naaayos na mga beats bawat minuto gamit ang isang Rotary knob, hanggang sa 240 BPM
- Naririnig ang taktika na may kontrol sa dami,
- Silent mode para sa magdamag na kasanayan sa headphone,
- Ang visual feedback ng mga beats (1/4, 2/4, 3/3, 4/4, 6/8, atbp.) Hanggang sa 8 LEDs,
- May o walang nangungunang accent, na may visual at maririnig na feedback.
Ang paglipat, ang mode ng metronome ay magsisimula sa 60 BPM na ipinapakita sa maliit na display at hinahayaan na ang tono ay mai-rotate ng rotary knob sa pagitan ng 10 at 240. Ipinapakita ng mga neopixel ang pagkatalo sa mga asul na LED habang ang buzzer ay nag-tick. Ang pagpindot sa knob ay lilipat upang talunin ang mode ng pagsasaayos at ang mga berdeng LEDs ay magpapahiwatig ng itinakdang istraktura ng beat. Ang rotary knob ay magpapalaki o magpapabawas sa istraktura ng beat (2/2, 3/3, 4/4, 6/8, atbp.). Sa itaas ng 8 LEDs, karagdagang umiikot na pakanan, ang nangungunang accent ay bubuksan, at ang unang LED ay ipahiwatig ito sa pula. Ang nangungunang accent ay magkakaroon din ng maririnig na feedback din. Maaari itong patayin sa pamamagitan ng pag-ikot ng counter-clockwise. Ang pagpindot sa knob ay babalik mula sa beat mode ng pagsasaayos sa metronome mode.
Hakbang 2: Listahan ng Mga Bahagi
Kakailanganin mo ng isang kaso. Maaaring mabili ang anumang hugis o sukat, ngunit nagkaroon kami ng isang magandang itim na metal na kaso ng isang lumang manu-manong switch ng VGA na itinapon sa isang kaibigan. Ang natitirang bahagi ng mga bahagi ay nakalista sa ibaba.
- 9V Baterya, USD 1.50
- Ang cable ng konektor ng baterya, USD 0, 16
- Arduino Nano na may mga pin header, USD 2.05
- Nano IO Extension Shield, USD 1, 05
- Mini slide switch para sa lakas, USD 0.15
- Piezo buzzer, USD 0, 86
- Adafruit Neopixel WS2812 8-bit, USD 1, 01
- OLED Display 128x64, USD 1, 53
- Rotary encoder, USD 0, 50
- Mga Dupont cable F / F, USD 0, 49
Ang kabuuang presyo ng mga bahagi ay mas mababa sa USD 10, -
Hakbang 3: Diagram ng Mga Kable
Gamitin ang Nano IO Extension Board upang hindi makagambala sa paghihinang ng maraming mga koneksyon ng GND at VCC. Kakailanganin ang minimum na paghihinang para sa mga header ng Nano pin at para sa mga konektor ng module ng Neopixel. Ang paggamit ng mga wire ng Dupont ay nagbibigay-daan sa mga matatag na koneksyon para sa natitirang mga kable tulad ng ipinakita sa diagram. Ang 9V na baterya ay nakakonekta sa GND at VIN, ang huli sa pamamagitan ng switch ng power slider. Ang module ng rotary encoder ay may isang integrated button na switch, na ipinakita nang magkahiwalay sa diagram para sa mas madaling pag-unawa sa kung paano ikonekta ang mga ito. Ang rotary part (CLK at DT) ay konektado sa PIN2 at PIN3 ayon sa pagkakabanggit, dahil ito lamang ang mga NANO na pin na may kakayahang makagambala sa paghawak. Ang Rotary GND ay konektado sa GND PIN ni Nano syempre. Ang pinagsamang pindutan ng switch ay konektado sa PIN4. Ang Piezo buzzer ay konektado sa PIN5 at GND. Ang module ng Adafruit Neopixel ay konektado sa PIN7 at ang VIN at GND nito sa 5V at GND ng Nano. Ang maliit na display na OLED ay konektado sa interface ng bus ng I2C, na kung saan ay PIN A4 at A5 para sa SDA at SDL. Ang VCC at GND ay pupunta sa 5V ng Nano at syempre. Tinatapos iyon ang aming mga kable ng Dupont.
Hakbang 4: Arduino Source Code
// Metronome, Leading Accent, Visual & Audible Tact - 2019 Peter Csurgay
#include #include #include #include #include "timer & Wire, OLED_RESET); #define pin_neopixel 7 #define NUMPIXELS 8 #define BRIGHTNESS 32 Adafruit_NeoPixel pixel = Adafruit_NeoPixel (NUMPIXELS, pin_neopixel, NEO_GRB + NEO_KHZ800); #define IDLE_11 0 #define SCLK_01 1 #define SCLK_00 2 #define SCLK_10 3 #define SDT_10 4 #define SDT_00 5 #define SDT_01 6 int state = IDLE_11; #define CLK 2 # tukuyin ang DT 3 # tukuyin ang pin_switch 4 # tukuyin ang pin_buzzer 5 int bpm = 60; int bpmFirst = 0; // LED On at First, Off at the rest… int tack = 4; bool leadingTack = false; int pos = 0; int curVal = 0; int prevVal = 0; void setup () {pix.begin (); pinMode (pin_buzzer, OUTPUT); Timer1.initialize (1000000 * 60 / bpm / 2); Timer1.attachInterrupt (buzztick); pinMode (CLK, INPUT_PULLUP); pinMode (DT, INPUT_PULLUP); pinMode (pin_switch, INPUT_PULLUP); attachInterrupt (digitalPinToInterrupt (CLK), rotaryCLK, CHANGE); attachInterrupt (digitalPinToInterrupt (DT), rotaryDT, CHANGE); kung (! display.begin (SSD1306_SWITCHCAPVCC, 0x3C)) {// Address 0x3D para sa 128x64 para sa (;;); // Huwag magpatuloy, loop magpakailanman} display.clearDisplay (); display.display (); } void loop () {kung (digitalRead (pin_switch) == LOW) {pagkaantala (100); habang (digitalRead (pin_switch) == LOW); pagkaantala (100); Timer1.detachInterrupt (); showGreenTacks (); habang (digitalRead (pin_switch) == MATAAS) {kung (curVal> prevVal) {tack + = 1; kung (tack> 8) {kung (leadingTack) tack = 8; iba pa {leadingTack = true; tack = 1; }}} iba pa kung (curValprevVal) {bpm + = 2; kung (bpm> 240) bpm = 240; } iba pa kung (curVal = 100) display.print (""); iba pa ang display.print (""); display.print (bpm); display.display (); } void buzztick () {if (bpmFirst == 0) {int volume = 4; kung (nangungunangTack && pos == 0) dami = 8; para sa (int i = 0; i
Inirerekumendang:
Servo Metronome, Programmable para sa Iba't ibang Mga bilis: 3 Hakbang
Servo Metronome, Programmable para sa Iba't ibang Mga bilis: Gumawa ng iyong sariling metronome. Ang kailangan mo lang ay ang Arduino Mega 2560 starter kit at isang katugmang computer
555-timer Metronome: 3 Hakbang
555-timer Metronome: Ang isang metronome ay isang aparato na gumagawa ng isang naririnig na pag-click o iba pang tunog sa isang regular na agwat na maaaring itakda ng gumagamit, karaniwang sa mga beats bawat minuto (BPM). Ginagamit ng mga musikero ang aparato upang magsanay sa pag-play sa isang regular na pulso. (Https://en.wikipedia.org/w
Batay sa Micro-controller na Metronome: 5 Mga Hakbang
Batay sa Micro-controller Metronome: Ang isang metronome ay isang aparato sa oras na ginagamit ng mga musikero upang subaybayan ang mga beats sa mga kanta at upang mabuo ang isang pakiramdam ng tiyempo sa mga nagsisimula na natututo ng isang bagong instrumento. Nakakatulong ito upang mapanatili ang isang pakiramdam ng ritmo na mahalaga sa musika. This metronome bui
Visual Metronome para sa mga Drummer: 8 Hakbang
Visual Metronome para sa mga Drummer: Mayroon akong kaibigan at katrabaho na isang rock and roll drummer. Ang kanyang cubicle ay katabi ng minahan sa trabaho at kaya't nakikita at naririnig niya ang tungkol sa lahat ng aking mga proyekto sa electronics at software. Mahigit isang taon na kaya hindi ko na maalala kung paano nangyari ang lahat ng ito
555 Timer Metronome - Audio at Visual: 8 Hakbang (na may Mga Larawan)
555 Timer Metronome - Audio at Visual: Kamakailan-lamang na nagsimula ang aking anak na maglaro ng ukulele at naisip kong makakatulong ang isang metronome sa kanyang tiyempo. Bilang isang tagagawa, napaisip ko na maaari kong hagupitin ang aking sarili nang madali sa isang 555 timer (ano ang hindi mo magawa sa isa…) Matapos ang kaunting paghahanap sa w