INHOUDSOPGAWE:

MIDI -beheerde LED -struktuur: 7 stappe
MIDI -beheerde LED -struktuur: 7 stappe

Video: MIDI -beheerde LED -struktuur: 7 stappe

Video: MIDI -beheerde LED -struktuur: 7 stappe
Video: ✅ Sew and Sell 🧡 2 Ways to Wear👍 Summer Light Dresses❣️ I Sew 50 pieces a Day and Make Money💵 2024, November
Anonim
Image
Image

As 'n ware musiekliefhebber en 'n student in elektroniese en rekenaarwetenskap, wou ek nog altyd MIDI -toestelle bou wat ek kon gebruik vir die skep van elektroniese musiek.

Nadat ek baie vertonings en musiekfeeste bygewoon het, het ek baie begin belangstel in ligte vertonings tydens optredes.

Na baie navorsing het ek meestal net toestelle gevind wat 'n mikrofoon gebruik, en dit is nie moontlik om LED's presies te beheer soos u wil nie.

Deur al hoe meer vertroud te raak met DAW- en MIDI -seine, het ek besluit om met hierdie projek te begin!

Dit bestaan uit 'n 3D -struktuur met ingeboude LED's, wat eintlik beheer word deur MIDI -seine (NoteOn, NoteOff en CC Messages).

Sodat die musikant die kleur en intensiteit van elke LED kon beheer, slegs deur MIDI -seine te gebruik, gegenereer deur enige DAW.

Met hierdie idee wou ek kreatiwiteit versterk deur middel van liguitstallings en elkeen in staat stel om sy eie te bou, om elke visuele uitvoering uniek te maak.

Stap 1: materiaal

Hierdie projek bestaan basies uit twee dele: 'n MIDI -ontvangskring en die LED -struktuur; en 'n mikrobeheerder om die dele te koppel en die MIDI -seine wat van die DAW af kom, na die LED -stroke te "vertaal". Hier is 'n lys van die materiaal wat vir elke deel benodig word.

MIDI -ontvangsbaan:

  • 1 x 6N138 Optokoppelaar
  • 1 x 1N914 -diode
  • 1 x 5-pins Din Jack (MIDI Jack)
  • 2 x 220 Ohm weerstande
  • 1 x 4.7K Ohm Resisor
  • 1 USB/MIDI -aansluiting

LED struktuur:

Ek het RGB LED's gebruik, gebaseer op WS2812B LED's wat met slegs 1 digitale poort beheer kan word. As u van plan is om 'n groot aantal LED's te gebruik, moet u moontlik omgee vir die maksimum benodigde stroom (1 LED kan hoogstens 60mA verbruik). As die mikrobeheerder hierdie maksimum waarde nie kan hanteer nie, benodig u nog 'n 5V -kragtoevoer wat genoeg stroom kan lewer. Ek het 'n 5V - 8A AC/DC -adapter gebruik met die spesiale uitvoeradapter en 'n skakelaar.

Opmerking: dit lyk asof u 'n rekenaarvoedingseenheid kan gebruik, aangesien hulle weet dat hulle 'n baie hoë stroom kan lewer, maar u moet seker maak dat dit 'n stabiele 5V DC -spanning lewer, miskien deur 'n 36 Ohm 5 Watt kragweerstand tussen die grond (swart) en die 5V -uitgang (rooi) om te verseker dat daar genoeg stroom deur die weerstand gaan en sodoende 'n stabiele 5V bied.

Uiteindelik het ek 'n eenvoudige Arduino Uno met 'n skroefskerm gebruik om die skakel tussen MIDI -seine en LED -stroke te maak.

Stap 2: Bou die MIDI -invoerkring

Die bou van die MIDI Input Circuit
Die bou van die MIDI Input Circuit
Die bou van die MIDI Input Circuit
Die bou van die MIDI Input Circuit

