Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41
Tämä on ensimmäinen ohjeeni, joten kestä minua.
Rakastan musiikin tekemistä, ja elävissä tilanteissa, kuten olohuoneen konserteissa, pidän siitä, kun valotehosteita on synkronoitu soittamani kanssa. Joten rakensin Arduino-pohjaisen laatikon, joka saa LED-nauhan syttymään satunnaisessa värissä, kun osuin nuottiin MIDI-näppäimistölläni ja mihin osuin muistiinpanoon.
Tarvikkeet
- Arduino Uno
- Arduinon protoshield
- MIDI -liitin
- 1N4148 diodi
- 6N138 -optokytkin
- vastukset: 2x 220 Ohm, 1x 10kOhm, 1x 470Ohm
- WS2812B LED -nauha (60 LEDiä)
- joitain jääneitä johtoja
- lämpökutistuva letku
- sopiva kotelo Arduinolle (käytän muovista kytkentärasiaa)
Tarvitset myös
- juotin ja juote
- MIDI -näppäimistö ja MIDI -kaapeli
Vaihe 1: Elektroniikka
Piiri on melko suoraviivainen. Se koostuu tavallisesta MIDI -tulosta (Arduinon vasemmalla puolella) ja liitännästä LED -nauhaan (Arduinon oikealla puolella). Aseta kaikki osat protoshieldille, siellä on paljon tilaa. On yleensä suositeltavaa käyttää ulkoista virtalähdettä LED -nauhan virtalähteeksi, mutta huomasin, että kun pelaat, vain muutama LED palaa samanaikaisesti, joten ei ongelmaa käytettäessä Arduino +5V / GND -laitetta teholähtönä. (Yritä välttää kaikkien näppäinten painamista samanaikaisesti ja täydellä nopeudella.;-)) Jos päätät käyttää ulkoista virtalähdettä, kytke se yksinkertaisesti Arduino +5V- ja GND-nastoihin. Jotkut ihmiset suosittelevat 100uF kondensaattorin (ei esitetty kaaviossa) lisäämistä näiden kahden rivin väliin.
Juotos osat protosuojaan ja liitä LED -nauha kaavion mukaisesti.
Vaihe 2: LED -nauhan liittäminen
On tärkeää kytkeä LED -nauhan oikea pää - tulopää - piiriin. Nauhassa on naarasliitin tulona, ja siinä on pieniä kolmioita, jotka osoittavat poispäin tulosta. Lähdössä oli urosliitin (jotta se voitaisiin liittää toiseen nauhaan, jota emme tarvitse), joten katkaisin sen ja juotin sen kolmeen Arduinon kaapeliin. Kytke kolme kaapelia yhteen LED -nauhan kanssa ja tee ne vähemmän näkyviksi kutisteputkella.
Käyttämäni LED -nauhan takana on teippi, joten se voidaan helposti liimata MIDI -näppäimistön takaosaan.
Vaihe 3: Projektin mukauttaminen näppäimistöön
Sinun on ehkä mukautettava LED -nauha ja Arduino -koodi näppäimistösi mukaan. Minulla on 76 näppäintä ja nauhan pituus on melkein täsmälleen näppäimistön leveys. Jos sinulla on esim. 61 näppäintä, saatat tarvita lyhyemmän nauhan. LED -nauha voidaan leikata minkä tahansa kahden LED -valon väliin. Varmista vain, että katkaiset oikean osan, sillä on tulopää (naarasliittimellä) ja ulostulopää (urosliittimellä), sinun on säilytettävä tulopää. Muuta koodissa #defines varten
- NUMBER_OF_LEDS nauhaan jääneiden LED -valojen lukumäärään, kun pää on katkaistu,
- NUMBER_OF_KEYS näppäimistön näppäinten määrään ja
- MIN_KEY alimman avaimesi MIDI -piki -numeroon. Löydät tämän näppäimistön käyttöoppaasta; tai käytä työkalua, joka näyttää MIDI -muistiinpanon numeron, kuten KMidiMon Linuxille tai Pocket MIDI Windowsille tai Macille; tai kokeile eri arvoja, kunnes laite vastaa kaikkiin näppäimistön näppäimiin
Vaihe 4: Arduino -koodi
Arduino -koodi käyttää Forty Seven Effectsin MIDI -kirjastoa (v4.3.1) ja Adafruitin Adafruit NeoPixel -kirjastoa (v1.3.4). Asenna nämä kirjastot Arduino IDE: n avulla. Kokoa sitten koodi ja lähetä se Arduinolle ilman suojaa kytkettynä (optoerotin on kytketty RX -nastaan, mikä estää lataamisen). Kytke Arduinon virta USB -kaapelilla (käytän USB -seinäsylmää).
Jos haluat muokata koodia mielesi mukaan, tässä on lyhyt katsaus sen toimintaan: MIDI -tulo luetaan jokaisessa silmukassa. Jos Huomautus päällä tai Huomautus pois -tapahtuma on vastaanotettu, MyHandleNoteOn- tai MyHandleNoteOff -toimintoja kutsutaan. Molemmat kutsuvat updateVelocityArray -toimintoa, joka tallentaa avainnumeron nopeuden (eli kuinka voimakkaasti olet painanut näppäintä). Jos nopeus on suurempi kuin aiemmin tallennettu, vastaavan LED -valon väri asetetaan "nykyiseen väriin". Kun MIDI -tapahtumat on käsitelty, funktio updateLedArray kutsutaan. Tämä päivittää "nykyisen värin" (jonka punaiset, vihreät ja siniset arvot muuttuvat lineaarisesti itsenäisesti, kunnes ala- tai yläpää saavutetaan, jolloin lineaarisen muutoksen nopeus asetetaan satunnaislukuun), vähentää hitaasti painettujen nuottien nopeutta ja päivittää kunkin LEDin väri -arvot, joiden on muutettava väriä (uuden nuotin osuman tai nopeuden vähenemisen vuoksi). Toiminto showLedArray siirtää värit Adafruit_NeoPixel -rakenteeseen nimeltä "pikselit" ja saa todelliset LEDit näyttämään pikselirakenteen värit.
Vaihe 5: Mahdolliset parannukset…
Projekti ei ole koskaan valmis. Aina on jotain tehtävissä sen parantamiseksi:
- Protoshield sisältää niin vähän osia, että se on todella hukkaa; saman vaikutuksen voisi helposti saavuttaa Arduino Nano -laitteella ja 15x7 -reikäisellä piirilevyllä sekä joillakin naaraspistokkeilla.
- Osa MIDI -signaaleista katoaa. Jos se on NoteOn, vastaava LED ei syty; jos se on NoteOff, se ei sammu (siksi otin käyttöön nopeuden vähentämisen, joka varmistaa, että LEDit eivät pala loputtomiin). Yritän vielä selvittää syytä. Mahdollisesti se on ajoitusongelma, ja MIDI.read () tulisi kutsua useammin.
- Jotkut MIDI -signaalit luetaan väärin, eli väärät LED -valot syttyvät. Voidaan yhdistää yllä olevaan kohtaan. Vaatii jonkin verran tutkimusta.
- Piiri on suunniteltu antamaan miellyttävä visuaalinen vaikutus ilman paljon käyttäjän vuorovaikutusta (näppäimistön pelaamisen lisäksi). Voisin kuitenkin kuvitella lisääväni potentiometrin, joka luetaan (käyttäen yhtä Arduinon analogisista tuloista), jolla voit muuttaa värien enimmäisnopeutta (tällä hetkellä #define'd muodossa MAX_COLOR_CHANGE_SPEED = 20). Tai mittaa kahden NoteOn -tapahtuman välinen keskimääräinen aika ja muuta MAX_COLOR_CHANGE_SPEED vastaavasti - hitaissa kappaleissa värin pitäisi muuttua hitaammin.
Vaihe 6: Valmis
Kytke Arduinon virta USB -kaapelilla (käytän USB -seinäsylmää). Liitä MIDI -näppäimistö MIDI -liittimeen ja aloita rokkaaminen. Katso minun soittavan hieman kevyttä musiikkia (pun, niin huono kuin se on, tarkoitettu).
Suositeltava:
Kuinka tehdä LED -kuutio - LED -kuutio 4x4x4: 3 vaihetta
Kuinka tehdä LED -kuutio | LED -kuutio 4x4x4: LED -kuutio voidaan ajatella LED -näyttönä, jossa yksinkertaiset 5 mm: n LEDit toimivat digitaalisten pikselien roolissa. LED -kuution avulla voimme luoda kuvia ja kuvioita käyttämällä optisen ilmiön käsitettä, joka tunnetaan nimellä visio pysyvyys (POV). Niin
Edistynein taskulamppu - COB -LED, UV -LED ja laser sisällä: 5 vaihetta (kuvilla)
Edistynein taskulamppu - COB -LED, UV -LED ja laser -sisäpuoli: Markkinoilla on monia taskulamppuja, joilla on sama käyttö ja jotka eroavat kirkkaudesta, mutta en ole koskaan nähnyt taskulamppua, jossa on useampi kuin yksi valotyyppi Tässä projektissa keräsin 3 erilaista valoa yhteen taskulamppuun
DIY FLOODLIGHT W/AC LED (+EFFICIENCY VS DC LED): 21 vaihetta (kuvien kanssa)
DIY FLOODLIGHT W/AC -LEDit (+EFFICIENCY VS DC LED): Tässä oppaassa/videossa teen valonheittimen, jossa on erittäin halvat kuljettajattomat AC -LED -sirut. Onko ne hyviä? Vai ovatko ne täyttä roskaa? Vastatakseni tähän, vertaan kaikkia tekemiäni DIY -valoja. Kuten tavallista, halvalla
Neopixel Ws2812 LED- tai LED -nauhan tai LED -renkaan käyttö Arduinon kanssa: 4 vaihetta
Kuinka käyttää Neopixel Ws2812 LED- tai LED -nauhaa tai LED -rengasta Arduinon kanssa: Hei kaverit, koska Neopixel -led -nauha ovat erittäin suosittuja, ja sitä kutsutaan myös nimellä ws2812 led -nauha. Ne ovat erittäin suosittuja, koska näissä led -nauhoissa voimme käsitellä jokaista lediä erikseen, mikä tarkoittaa, että jos haluat, että muutamat ledit hehkuvat yhdellä värillä
ESP8266 RGB LED STRIP WIFI -ohjaus - NODEMCU IR -kaukosäätimenä LED -nauhalle, jota ohjataan Wifin kautta - RGB LED STRIP -älypuhelimen ohjaus: 4 vaihetta
ESP8266 RGB LED STRIP WIFI -ohjaus | NODEMCU IR -kaukosäätimenä LED -nauhalle, jota ohjataan Wifin kautta | RGB LED STRIP -älypuhelimen ohjaus: Hei kaverit tässä opetusohjelmassa opimme käyttämään nodemcu- tai esp8266 -laitetta IR -kaukosäätimenä RGB -LED -nauhan ohjaamiseen ja Nodemcu ohjataan älypuhelimella wifi -yhteyden kautta. Joten periaatteessa voit ohjata RGB -LED -nauhaa älypuhelimellasi