Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Ehtiraslı MAO və Elektronik Musiqi, həm də fərdiləşdirmək üçün Midi İnterfeysi yaratmağın mümkün olduğunu görərək mina6 Potansiyometr və 12 düymə (açma / söndürmə) etdim, amma bu nöqtəni daha da çətinləşdirmək üçün hər dönər düymənin ətrafında əyani göstərici əlavə etmək istərdim.
Addım 1: POTANSİYOMETRE VƏ DÜĞMƏLƏR
Potensialiometr ilə bir komanda midi göndərə bilmək üçün potensialiometrin analoji komponent olduğunu (0 -dan 1023 -ə qədər) başa düşdüm və Arduino -nu anoloji girişində qəbul edən məlumatların kiçik dəyişikliyi var ki, kiçik dəyişiklik kompüterlə əlaqəni pozur.
Səhv etməmək üçün hər bir potansiyometri sınamağı məsləhət görürəm və dəyər dəyişikliyi çox vacibdirsə, potensialiomtre HS ola bilər.
Dəyər arduino tərəfindən araşdırılacaq və Midi'deki Kompüterə göndərilməlidir, təmiz olmalıdır (rəqəmsal məlumatları)
Kiçik dəyişiklik proqrama daxil ediləcək məlumatları ləğv edə bilər Düymələr açma / söndürmə kimi işləyir
Addım 2: ARDUINO İLƏ NEOPIXEL Üzüklər
Arduino ilə neopixel RIng istifadə etmək üçün NEOPIXEL Kitabxanasını yükləməlisinizhttps://learn.adafruit.com/adafruit-neopixel-uberg…
#daxil edin // Kitabxana Neopixel
#dex PINX X // DATA IN; NeoPixelsə mikrokontrolör lövhəsindəki hansı pin qoşulub?
#define NUMPIXELS XX // Lövhəyə neçə NeoPixel yapışdırılır?
Adafruit_NeoPixel pikselləri = Adafruit_NeoPixel (NUMPIXELSX, PINX, NEO_GRB + NEO_KHZ800); // NeoPixel Kitabxanası
piksel.setPixelColor (i, 0, 0, 0); // RGB COLOR CODE ondalık
piksel.setBrightness (parlaqlıq) // Parlaqlığın Ayarı
piksel.show () // Bu, yenilənmiş piksel rəngini aparata göndərir.
Məlumat üçün 16 pikseli olan saat yönünün əksinə işləyən neopikseldir
Enerji istehlakı haqqında
(2x12 + 2x 16 + 2x24) x 3 (hər komponentdə 3 ledli RGB var) = 312 led.
Hər bir LED 20ma, Cəmi 6, 4A istehlak edir, lakin heç vaxt bütün pikselləri yandırmırıq və ikincisi də maksimum parlaqlıqla istifadə etmirik.
Daha az enerji sərf etmək üçün davamlılığın bir ucunu kəşf edirəm
Hər halda 5V çıxışı arduino tərəfindən düzgün işləməsi üçün kifayət deyil
Addım 3: Arduino ilə MIDI Əlaqə
Əvvəlcə Midi.h kitabxanasını C: / Program Files (x86) Arduino / libraries -ə kopyalayın"
sourceforge.net/projects/arduinomidilib/
Arduino -nu Interface Plug And Plug ilə eyni şəkildə istifadə etmək və midi məlumatlarını USB -də ötürmək üçün arduino -nu xüsusi Firmware ilə flaş etməlisiniz.
Bu iş üçün ora baxın:
Yeganə problem budur; Səhv olarsa kodu dəyişdirmək üçün serial ünsiyyətini yenidən aktivləşdirmək üçün xüsusi firmware proqramını arduinoya qoymalısınız
Addım 4: Kabel çəkmə
Rotary Analog Girişə bağlıdır
Rəqəmsal Girişdə GND, Led GND və Neopixel DATA IN açarı
www.sparkfun.com/products/9277
Ledlər mono rəngdədir, pcb -də led üçün eyni rəngli pin seçilir
Addım 5: Proqram
Mikrokontroller Proqramlaşdırma deməkdir
Bu mənim üçün daha çətin bir addım idi, amma ona qayıtmaq üçün bir fürsətdir
Proqram bir döngədə bir neçə hissəyə bölünür
hər bir hissə bir alt proqrama çevrilir
Pcb lövhəsində LED məlumat Pin uyğunluğu ilə DATA pin açarını təyin edin
affiche (); // Potansiometr dəyərini oxuyun və Midi məlumatlarını göndərin;
// Potensialiometr Dəyərinin oxunması və Rəng və Boşluq halqası1 () ilə NeoPixel -ə nəzarət edin; üzük2 (); üzük3 (); üzük4 (); üzük 5 (); üzük 6 (); düymə (); // Düymə vəziyyətini yoxlayın, midi məlumatlarını göndərin və Ledə nəzarət edin
Proqramımı təkmilləşdirmək üçün ekspert rəyinə sahib olduğum üçün çox xoşbəxtəm
Addım 6: 3D çap hissəsi
Potensialiometrlərə toxunmaq mümkün olmayan 6 neo piksel üzük almaq üçün bir dəstək yaradır
Neopixel, yapışqan tabancası ilə yapışdırılır
Bu dəstək ikinci səviyyədədir, çünki fırlanan Neopixel 12 halqasına yerləşdirilə bilməz
Addım 7: Alüminium lövhə
Addım 8: Plexiglass Box 8mm
Dilimin ortasında qazmaq və vurmaq üçün qalınlığı 8 mm olan bir pleksiglas istifadə etdim
Cut 5 Piece plexiglass i dairəvi mişardan istifadə etdim;
1 x 210 mm / 270 mm
2 x 210 mm / 60 mm
2 x 254 mm / 60 mm
Qutunun montajını etmək üçün hər hissənin diliminin ortasında qazırıq və Tapp edirik
Aralayıcı qoymaq üçün eyni şeyi edirik
Qazma 2, 5 mm
Toxunma 3 mm
Addım 9: Quraşdırma
Spacer və 3 mm vida köməyi ilə hamısını bir yerə yığırıq
NEOPIXEL dəstəyi üçün 35 mm boşluq, Sparkfun PCB üçün 50 mm boşluq və Arduino üçün 5 mm
Addım 10: FİNAL (Video TEST)
www.youtube.com/embed/c_BEFl-kEec
Addım 11: Səbət
6 x Liniar Potansiyometr 10KOhm 0.25w
12 x Rezistor 220Ohm 0.25w
12 x Rezistor 10Kohm 0.25W
1N4148TA 100V 200MA SEMICONDUCTOR -da 12 x DIODE STANDART
6 x Rezistor 470 Ohm
1 x 1000uF kondansatör
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 üzük
2 x ADAFRUIT NEOPIXEL RGB 16 LED üzük
2 x ADAFRUIT NEOPIXEL RGB 24 LED üzük
12 x altıbucaqlı boşluq M3 X 50MM
3 x E altıbucaqlı boşluq M3 X 35MM
1 x Sektor Adaptatoru 5V 4A
1 x USB A BİR ERKƏK 20 CM
1 x USB 2.0 TİPİ B FEMELLE USB 2.0 TİP A -ya uyğunlaşdırıcı
1 x KESİNLİKLİ A BASCULE TRU BİLEŞENLERİ
1 X Aşağı Gərginlikli Şaquli Dişi 5MM 2.2MM Bağlama
1 x PLEXIGALS gənəliyi 8 MM olan boşqab