สารบัญ:
- ขั้นตอนที่ 1: แบบสแตนด์อโลนหรือซอฟต์แวร์
- ขั้นตอนที่ 2: ไม้และเคส
- ขั้นตอนที่ 3: อิเล็กทรอนิกส์
- ขั้นตอนที่ 4: รหัส Arduino
- ขั้นตอนที่ 5: การปรับปรุง
วีดีโอ: Lune - ตัวควบคุม MIDI พร้อม Arduino (สำหรับดีเจหรือนักดนตรี): 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ชื่อโปรเจ็กต์ Arduino (ไมโครคอนโทรลเลอร์) ตัวแรกของฉันคือ Lune ฉันต้องการเรียนรู้ Arduino ด้วยโปรเจ็กต์ที่มีประโยชน์และมีขนาดใหญ่ ดังนั้นฉันจึงตัดสินใจสร้างตัวควบคุม midi DJ ที่มีฟังก์ชันทั้งหมดที่จำเป็นในการมิกซ์แบบสแตนด์อโลน
เซ็นเซอร์ทุกชนิด (โพเทนชิออมิเตอร์ ปุ่มกด …) สามารถเรียนรู้ได้อย่างอิสระ และฉันคิดว่าวิธีที่ดีที่สุดคือการเรียนรู้ "วิธีการทำงาน" และ "การเชื่อมต่ออย่างไร" สำหรับเซ็นเซอร์แต่ละตัวทีละขั้นตอน
ทุกอย่างทำงานเช่นนี้:
- เซ็นเซอร์ที่เชื่อมต่อกับ Arduino ตรวจพบการเปลี่ยนแปลง
- Arduino ส่งการเปลี่ยนแปลงนี้ไปยังคอมพิวเตอร์
- ซอฟต์แวร์บนคอมพิวเตอร์จะแปลงข้อมูลอนุกรม (arduino) เป็น MIDI ที่คุณสามารถใช้ในแคนตันได้ เช่น
คอนโทรลเลอร์ของฉันมี
- โพเทนชิโอมิเตอร์แบบแกน 6 สำหรับ EQ
- 3 potientometer axial สำหรับเอฟเฟกต์
- 6 potientometer เชิงเส้นสำหรับ Volume
- 2 ปุ่มกดสำหรับ Play
- 2 Ultrasonic sensor (SR04) สำหรับเอฟเฟกต์ระยะห่างจากมือของฉัน
- ปุ่มกด 2 ปุ่มสำหรับ Cue
- 2 x 4 ปุ่ม RGB led pad
- 1 ตัวเข้ารหัสสำหรับ Scratch
ขั้นตอนที่ 1: แบบสแตนด์อโลนหรือซอฟต์แวร์
ก่อนอื่นฉันค้นคว้าบทเรียนต่าง ๆ ของตัวควบคุม MIDI กับ Arduino
คุณสามารถทำตัวควบคุม MIDI ด้วยซอฟต์แวร์ที่แปลสิ่งที่คุณทำใน MIDI (สิ่งที่ฉันทำ)
คุณจะต้องการ:
- ซอฟต์แวร์สำหรับส่ง/รับข้อมูล midi https://projectgus.github.io/hairless-midiserial/ อย่าลืมตั้งค่าอัตรา baud ใน "การตั้งค่า" ตามหนึ่งในรหัส Arduino ของคุณ (สำหรับฉัน 9600 เพราะ "Serial.begin (9600);")
- อุปกรณ์ midi เสมือน
ตัวอย่างอื่น:
www.instructables.com/id/Easy-3-Pot-Potentiometer-Arduino-Uno-Effects-Midi-/
_
คุณสามารถทำตัวควบคุม MIDI "ของจริง" ซึ่งไม่มีซอฟต์แวร์ที่ทำงานบนคอมพิวเตอร์ของคุณเพื่อแปลสิ่งที่คุณทำบนตัวควบคุมใน MIDI กำลังส่ง MIDI ไปยังคอมพิวเตอร์
ในขณะนี้กับ Arduino Uno หรือ Mega คุณต้องแฟลชห้อง Arduino หรืออะไรทำนองนั้นเพื่อส่ง midi โดยตรง จากสิ่งที่ฉันเข้าใจถ้าคุณทำสิ่งนี้ คุณต้องแน่ใจว่ารหัสที่คุณส่งบน Arduino เพราะเมื่อ Arduino เป็นแฟลช คุณจะไม่สามารถส่งรหัสอีกต่อไป (คุณต้อง reflash อีกครั้ง) ฉันได้ทำรหัสทดสอบมามากมาย ดังนั้นฉันจึงเลือกตัวเลือกที่สอง แต่จะดีกว่าถ้ามีอุปกรณ์ MIDI แบบพลักแอนด์เพลย์อย่างแน่นอน
ตัวอย่างที่จะไปต่อ:
create.arduino.cc/projecthub/etiennedesportes/ableton-live-midi-controller-9182b3
MAJ 2018-02-28: https://www.arduino.cc/en/Reference/MIDIUSB วิธีที่ง่ายที่สุดถ้าคุณมี " ไมโครคอนโทรลเลอร์ที่มีความสามารถ USB ดั้งเดิม (บอร์ดที่ใช้ atmega32u4 หรือบอร์ด ARM) " (ไม่เป็นไรสำหรับ arduino UNO)
ขั้นตอนที่ 2: ไม้และเคส
การออกแบบเคสไม้: ฉันใช้ตัวสร้างเคส https://www.makercase.com/ ลบด้านบนและช่องสำหรับด้านบน เพื่อกำหนดความสูง ฉันมองหาความสูงของปุ่มความสูงของฉันและเพิ่ม 2 ซม.
สำหรับด้านบนฉันใช้แผ่น MDF หนึ่งแผ่นและไม้อัด Poplar 3 มม. หนึ่งแผ่นซึ่งเป็นแผ่นแกะสลัก
เลเซอร์ตัดแผ่นไม้ตามแบบ
ตัด/เจาะรูสำหรับสาย USB
ฉันได้เข้าร่วมแผนของฉันแล้ว แต่ในขั้นตอนนี้ มันน่าสนใจกว่ามากที่จะทำตัวควบคุมส่วนบุคคลของคุณ
การประกอบ:
สำหรับด้านข้างฉันติดกาวและประกอบแผงด้านต่างๆ
สำหรับด้านบนฉันเจาะรู 4 รูใน MDF 2 อันด้านบน (เส้นผ่านศูนย์กลางของสกรูของฉัน + 1 มม.)
ฉันขันสลักเกลียวแล้วขันน็อตให้เป็นมุมสี่ครั้งเพื่อขันแผ่นไม้ด้านบน 2 อันที่ด้านบนหลังจากนั้น
วิธีนี้ฉันมีมุม 4 มุมด้วยน็อตหนึ่งอันติดกาว รูที่มีน็อตเป็นรูสำหรับสกรูเพื่อยึดแผงด้านบน อันที่จริงฉันไม่สามารถเข้าถึงน็อตด้านล่างได้เมื่อฉันขันสกรูไม้ด้านบน
ฉันเจาะรูที่ด้านข้างของกระดาน (กล่อง), แก้ไข (สกรูและหลังจากกาวทุกอย่าง) มุมไปด้านข้าง
ใส่กระดานด้านบนทั้งสองแล้วขันให้แน่น
ด้วยวิธีนี้จะไม่มีน็อตที่มองเห็นได้และกระดานด้านบนไม่จำเป็นต้องแก้ไขดอกทอง มันแข็งอย่างน่าประหลาดใจ แต่อาจมีวิธีที่ดีกว่า
ขัด:
ฉันใช้ " Vernis bois brillant 125 ml Avel Louis XIII" (โปแลนด์ฝรั่งเศส) ที่ทำงานได้ดีมาก
มันค่อนข้างยาวเพราะฉันวางหลายชั้นและรอ 24 ชั่วโมงระหว่างแต่ละชั้น
ด้านบนดูดีและมีการป้องกันไม้ นี่เป็นครั้งแรกของฉัน ดังนั้นฉันจึงไม่รอมากเท่าที่จำเป็นหรือฉันใส่เวอร์นิชมากเกินไปในบางส่วนเพราะบางครั้งยาทาเล็บก็ไม่แข็งแม้หลังจากการอบแห้ง ตอนนี้ (หลังจากผ่านไป 2 เดือน) ก็ใช้ได้
กราฟฟิค: การตัดต่องานศิลปะของ Fornaseti และการวาดภาพบุคคล
ป.ล.: คำแนะนำในการออกแบบตัวควบคุม midi ในแผนของฉันปุ่ม RGB 4 สองปุ่มอยู่ใกล้กันเกินไป
www.instructables.com/id/A-Framework-For-Making-Affordable-Stylish-Modula/
ขั้นตอนที่ 3: อิเล็กทรอนิกส์
ฉันได้ใส่ทุกอย่าง (สำหรับโครงการของฉัน) ลงในไฟล์ Fritzing แล้ว
สำหรับเซ็นเซอร์แต่ละประเภท คุณต้องเรียนรู้ว่ามันทำงานอย่างไร หรือสิ่งที่เขามอบให้กับ Arduino
หากต้องการทำสิ่งนี้ ให้ดูบทช่วยสอนเกี่ยวกับสิ่งที่สร้างขึ้นได้ เช่น (" potentiometer arduino", …)
ฉันใช้:
- โพเทนชิออมิเตอร์
- แผ่น RGB (Sparkfun
- อัลตราซาวนด์ HC-SR04 (เครื่องตรวจจับระยะทาง)
- ตัวเข้ารหัส
- ปุ่มกด (ปุ่มอาร์เคด)
ฉันแนะนำว่าเมื่อคุณต้องการตัดต่อภาพขั้นสุดท้ายให้ทำแบบฟริทซ์ซิ่งไปพร้อม ๆ กัน เพราะมันยากที่จะมองเห็นเมื่อมีสายเคเบิลจำนวนมาก
คำสั่ง:
หลังจากที่รู้ทุกอย่างที่ฉันต้องการหรืออย่างน้อยที่สุดฉันก็สั่งส่วนประกอบของฉัน วิธีนี้ทำให้คุณมีค่าจัดส่งน้อยลง
ในส่วนของฉัน ฉันสั่งซื้อ Conrad หรือ RS มากที่สุด (ฉันอยู่ในฝรั่งเศส) และชิ้นที่เฉพาะเจาะจงมากขึ้น เช่น RGB pad บน robotshop
ตัวอย่างหนึ่งของคำสั่ง Conrad ของฉันในภาพ
ขั้นตอนที่ 4: รหัส Arduino
มีรหัสของฉันสำหรับ Arduino คุณต้องส่งมันหลังจากทำการเปลี่ยนแปลงหากคุณทำคอนโทรลเลอร์อื่น โดยใช้ Arduino IDE ไปยังไมโครคอนโทรลเลอร์ของคุณด้วย USB (youtube มีบทช่วยสอน) ในเอกสารแนบ:
- ตัวสุดท้าย
- อันเดียวเพื่อใช้งาน 2 RGB Pads ที่มี 6 สีที่เป็นไปได้ (RGB +cyan+rose+yellow)
- ส่วนเก่าของรหัสที่ฉันเขียนเพื่อเรียนรู้ความแตกต่างของเซ็นเซอร์
บางส่วนถูกเขียนโดยฉัน
คุณต้องติดตั้งไลบรารี Arduino (ดูข้อผิดพลาดและ "รวม") เช่น Keypad.h สำหรับแผ่น
คลาส differents อยู่ที่ส่วนท้ายของไฟล์
คุณสามารถสังเกตได้ว่าคลาสหนึ่งอยู่ที่นี่เพื่อส่งข้อมูลซีเรียล
เป็นโมฆะ MIDImessage (คำสั่ง byte, byte data1, byte data2) // --------- จำเป็น ส่งค่าผ่านคำสั่ง Midi มาตรฐาน
{ Serial.write (คำสั่ง); Serial.write(data1); Serial.write(data2); }"
ขั้นตอนที่ 5: การปรับปรุง
ทุกอย่างใช้งานได้ แต่มันเป็นต้นแบบ มีคำถามหรือจุดที่ต้องปรับปรุง
พลังงาน:
- เมื่อฉันใช้แผ่น RGB กับเซ็นเซอร์ทุกตัว ไฟ LED RGB จะสว่างน้อยมาก Arduino 5v นั้นน้อยเกินไปสำหรับโครงการของฉันหรือไม่? เมื่อฉันใช้พวกเขาเท่านั้นไม่มีปัญหา
รหัส:
- ฉันมีซีเรียลจากตัวเข้ารหัส แต่ฉันไม่รู้ว่ามันทำงานอย่างไรใน MIDI ฉันหมายถึงสิ่งที่พวกเขาต้องการในเอาต์พุต MIDI หากคุณรู้วิธีตั้งค่าตัวเข้ารหัสให้ขีดข่วนบน traktor ติดต่อฉัน
- รหัสบางส่วนของฉันสำหรับปุ่มไม่เหมาะกับแอปพลิเคชันเพลง เราต้องการการตอบสนองที่รวดเร็วที่สุด และฉันเห็นว่ารหัสปุ่มบางรหัสของฉันไม่ได้ถูกเขียนในลักษณะที่ดีที่สุด (ปุ่มเล่นถ้าฉันจำได้ดี)
แนะนำ:
MIDI Handpan พร้อม 19 Tonefields ที่ด้านบนและด้านล่าง: 15 ขั้นตอน (พร้อมรูปภาพ)
MIDI Handpan พร้อม 19 Tonefields ที่ด้านบนและด้านล่าง…: บทนำ นี่คือบทแนะนำเกี่ยวกับ Handpan MIDI ที่ฉันทำเองซึ่งมีโทนฟิลด์ที่ไวต่อเสียง 19 โทน ความสามารถของ Plug'n Play USB และพารามิเตอร์ที่ใช้งานง่ายมากมายสำหรับการปรับแพด สำหรับความต้องการส่วนบุคคลของคุณ ไม่ใช่ mod ที่ได้รับรางวัลการออกแบบ
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: 3 ขั้นตอน
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: เป็นโปรเจ็กต์เครื่องรับย่านความถี่ทั้งหมด ใช้ห้องสมุด Arduino Si4734 ห้องสมุดนี้มีตัวอย่างมากกว่า 20 ตัวอย่าง คุณสามารถฟัง FM ด้วย RDS สถานี AM (MW) ในพื้นที่ SW และสถานีวิทยุสมัครเล่น (SSB) เอกสารทั้งหมดที่นี่
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: 5 ขั้นตอน
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: Micropython เป็นการเพิ่มประสิทธิภาพของ python และมีขนาดเล็กของ python ซึ่งหมายถึงการสร้างสำหรับอุปกรณ์ฝังตัวซึ่งมีข้อจำกัดด้านหน่วยความจำและใช้พลังงานต่ำ Micropython สามารถใช้ได้กับคอนโทรลเลอร์หลายตระกูล ซึ่งรวมถึง ESP8266, ESP32, Ardui
PWM พร้อม ESP32 - Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: 6 ขั้นตอน
PWM พร้อม ESP32 | Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: ในคำแนะนำนี้เราจะดูวิธีสร้างสัญญาณ PWM ด้วย ESP32 โดยใช้ Arduino IDE & โดยทั่วไปแล้ว PWM จะใช้เพื่อสร้างเอาต์พุตแอนะล็อกจาก MCU ใดๆ และเอาต์พุตแอนะล็อกนั้นอาจเป็นอะไรก็ได้ระหว่าง 0V ถึง 3.3V (ในกรณีของ esp32) & จาก
รีโมทไร้สายโดยใช้โมดูล NRF24L01 2.4Ghz พร้อม Arduino - Nrf24l01 ตัวรับส่งสัญญาณ 4 ช่อง / 6 ช่องสำหรับ Quadcopter - เฮลิคอปเตอร์ Rc - เครื่องบิน Rc โดยใช้ Arduino: 5 ขั้นตอน (พร้อมรูปภาพ)
รีโมทไร้สายโดยใช้โมดูล NRF24L01 2.4Ghz พร้อม Arduino | Nrf24l01 ตัวรับส่งสัญญาณ 4 ช่อง / 6 ช่องสำหรับ Quadcopter | เฮลิคอปเตอร์ Rc | เครื่องบิน Rc โดยใช้ Arduino: เพื่อใช้งานรถ Rc | Quadcopter | โดรน | เครื่องบิน RC | เรือ RC เราต้องการเครื่องรับและเครื่องส่งเสมอ สมมติว่าสำหรับ RC QUADCOPTER เราต้องการเครื่องส่งและเครื่องรับ 6 ช่องสัญญาณ และ TX และ RX ประเภทนั้นมีราคาแพงเกินไป ดังนั้นเราจะสร้างมันขึ้นมาบน