As u belangstel in wat presies die MIDI -protokol is en hoe dit werk, beveel ek u ten sterkste aan om na die Notes and Volts YouTube -kanaal te kyk, waar daar baie interessante en innoverende tutoriale en MIDI Arduino -projekte is.

In hierdie deel fokus ek slegs op die MIDI -invoerbaan. Dit kan 'n goeie idee wees om 'n prototipe op 'n protobord te bou en te kyk of MIDI -seine wat van die DAW afkomstig is, goed ontvang word deur die mikrobeheerder voordat u aan die soldeer van die komponente gaan.

Die volgende twee video's beskryf hoe om die stroombaan te bou en te toets:

  • Bou die kring
  • Toets die kring

Ten slotte is dit ook 'n goeie idee om hierdie video te kyk om CC -boodskappe te verstaan en hoe outomatiese snitte deur u mikrobeheerder geïnterpreteer kan word om byvoorbeeld LED -helderheid te beheer.

Stap 3: Configureer FL Studio (opsioneel)

Konfigureer FL Studio (opsioneel)
Konfigureer FL Studio (opsioneel)
Konfigureer FL Studio (opsioneel)
Konfigureer FL Studio (opsioneel)
Konfigureer FL Studio (opsioneel)
Konfigureer FL Studio (opsioneel)

Aangesien ek gemaklik voel met die gebruik van FL Studio, sal ek verduidelik hoe ek die MIDI -koppelvlak korrek kan instel, maar ek is redelik seker dat hierdie prosedure nie drasties anders moet wees as u 'n ander digitale klankwerkstasie gebruik nie.

Eerstens moet u die USB/MIDI -aansluiting op u rekenaar aansluit. Gewoonlik kom sulke toestelle met 'n ingeboude firmware en word dit erken as MIDI -toestelle, selfs al is dit ongeldig. Open dan die venster "Instellings" (deur op F10 te druk). As alles behoorlik werk, sal u 'n paar MIDI -toestelle in die uitvoerafdeling sien. Kies u toestel en maak seker dat dit AAN is.

Dan moet u u poortnommer definieer en dit in gedagte hou (byvoorbeeld 0). Sluit hierdie venster (parameters word outomaties gestoor) en voeg dan 'n nuwe kanaal by: MIDI Out.

Die laaste ding wat u moet doen, is om die poort van hierdie nuwe kanaal te definieer: maak seker dat u dieselfde poortnommer kies wat u in die afdeling 'Instellings' gedefinieer het: hierdeur word die MIDI -boodskappe wat vanaf u kanaal kom, gekies gekoppel aan die MIDI -uitset.

As 'n noot deur die MIDI Out -kanaal gespeel word, sal 'n "NoteOn" -boodskap deur die MIDI -koppelvlak gestuur word. Op dieselfde manier sal 'n "NoteOff" -boodskap gestuur word wanneer die nota vrygestel word.

'N Ander interessante kenmerk van die MIDI Out -kanaal is die vermoë om verskillende parameters met potensiometers te beheer. Deur met die rechtermuisknop op een daarvan te klik en "Configure …" te kies, kan u CCMessages stuur ('n waarde van 0 tot 127) wat gebruik sal word om die helderheid van LED's te beheer: kies CC en aanvaar dan.

Normaalweg is FL Studio nou gereed om data na u MIDI -koppelvlak te stuur! Die volgende is om die kode te skryf om in die Arduino te flits en dit aan te pas by u LED -struktuur.

Stap 4: Verbind die LED's

Verbind die LED's
Verbind die LED's

Die aansluiting van die LED -stroke is redelik eenvoudig, aangesien dit net +5V, GND en data benodig. Aangesien ek van plan was om meer as 20 daarvan aan te sluit, het ek besluit om verskeie Arduino PWM -penne te gebruik en verskeie gevalle van Adafruit_NeoPixel (in die koekie) te verklaar om enige onbedoelde vertraging te voorkom.

