INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Passievolle MAO en elektroniese musiek, maar ek sien ook dat dit moontlik was om 'n persoonlike Midi -koppelvlak te maak wat ek gemaak het6 Potentiometers en 12 knoppies (aan / uit), maar om die plek moeiliker te maak as wat ek alreeds wou hê, sou ek 'n visuele aanduiding rondom elke draaiknop wou toevoeg
Stap 1: POTENTIOMETERS EN KNOPPE
Om 'n kommando -midi met 'n potensiometer te stuur, het ek onderneem dat die potensiometer 'n analoog komponent is (0 tot 1023) en dat die data wat Arduino op sy anologiese invoer ontvang, 'n klein variasie het, wat 'n klein variasie in die kommunikasie met 'n rekenaar versteur
Ek raai u aan om elke potensiometers te toets om 'n fout te vermy, en as die waardeverandering baie belangrik is, is 'n potensiometre miskien HS
Die waarde word deur arduino ondersoek en moet na Computer gestuur word in Midi moet skoon wees (sy numeriese data)
Die klein variasie kan uitgesluit word van data wat in die program ingesluit sal word. Die knoppies werk soos 'n aan / uit -skakelaar
Stap 2: NEOPIXEL -RINGE MET ARDUINO
Om die neopixel RING met arduino te gebruik, moet u die NEOPIXEL-biblioteek installeer
#include // Library Neopixel
#definieer PINX X // DATA IN; Watter pen op die mikrokontrollerbord is aan die NeoPixels gekoppel?
#define NUMPIXELS XX // Hoeveel NeoPixels is aan die bord geheg?
Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELSX, PINX, NEO_GRB + NEO_KHZ800); // NeoPixel -biblioteek
pixels.setPixelColor (i, 0, 0, 0); // RGB KLEURKODE in desimale
pixels.setBrightness (helderheid) // Instelling van helderheid
pixels.show () // Dit stuur die opgedateerde pixelkleur na die hardeware.
Vir inligting, die neopixel met 16 pixels wat teen die kloksgewys loop
Oor kragverbruik is ons
(2x12 + 2x 16 + 2x24) x 3 (elke komponent het 3 leds RGB) = 312 leds.
Elke Led verbruik 20ma, totaal 6, 4A, maar ons gebruik nooit alle pixels nie, maar tweedens nooit met maksimum helderheid nie.
Om minder krag te verbruik, ontdek ek 'n punt van volharding
In elk geval, 5V -uitset gee deur arduino, dit is nie genoeg dat dit korrek werk nie
Stap 3: MIDI -KOMMUNIKASIE Met die Arduino
Kopieer eerstens midi -biblioteek Midi.h in C: / Program Files (x86) Arduino / libraries"
sourceforge.net/projects/arduinomidilib/
Om die arduino dieselfde as 'n Interface Plug And Plug te gebruik en midi -inligting in USB te kan oordra, moet u arduino flits met 'n aangepaste firmware
Sien daar vir hierdie hantering:
Die enigste probleem is; Om die kode te verander as daar 'n fout is, moet u die aangepaste firmware in arduino plaas om die seriële kommunikasie weer te aktiveer
Stap 4: Bedrading
Die roterende is gekoppel aan Analogic Input
Die skakelaar GND, Led GND en Neopixel DATA IN op digitale invoer
www.sparkfun.com/products/9277
Led gebruik is mono kleur kies dieselfde kleur pen vir led op PCB
Stap 5: Die program
Mikrokontroleerder beteken programmering
Dit was vir my die moeiliker stap, maar dit is die geleentheid om weer daarin te begin
Die program verdeel in verskeie dele in een lus
elke deel word 'n subprogram
Stel die skakelaar -DATA -pen in met die LED -data -bypassing op die PCB -bord
affiche (); // Lees die potensiometerwaarde en stuur Midi -data;
// Beheer NeoPixel met die lees van die potensiometerwaarde en stel die kleur en die ringring in (1); ring2 (); ring3 (); ring4 (); ring5 (); ring6 (); knoppie (); // Gaan die toestand van die knoppie na, stuur midi -data en beheer Led
Ek is baie bly dat ek 'n deskundige mening het om my program te verbeter
Stap 6: 3D -afdrukgedeelte
om die 6 neo -pixelring te ontvang sonder om potensiometers aan te raak, word 'n ondersteuning geskep
Die Neopixel is daarop gom met 'n gomgeweer
Hierdie ondersteuning is op die tweede vlak omdat roterende Neopixel 12 -ring nie in die ring kan sit nie
Stap 7: Aluminiumplaat
Stap 8: Plexiglas boks 8 mm
Om in die middel van die sny te boor en te tik, het ek 'n plexiglas van 8 mm dik gebruik
Sny 5 stuk pleksiglas; ek gebruik 'n sirkelsaag;
1 x 210 mm / 270 mm
2 x 210 mm / 60 mm
2 x 254 mm / 60 mm
Om die boks te monteer Ons boor en tik in die middel van die sny van elke deel
Ons doen dieselfde om die afstandhouer te plaas
Boor 2, 5 mm
Tik 3 mm
Stap 9: Montering
Met behulp van 'n afstandhouer en 'n skroef van 3 mm sit ons alles bymekaar
35 mm afstandhouer voor NEOPIXEL ondersteuning, 50 mm afstandhouer voor Sparkfun PCB en 5 mm voor Arduino
Stap 10: FINALE (Videotoets)
www.youtube.com/embed/c_BEFl-kEec
Stap 11: Kar
6 x Klein Potentiometers 10KOhm 0.25w
12 x Weerstand 220Ohm 0.25w
12 x Weerstand 10Kohm 0.25W
12 x DIODE STANDAARD OP SEMICONDUCTOR 1N4148TA 100V 200MA
6 x Weerstand 470Ohm
1 x kondensator 1000uF
1 x ARDUINO 2650 R3
3 x BUTTON PAD BREAKOUT PCB 2X2
3 x BUTTON PAD YOP BEZEL 2X2
2 x ADAFRUIT NEOPIXEL RGB 12 LED RING
2 x ADAFRUIT NEOPIXEL RGB 16 LED RING
2 x ADAFRUIT NEOPIXEL RGB 24 LED RING
12 x HEXAGONAL afstandhouer M3 X 50MM
3 x E HEXAGONAL afstandhouer M3 X 35MM
1 x Sektor Adaptator 5V 4A
1 x USB A MALE tot B MAN 20CM
1 x Adaptator USB 2.0 TYPE B FEMELLE na USB 2.0 TYPE A
1 x ONDERBREKER 'N BASCULE TRU -KOMPONENTE
1 X Verbindende lae spanning vertikale vroulike 5MM 2.2MM
1 x bord van PLEXIGALS tikkie 8MM