Talaan ng mga Nilalaman:
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-23 15:12
Ito ang aking unang itinuturo, kaya tiisin mo ako.
Gustung-gusto ko ang paggawa ng musika, at sa mga live na sitwasyon tulad ng mga konsyerto sa sala, gusto ko ito kapag may magaan na mga epekto na sumasabay sa pinatugtog ko. Kaya nagtayo ako ng isang kahon na nakabatay sa Arduino na gumagawa ng isang LED strip light up sa isang random na kulay kapag na-hit ko ang isang tala sa aking MIDI keyboard, at kung saan ko pinindot ang tala.
Mga gamit
- Arduino Uno
- Arduino protoshield
- MIDI jack
- 1N4148 diode
- 6N138 opto coupler
- resistors: 2x 220 Ohm, 1x 10kOhm, 1x 470Ohm
- WS2812B LED strip (60 LEDs)
- ilang mga natirang wires
- init pag-urong tubo
- angkop na pambalot para sa Arduino (Gumagamit ako ng isang plastik na kantong kahon)
Kakailanganin mo rin
- panghinang at bakalang panghinang
- MIDI keyboard at MIDI cable
Hakbang 1: Ang Elektronika
Ang circuit ay medyo prangka. Binubuo ito ng isang karaniwang input ng MIDI (kaliwa ng Arduino) at ang koneksyon sa LED strip (kanan ng Arduino). Ilagay ang lahat ng mga bahagi sa protoshield, maraming puwang. Pangkalahatang inirerekumenda na gumamit ng isang panlabas na supply ng kuryente upang mapagana ang LED strip, ngunit nalaman kong kapag naglalaro ka, iilan lamang sa mga LED ang nakasabay, kaya't mayroong walang problema sa paggamit ng Arduino + 5V / GND bilang output ng kuryente. (Subukang iwasan ang pagpindot sa lahat ng mga key nang sabay, at may buong bilis.;-)) Kung magpapasya kang gumamit ng isang panlabas na supply ng kuryente, ikonekta lamang ito sa mga pin ng Arduino + 5V at GND. Inirerekumenda ng ilang mga tao ang pagpasok ng isang 100uF capacitor (hindi ipinakita sa eskematiko) sa pagitan ng dalawang linya na ito.
Paghinang ng mga bahagi sa protoshield at ikonekta ang LED strip tulad ng ipinakita sa eskematiko.
Hakbang 2: Pagkonekta sa LED Strip
Mahalagang ikonekta ang tamang dulo - ang dulo ng pag-input - ng LED strip sa circuit. Ang aking strip ay may isang babaeng konektor bilang isang input, at may maliit na mga tatsulok sa lahat kasama ang pagturo ang layo mula sa input. Sa output, mayroong isang konektor ng lalaki (upang maikonekta ito sa isa pang strip, na hindi namin kailangan), kaya pinutol ko iyon at solder ito sa tatlong mga kable na nagmula sa Arduino. Gumamit ng heat shrink tubing upang itali ang tatlong mga kable sa LED strip nang magkasama, at gawin itong hindi gaanong nakikita.
Ang ginamit na LED strip na ginamit ko ay may adhesive tape sa likuran nito, kaya madali itong nakadikit sa likod ng MIDI keyboard.
Hakbang 3: Pag-angkop sa Project sa Iyong Keyboard
Maaaring kailanganin mong iakma ang LED strip at ang Arduino code sa iyong keyboard. Ang minahan ay may 76 na mga susi, at ang haba ng strip ay halos eksaktong lapad ng keyboard. Kung mayroon kang hal. 61 mga susi, maaaring kailanganin mo ng isang mas maikling strip. Ang LED strip ay maaaring i-cut sa pagitan ng anumang dalawang LEDs. Siguraduhin lamang na pinuputol mo ang tamang bahagi, mayroon itong isang input end (na may isang babaeng konektor) at isang output end (na may isang lalaki na konektor), kailangan mong panatilihin ang dulo ng pag-input. Sa code, baguhin ang #defines para sa
- NUMBER_OF_LEDS sa bilang ng mga LED na natitira sa iyong strip pagkatapos na putulin ang dulo,
- NUMBER_OF_KEYS sa bilang ng mga key sa iyong keyboard, at
- MIN_KEY sa numero ng pitch ng MIDI ng iyong pinakamababang key. Maaari mong makita ito sa manwal ng gumagamit ng keyboard; o gumamit ng isang tool na nagpapakita ng numero ng tala ng MIDI, tulad ng KMidiMon para sa Linux, o Pocket MIDI para sa mga bintana o Mac; o subukan ang iba't ibang mga halaga hanggang sa tumugon ang aparato sa lahat ng mga key sa iyong keyboard
Hakbang 4: Ang Arduino Code
Ang Arduino code ay gumagamit ng MIDI library (v4.3.1) ng Forty Seven Effects at Adafruit NeoPixel library (v1.3.4) ng Adafruit. I-install ang mga libraryong ito gamit ang Arduino IDE. Pagkatapos ay ipunin ang code at i-upload ito sa Arduino nang walang kalasag na konektado (ang optocoupler ay konektado sa RX pin, na pumipigil sa pag-upload). Lakasin ang Arduino sa pamamagitan ng USB cable (Gumagamit ako ng USB wall wart).
Kung nais mong baguhin ang code ayon sa gusto mo, narito ang isang maikling pangkalahatang ideya kung paano ito gumagana: Sa bawat loop, nabasa ang input ng MIDI. Kung may natanggap na isang kaganapan na Tala Ng Tandaan o Tandaan, ang mga pagpapaandar ng MyHandleNoteOn o MyHandleNoteOff ay tinawag. Parehas silang tumawag sa pagpapaandar ng updateVelocityArray, na nag-iimbak ng tulin (ibig sabihin kung gaano kahirap mo ma-hit ang key) ng key number. Kung ang bilis ay mas mataas kaysa sa naimbak dati, ang kulay ng kaukulang LED ay nakatakda sa "kasalukuyang kulay". Matapos mapangasiwaan ang mga kaganapan ng MIDI, tawagan ang pagpapaandar na updateLedArray. Ina-update nito ang "kasalukuyang kulay" (ang pula, berde at asul na mga halaga na kung saan ay independiyenteng nagbabago sa isang linear na paraan, hanggang sa maabot ang mas mababa o itaas na dulo, kung saan ang bilis para sa linear na pagbabago ay nakatakda sa isang random na numero), dahan-dahang binabawasan ang tulin ng pinindot na mga tala, at ina-update ang mga halaga ng kulay ng bawat LED na kailangang baguhin ang kulay nito (dahil sa bagong hit ng tala, o pagbawas ng tulin). Inililipat ng pagpapaandar na ShowLedArray ang mga kulay sa istrakturang Adafruit_NeoPixel na tinatawag na "mga pixel" at ipinapakita ang mga aktwal na LED ang mga kulay sa istraktura ng mga pixel.
Hakbang 5: Mga Posibleng Pagpapahusay…
Ang isang proyekto ay hindi natapos. Palaging may isang bagay na maaaring magawa upang mapabuti ito:
- Naglalaman ang protoshield ng ilang bahagi talagang sayang ito; madaling makamit ng isa ang parehong epekto sa isang Arduino Nano at isang 15x7 hole PCB kasama ang ilang mga babaeng pin header.
- Ang ilan sa mga signal ng MIDI ay nawala. Kung ito ay isang NoteOn, ang kaukulang LED ay hindi magaan; kung ito ay isang NoteOff, hindi ito lalabas (iyon ang dahilan kung bakit ipinakilala ko ang pagbawas ng tulin, na tinitiyak na ang mga LED ay hindi mananatili sa walang katiyakan). Sinusubukan ko pa ring malaman ang dahilan. Posibleng ito ay isang isyu ng tiyempo, at ang MIDI.read () ay dapat na tawaging mas madalas.
- Ang ilan sa mga signal ng MIDI ay maling nabasa, ibig sabihin mali ang mga ilaw ng LED. Maaaring maiugnay sa puntong nasa itaas. Kailangan ng ilang pagsisiyasat.
- Ang circuit ay idinisenyo upang magbigay ng isang kaaya-ayang visual effects nang walang labis na pakikipag-ugnayan ng gumagamit (bukod sa pag-play ng keyboard). Gayunpaman, naiisip ko ang pagdaragdag ng isang potensyomiter na nabasa (gamit ang isa sa mga analog input ng Arduino) kung saan maaari mong baguhin ang maximum na bilis kung saan magbabago ang mga kulay (kasalukuyang # kahulugan ng MAX_COLOR_CHANGE_SPEED = 20). O sukatin ang average na oras sa pagitan ng dalawang mga kaganapan ng NoteOn, at palitan ang MAX_COLOR_CHANGE_SPEED nang naaayon - sa mabagal na mga kanta, dapat mabagal nang mabagal ang kulay.
Hakbang 6: Tapos Na
Lakasin ang Arduino sa pamamagitan ng USB cable (Gumagamit ako ng USB wall wart). Ikonekta ang iyong MIDI keyboard sa MIDI jack, at simulan ang rockin '. Panoorin akong magpatugtog ng kaunting magaan na musika (pun, kahit gaano kahindi, nilalayon).
Inirerekumendang:
DIY Ir Remote Controlled Led Strip: 10 Hakbang (na may Mga Larawan)
DIY Ir Remote Controlled Led Strip: Kumusta kamusta ang lahat sa aming mga bagong itinuturo tulad ng alam mo mula sa thumbnail na sa proyektong ito gagawa kami ng isang Ir led strip controller na maaaring kontrolin gamit ang anumang karaniwang magagamit na IR remote na sa pangkalahatan ginamit sa
Transform-a-Car: Remote Controlled to Self Controlled: 4 Hakbang
Transform-a-Car: Remote Controlled to Self Controlled: Ito ay isang pag-hack sa isang RC car na may sirang remote. Maaari kang makahanap ng maraming sa mga benta sa garahe
Smartphone Controlled Neopixels (LED Strip) Sa Blynk App Sa paglipas ng WiFi: 6 na Hakbang
Smartphone Controlled Neopixels (LED Strip) Sa Blynk App Over WiFi: Nilikha ko ang proyektong ito pagkatapos na inspirasyon ako ng mga neopixel na kinokontrol ng smartphone sa isang bahay ng mga kaibigan ngunit ang kanyang binili sa tindahan. Naisip ko " kung gaano kahirap gawin ang sarili ko, mas mura rin ito! &Quot; Ganito. Tandaan: Inaako kong ikaw ay
Website / WiFi Controlled LED Strip With Raspberry Pi: 9 Hakbang (na may Mga Larawan)
Website / WiFi Controlled LED Strip With Raspberry Pi: Background: Ako ay isang tinedyer, at nagdidisenyo at nagprogram ng mga maliliit na proyekto ng electronics sa nakaraang ilang taon, kasama ang pakikilahok sa mga kumpetisyon ng robot. Kamakailan ay nagtatrabaho ako sa pag-update ng aking pag-set up ng desk, at nagpasya akong isang magandang idagdag
MIDI 5V LED Strip Light Controller para sa Spielatron o Iba Pang MIDI Synth: 7 Hakbang (na may Mga Larawan)
MIDI 5V LED Strip Light Controller para sa Spielatron o Iba pang MIDI Synth: Ang controller na ito ay nag-flash ng tri-color LED strip lights para sa 50mS bawat tala. Blue para sa G5 hanggang D # 6, pula para sa E6 hanggang B6 at berde para sa C7 hanggang G7. Ang controller ay isang aparato na ALSA MIDI kaya ang MIDI software ay maaaring output sa mga LED nang sabay-sabay bilang isang MIDI synth device