สารบัญ:

DIY MIDI CONTROLLER USB Plug & Play (อัปเกรดวงแหวน NEOPIXEL): 12 ขั้นตอน
DIY MIDI CONTROLLER USB Plug & Play (อัปเกรดวงแหวน NEOPIXEL): 12 ขั้นตอน

วีดีโอ: DIY MIDI CONTROLLER USB Plug & Play (อัปเกรดวงแหวน NEOPIXEL): 12 ขั้นตอน

วีดีโอ: DIY MIDI CONTROLLER USB Plug & Play (อัปเกรดวงแหวน NEOPIXEL): 12 ขั้นตอน
วีดีโอ: DIY MIDI Controller [Ableton Demo] 2024, กรกฎาคม
Anonim
DIY MIDI CONTROLLER USB Plug & Play (อัพเกรดแหวน NEOPIXEL)
DIY MIDI CONTROLLER USB Plug & Play (อัพเกรดแหวน NEOPIXEL)
DIY MIDI CONTROLLER USB Plug & Play (อัพเกรดแหวน NEOPIXEL)
DIY MIDI CONTROLLER USB Plug & Play (อัพเกรดแหวน NEOPIXEL)
DIY MIDI CONTROLLER USB Plug & Play (อัพเกรดแหวน NEOPIXEL)
DIY MIDI CONTROLLER USB Plug & Play (อัพเกรดแหวน NEOPIXEL)

MAO ที่หลงใหลและดนตรีอิเล็กทรอนิกส์ แต่ยังเห็นว่ามันเป็นไปได้ที่จะสร้างอินเทอร์เฟซ Midi ในแบบของคุณ ฉันสร้างโพเทนชิโอมิเตอร์ 6 ตัวและปุ่ม 12 ปุ่ม (เปิด/ปิด) ของฉัน แต่เพื่อให้จุดที่ยากขึ้นที่มันเป็นอยู่แล้วฉันต้องการเพิ่มการแสดงภาพ auround แต่ละปุ่มหมุน

ขั้นตอนที่ 1: โพเทนชิโอมิเตอร์และปุ่ม

โพเทนชิโอมิเตอร์และปุ่ม
โพเทนชิโอมิเตอร์และปุ่ม
โพเทนชิโอมิเตอร์และปุ่ม
โพเทนชิโอมิเตอร์และปุ่ม

เพื่อให้สามารถส่งคำสั่ง midi ด้วยโพเทนชิออมิเตอร์ได้ ฉันเข้าใจว่าโพเทนชิออมิเตอร์เป็นส่วนประกอบแอนะล็อก (0 ถึง 1023) และข้อมูลที่ได้รับ Arduino บนอินพุตแบบอะนาล็อกนั้นมีความผันแปรเล็กน้อยซึ่งรูปแบบเล็กน้อยรบกวนการสื่อสารกับคอมพิวเตอร์

ฉันแนะนำให้คุณทดสอบโพเทนชิโอมิเตอร์แต่ละตัวเพื่อหลีกเลี่ยงข้อผิดพลาด และหากความแปรผันของค่ามีความสำคัญมาก โพเทนชิออมิเตอร์อาจเป็น HS

ค่าจะตรวจสอบโดย Arduino และจะต้องส่งไปยังคอมพิวเตอร์ใน Midi จะต้องสะอาด (ข้อมูลตัวเลขของมัน)

รูปแบบเล็ก ๆ สามารถ exculed ของข้อมูลที่จะรวมอยู่ในโปรแกรม ปุ่มทำหน้าที่เหมือนสวิตช์เปิด / ปิด

ขั้นตอนที่ 2: วงแหวน NEOPIXEL พร้อม ARDUINO

แหวนนีโอพิเซลพร้อม ARDUINO
แหวนนีโอพิเซลพร้อม ARDUINO

หากต้องการใช้ neopixel RIng กับ Arduino คุณต้องติดตั้ง NEOPIXEL Libraryhttps://learn.adafruit.com/adafruit-neopixel-uberg…

#include // Library Neopixel

#define PINX X // DATA IN; พินใดบนบอร์ดไมโครคอนโทรลเลอร์ที่เชื่อมต่อกับ NeoPixels

#define NUMPIXELS XX // NeoPixels ติดอยู่กับบอร์ดกี่อัน?

Adafruit_NeoPixel พิกเซล = Adafruit_NeoPixel (NUMPIXELSX, PINX, NEO_GRB + NEO_KHZ800); //ห้องสมุด NeoPixel

พิกเซล.setPixelColor(i, 0, 0, 0); // RGB COLOR CODE เป็นทศนิยม

pixels.setBrightness (ความสว่าง) // การตั้งค่าความสว่าง

pixels.show() // นี่จะส่งสีพิกเซลที่อัปเดตไปยังฮาร์ดแวร์

สำหรับข้อมูลนีโอพิกเซล 16 พิกเซลทำงานทวนเข็มนาฬิกา

เกี่ยวกับการใช้พลังงานเราคือ

(2x12 + 2x 16 + 2x24) x 3 (แต่ละส่วนประกอบมีไฟ LED RGB 3 ดวง) = ไฟ LED 312 ดวง

Led แต่ละตัวกินไฟ 20ma รวม 6, 4A แต่เราไม่เคยเปิดไฟพิกเซลทั้งหมดและประการที่สองไม่เคยมีความส่องสว่างสูงสุด

หากต้องการใช้พลังงานน้อยลง ฉันค้นพบเคล็ดลับของเรติเนียร์ที่คงอยู่

อย่างไรก็ตาม เอาต์พุต 5V ให้โดย Arduino มันยังไม่เพียงพอต่อการทำงานอย่างถูกต้อง

ขั้นตอนที่ 3: การสื่อสาร MIDI ด้วย Arduino

การสื่อสาร MIDI กับ Arduino
การสื่อสาร MIDI กับ Arduino

ขั้นแรกให้คัดลอก midi library Midi.h ใน C:\Program Files (x86)\Arduino\libraries"

sourceforge.net/projects/arduinomidilib/

เพื่อที่จะใช้ Arduino เหมือนกับ Interface Plug And Plug และสามารถส่งข้อมูล midi ใน USB คุณต้องแฟลช arduino ด้วยเฟิร์มแวร์ที่กำหนดเอง

ดูที่นั่นสำหรับการจัดการนี้:

ปัญหาเดียวคือ; หากต้องการแก้ไขรหัสหากมีข้อผิดพลาด คุณต้องใส่เฟิร์มแวร์ที่กำหนดเองใน Arduino เพื่อเปิดใช้งานการสื่อสารแบบอนุกรมอีกครั้ง

ขั้นตอนที่ 4: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ

โรตารีเชื่อมต่อกับอินพุตแบบอะนาล็อก

สวิตช์ GND, Led GND และ Neopixel DATA IN บน Digital Input

www.sparkfun.com/products/9277

ไฟ LED ที่ใช้เป็นสีโมโนเลือกพินสีเดียวกันสำหรับไฟ LED บน pcb

ขั้นตอนที่ 5: โปรแกรม

โปรแกรม
โปรแกรม

ไมโครคอนโทรลเลอร์ หมายถึง การเขียนโปรแกรม

นั่นเป็นก้าวที่ยากสำหรับฉัน แต่เป็นโอกาสที่จะได้กลับเข้าไปใหม่

โปรแกรมแบ่งเป็นหลายส่วนในวงเดียว

แต่ละส่วนกลายเป็นโปรแกรมย่อย

ตั้งค่าสวิตช์ DATA pin ด้วยข้อมูล led การจับคู่พินบนบอร์ด Pcb

แอฟฟิเช่ (); // อ่านค่าโพเทนชิออมิเตอร์และส่งข้อมูล Midi;

// ควบคุม NeoPixel ด้วยการอ่านค่าโพเทนชิออมิเตอร์และตั้งค่าสีและความสว่าง ring1 (); ring2(); ring3(); ring4(); ring5(); ring6(); ปุ่ม(); // ตรวจสอบสถานะปุ่ม ส่งข้อมูล midi และควบคุม Led

ฉันดีใจมากที่มีความคิดเห็นจากผู้เชี่ยวชาญในการปรับปรุงโปรแกรมของฉัน

ขั้นตอนที่ 6: ส่วนการพิมพ์ 3 มิติ

ส่วนการพิมพ์ 3 มิติ
ส่วนการพิมพ์ 3 มิติ
ส่วนการพิมพ์ 3 มิติ
ส่วนการพิมพ์ 3 มิติ
ส่วนการพิมพ์ 3 มิติ
ส่วนการพิมพ์ 3 มิติ

เพื่อรับวงแหวน 6 นีโอพิกเซลที่เป็นไปไม่ได้ที่จะสัมผัสโพเทนชิโอมิเตอร์ การสนับสนุนถูกสร้างขึ้น

Neopixel ติดกาวด้วยปืนกาว

การสนับสนุนนี้อยู่ในระดับที่สองเนื่องจากการหมุนไม่สามารถใส่แหวน Neopixel 12 ได้

ขั้นตอนที่ 7: แผ่นอลูมิเนียม

แผ่นอลูมิเนียม
แผ่นอลูมิเนียม
แผ่นอลูมิเนียม
แผ่นอลูมิเนียม
แผ่นอลูมิเนียม
แผ่นอลูมิเนียม

ขั้นตอนที่ 8: Plexiglass Box 8mm

กล่องลูกแก้ว 8mm
กล่องลูกแก้ว 8mm
กล่องลูกแก้ว 8mm
กล่องลูกแก้ว 8mm
กล่องลูกแก้ว 8mm
กล่องลูกแก้ว 8mm
กล่องลูกแก้ว 8mm
กล่องลูกแก้ว 8mm

ในการเจาะและเคาะตรงกลางชิ้นฉันใช้ลูกแก้วหนา 8 มม

ตัดลูกแก้ว 5 ชิ้น ฉันใช้เลื่อยวงเดือน;

1 x 210 มม. / 270 มม.

2 x 210mm / 60mm

2 x 254 มม. / 60 มม.

การประกอบกล่อง เราเจาะและเคาะตรงกลางสไลซ์ของแต่ละส่วน

เราทำสิ่งเดียวกันเพื่อใส่สเปเซอร์

เจาะ 2, 5mm

แตะ 3 mm

ขั้นตอนที่ 9: การประกอบ

การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ

เราประกอบเข้าด้วยกันโดยใช้ตัวเว้นระยะและสกรู 3 มม.

ตัวเว้นวรรค 35 มม. สำหรับรองรับ NEOPIXEL ตัวเว้นวรรค 50 มม. สำหรับ Sparkfun PCB และ 5 มม. สำหรับ Arduino

ขั้นตอนที่ 10: FINAL (การทดสอบวิดีโอ)

รอบชิงชนะเลิศ (วิดีโอทดสอบ)
รอบชิงชนะเลิศ (วิดีโอทดสอบ)
รอบชิงชนะเลิศ (วิดีโอทดสอบ)
รอบชิงชนะเลิศ (วิดีโอทดสอบ)

www.youtube.com/embed/c_BEFl-kEec

ขั้นตอนที่ 11: รถเข็น

รถเข็น
รถเข็น

6 x โพเทนชิโอมิเตอร์แบบลิเนียร์ 10KOhm 0.25w

12 x ตัวต้านทาน 220Ohm 0.25w

12 x ตัวต้านทาน 10Kohm 0.25W

12 x ไดโอดมาตรฐานบนเซมิคอนดักเตอร์ 1N4148TA 100V 200MA

6 x ตัวต้านทาน 470Ohm

1 x ตัวเก็บประจุ 1000uF

1 x ARDUINO 2650 R3

3 x BUTTON PAD BREAKOUT PCB 2X2

3 x ปุ่ม 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 ตัวเว้นวรรคหกเหลี่ยม M3 X 50MM

3 x E ตัวเว้นวรรคหกเหลี่ยม M3 X 35MM

1 x ตัวปรับเซกเตอร์ 5V 4A

1 x USB A MALE ถึง B MALE 20CM

1 x อแดปเตอร์ USB 2.0 TYPE B FEMELLE เป็น USB 2.0 TYPE A

1 x ขัดขวางส่วนประกอบ TRU พื้นฐาน

1 X เชื่อมต่อแรงดันต่ำแนวตั้งหญิง 5MM 2.2MM

1 x แผ่นเพล็กซิกัลส์ ความหนา 8MM

แนะนำ: