Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
MAO pasionat și muzică electronică, dar, de asemenea, văzând că a fost posibil să creez o interfață Midi personalizată, am făcut al meu 6 potențiometre și 12 butoane (pornit / oprit), dar pentru a face locul mai dificil, încât a fost deja, aș dori să adaug indicații vizuale în jurul fiecărui buton rotativ
Pasul 1: POTENȚIOMETRI ȘI BUTOANE
Pentru a putea trimite o comandă midi cu potențiometru, mi-a trebuit să subliniez că potențiometrul este o componentă analogică (de la 0 la 1023) și datele care primesc Arduino pe intrarea sa anologică au variații mici, această mică variație a perturbat comunicarea cu computerul
Vă sfătuiesc să testați fiecare potențiometru pentru a evita o eroare și dacă variația valorii este foarte importantă un potențiometru este poate HS
Valoarea va fi examinată prin arduino și trebuie trimisă către computer în Midi trebuie să fie curată (datele sale numerice)
Variația mică poate fi exclusă de datele care vor fi incluse în program Butoanele acționează ca un comutator de pornire / oprire
Pasul 2: INELURI NEOPIXEL CU ARDUINO
Pentru a utiliza neopixel RIng cu arduino trebuie să instalați biblioteca NEOPIXEL
#include // Biblioteca Neopixel
#define PINX X // DATA IN; Care pin de pe placa microcontrolerului este conectat la NeoPixels?
#define NUMPIXELS XX // Câți NeoPixel sunt atașați la tablă?
Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELSX, PINX, NEO_GRB + NEO_KHZ800); // Biblioteca NeoPixel
pixels.setPixelColor (i, 0, 0, 0); // CODUL CULORII RGB în zecimal
pixels.setBrightness (luminozitate) // Setarea luminozității
pixels.show () // Aceasta trimite culoarea pixelilor actualizată la hardware.
Pentru informații, neopixelul cu 16 pixeli rulează în sens invers acelor de ceasornic
Despre consumul de energie suntem
(2x12 + 2x 16 + 2x24) x 3 (fiecare componentă are 3 leduri RGB) = 312 leduri.
Fiecare Led consumă 20ma, Total 6, 4A, dar nu folosim niciodată toți pixelii aprinși și, în al doilea rând, niciodată cu luminozitate maximă.
Pentru a consuma mai puțină energie, descoper un sfat de persistență retinienne
Oricum, ieșirea de 5V oferită de arduino nu este suficientă pentru a funcționa corect
Pasul 3: COMUNICARE MIDI Cu Arduino
În primul rând, copiați biblioteca midi Midi.h în C: / Program Files (x86) Arduino / libraries"
sourceforge.net/projects/arduinomidilib/
Pentru a utiliza arduino la fel ca un plug and plug de interfață și puteți transmite informații midi în USB, trebuie să blocați arduino cu un firmware personalizat
Vedeți acolo pentru această manipulare:
Singura problemă este; pentru a modifica codul dacă există o eroare, trebuie să puneți firmware-ul personalizat în arduino pentru a reactiva comunicația serială
Pasul 4: Cablare
Rotativele sunt conectate la intrare analogică
Comutatorul GND, Led GND și Neopixel DATA IN pe intrare digitală
www.sparkfun.com/products/9277
Led-ul utilizat este de culoare mono, alegeți același pin de culoare pentru led-ul pe PCB
Pasul 5: Programul
Microcontroler înseamnă programare
Acesta a fost pentru mine pasul mai greu, dar este ocazia să mă întorc în el
Programul se împarte în mai multe părți într-o singură buclă
fiecare parte devenind un subprogram
Setați pinul de comutare DATA cu pinul de date LED care se potrivește pe placa PCB
affiche (); // Citiți valoarea potențiometrului și trimiteți date Midi;
// Controlați NeoPixel cu citirea valorii potențiometrului și setați culoarea și inelul Broghtness1 (); inel2 (); ring3 (); ring4 (); ring5 (); ring6 (); buton(); // Verificați starea butonului, trimiteți date midi și controlați Ledul
Sunt foarte fericit că am părerea unui expert pentru a-mi îmbunătăți programul
Pasul 6: Partea de imprimare 3D
pentru a primi inelul de 6 neo pixeli cu imposibilitatea de a atinge potențiometrele se creează un suport
Neopixelii sunt lipiți pe el cu pistol de lipit
Acest suport este la al doilea nivel, deoarece rotativul nu poate introduce inelul Neopixel 12
Pasul 7: Placă de aluminiu
Pasul 8: Cutie de plexiglas 8 mm
Pentru a găuri și a atinge pe mijlocul feliei, am folosit un plexiglas de 8 mm grosime
Tăiați 5 Bucăți de plexiglas Am folosit un ferăstrău circular;
1 x 210mm / 270mm
2 x 210mm / 60mm
2 x 254mm / 60mm
Pentru a face asamblarea cutiei Forăm și Tapp pe mijlocul feliei fiecărei părți
Facem același lucru pentru a pune distanțierul
Foraj 2, 5mm
Bătând 3 mm
Pasul 9: Asamblare
Cu ajutorul distanțierului și a șurubului de 3 mm, am pus totul împreună
Distanțier de 35 mm pentru suport NEOPIXEL, distanțier de 50 mm pentru PCB Sparkfun și 5 mm pentru Arduino
Pasul 10: FINAL (TEST video)
www.youtube.com/embed/c_BEFl-kEec
Pasul 11: Coș
6 x Potențiometre liniare 10KOhm 0,25w
12 x Rezistor 220Ohm 0,25w
12 x Rezistor 10Kohm 0,25W
12 x DIODĂ STANDARD PE SEMICONDUCTOR 1N4148TA 100V 200MA
6 x Rezistor 470Ohm
1 x condensator 1000uF
1 x ARDUINO 2650 R3
3 x BUTON PAD BREAKOUT PCB 2X2
3 x TASTĂ BUTON YOP BEZEL 2X2
2 x INEL ADAFRUIT NEOPIXEL RGB 12 LED
2 x INEL ADAFRUIT NEOPIXEL RGB 16 LED
2 x INEL ADAFRUIT NEOPIXEL RGB 24 LED
12 x Distanțier HEXAGONAL M3 X 50MM
3 x Distanțier HEXAGONAL M3 X 35MM
1 x adaptor sector 5V 4A
1 x USB A MALE PENTRU B MALE 20CM
1 x adaptor USB 2.0 TIP B FEMELLE la USB 2.0 TIP A
1 x INTERRUPTEUR A BASCULE TRU COMPONENTS
1 X Conectare Tensiune joasă Vertical Femelă 5MM 2.2MM
1 x farfurie PLEXIGALS tickness 8MM