Die aangehegte prent wil ook verduidelik hoe die elektronika werk:

  • LED's word direk deur die kragtoevoer aangedryf.
  • 'N Kragskakelaar word gebruik om die Arduino aan te skakel
  • die MIDI -ingangskring word deur die Arduino aangedryf wanneer die skakelaar aangeskakel word

Stap 5: Ontwerp die 3D -struktuur

Ontwerp die 3D -struktuur
Ontwerp die 3D -struktuur
Ontwerp die 3D -struktuur
Ontwerp die 3D -struktuur
Ontwerp die 3D -struktuur
Ontwerp die 3D -struktuur
Ontwerp die 3D -struktuur
Ontwerp die 3D -struktuur

Tot dusver was hierdie deel die langste, aangesien ek heeltemal nuut was met 3D-druk (en modellering). Ek wou 'n struktuur ontwerp wat lyk soos 'n half ontplofte afgekapte icosahedron (ja, dit het my tyd geneem om die presiese naam van die vorm te vind).

U is natuurlik vry om u eie model te ontwerp met die vorm wat u wil hê! Ek sal nie die modelleringsproses uiteensit nie, maar u sal die STL -lêers vind as u hierdie struktuur wil ontwerp.

Die samestelling van die verskillende dele het 'n geruime tyd geneem, want ek moes een LED in elke gesig sit en almal verbind deur 'n groot aantal drade in die kern te soldeer wat tans redelik morsig is!

Let wel: as u so 'n struktuur wil ontwerp, benodig u 10 seskantige stukke (ongeveer 3 uur elk met 'n PP3DP UP mini -drukker) en 6 vyfhoekige stukke (2 uur).

Sodra daar een LED in elke onderdeel is, moet u elke 5V- en GND -aansluitings aan mekaar koppel en die verskillende ingangs- en uitgangsklemme van elke LED aansluit soos u dit wil verbind.

Uiteindelik het ek LED -diffusiewe akriel gebruik om elke gesig te bedek en dit konsekwent te laat lig.

Al wat daarna oorgebly het, is die kode, wat blyk dat dit nie so ingewikkeld is nie!

Stap 6: Die kode

Die kode
Die kode

Soos ek dit in die vorige deel genoem het, blyk dit dat die kode redelik eenvoudig is!

Dit bestaan eintlik net uit een MIDI -instansie en verskeie Adafruit_NeoPixel -gevalle (soveel as wat daar verskillende stroke is).

Eintlik, sodra dit verklaar is, werk die MIDI -klas met 'onderbrekings': NoteOn, NoteOff en CCMessage. As die MIDI -invoer cicruit een van die spesifieke seine na die Arduino oordra, word die geassosieerde subroutine genoem. Al wat die kode doen, is om 'n spesifieke LED op NoteOn -sein aan te skakel, dit op die geassosieerde NoteOff -sein af te skakel en die helderheid van 'n strook op CCMessage op te dateer.

Ek het ook 'n eenvoudige funksie gedefinieer wat die moontlikheid gee om die kleur van die LED's te kies deur die snelheid te lees wat met die NoteOn -sein kom, en elke LED kan dan rooi, pers, blou, turkoois, groen, geel, oranje of wit wees, afhangende van die snelheidswaarde van 0 tot 127.

'N Belangrike ding om op te let is dat u die RX -pen (wat van die MIDI -ingangskring afkomstig is) moet ontkoppel wanneer u u skets oplaai, aangesien die seriële poort (wat tydens hierdie proses gebruik word) aan die pen gekoppel is!

Stap 7: Wat nou?

Ek werk tans aan 'n pasgemaakte omhulsel om al die elektronika in te sluit, en ek dink ook aan 'n naam vir die struktuur! Laat weet my asseblief as u hierdie projek geniet, en ek werk aan verskillende programme, aangesien ek van plan is om hierdie instruksies met meer video's op te dateer!

Aanbeveel: