สารบัญ:
- ขั้นตอนที่ 1: เซ็นเซอร์
- ขั้นตอนที่ 2: การตัดต่อแบบดึงขึ้น
- ขั้นตอนที่ 3: รหัส Arduino
- ขั้นตอนที่ 4: ทั้ง Arduino Raspberry Serial Communication
- ขั้นตอนที่ 5: ได้รับ PureData Patch แล้ว
- ขั้นตอนที่ 6: การพัฒนา PureData
วีดีโอ: Musical Digital Interface: 6 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ยินดีต้อนรับทุกคน, ฉันต้องการแสดง Musical Digital Interface ของตัวเองให้คุณดู ฉันทำมันในระหว่างการศึกษาระดับปริญญาทางเทคนิคของฉัน นี่คือเอกสารการวิจัยของฉัน ในการเริ่มต้น ฉันถามฉันว่าจะแต่งเพลงโดยไม่มี DAW ได้อย่างไร โดยใช้วัสดุรีไซเคิลและเล่นแบบสแตนด์อโลนได้
ในคำแนะนำนี้ ฉันจะสอนวิธีใช้การสื่อสารแบบอนุกรมเพื่อส่ง/รับข้อมูลเซ็นเซอร์ (แอนะล็อกและดิจิทัล) จาก Arduino ถึง Raspberry pi ต่อซอฟต์แวร์ puredata เพื่อกระตุ้นเสียง
วัสดุที่จำเป็นคือ:
x1 รพ.รามาธิบดี
x1 เทศบาลนครราชบุรี
x1 ไมโครเอสดี (32G)
x1 วิทยาลัยอาชีวศึกษาอุบลราชธานี
x1 เซนเซอร์ IR ชาร์ป GP2Y0E02B
x1 วิทยาลัยอาชีวศึกษา
x1 เกจทดสอบเพลท (0.2)
x28 ความต้านทาน10MΩ
x2 ความต้านทาน 1.8kΩ
x1 ความต้านทาน 10kΩ
x20 ขั้วต่อขั้วต่อ ชาย/หญิง
x1 ประสาน ผู้ให้บริการ
x1 ม้วนดีบุก (1 เมตร)
x1 หัวแร้ง
x25 Flexibles Straps ชาย/ชาย
ขั้นตอนที่ 1: เซ็นเซอร์
ฉันใช้ 4 piezoelectric ที่มาจากรีโมท Harmonix XBOX 360 ของ "Guitar Hero" ฉันใช้ปุ่มเปิด/ปิดเพราะปุ่ม Reed Switch แม่เหล็กของรีโมท Jam foot pedal กีตาร์ฮีโร่หมด
ฉันใช้เซ็นเซอร์ IR Sharp GP2Y0E02B สำหรับเซ็นเซอร์ทั้งหมดนี้ ฉันได้ทำการประกอบแบบดึงขึ้นเพื่อการทำงานที่มีประสิทธิภาพ…
ดังนั้นฉันจึงพบค่าความต้านทานต่อเซ็นเซอร์ปุ่มและเซ็นเซอร์ IR โดยสังเกต อย่างไรก็ตาม ฉันทดสอบเพียโซอิเล็กทริกเพื่อให้ทราบสเกลเต็มของอันนี้ และค่าความต้านทานคงที่นั้นจำเป็นและนำไปใช้กับเซ็นเซอร์แอนะล็อก 4 ตัว
ขั้นตอนที่ 2: การตัดต่อแบบดึงขึ้น
หลังจากทดสอบเพียโซอิเล็กทริกด้วยเครื่องกำเนิดแรงดันไฟฟ้า ฉันคงค่าความต้านทานไว้ที่7MΩ
การดึงชุดประกอบความต้านทานของปุ่มคือ 10 kΩ
สำหรับเซ็นเซอร์ IR ฉันใช้ความต้านทาน 1, 8kΩ สองตัวระหว่างแรงดันไฟฟ้าของแหล่งจ่ายตามลำดับกับ SDA (ข้อมูล) และ SCL (นาฬิกา)
ระวังเพราะค่าความต้านทานเหล่านั้นมีไว้สำหรับ RTX Arduino UNO; สิ่งที่ต้องรู้เกี่ยวกับอินพุตอิมพีแดนซ์ Arduino: 10MΩ
คุณสามารถดูการตัดต่อแบบดึงขึ้นได้จากภาพสุดท้ายของขั้นตอนนี้ ฉันแก้ไขสายรัด piezoelectric ใน 0 1 2 3 พินบน UNO สายรัดปุ่มใน 2 พินดิจิตอล แต่สื่อสารค่าบน 6 พินบน UNO และสายรัดเซ็นเซอร์ IR ใน 4 5 พินบน UNO อินพุตอะนาล็อกทั้งหมดของ Arduino Uno
ขั้นตอนที่ 3: รหัส Arduino
เพื่อให้แน่ใจว่าการทำงานมีประสิทธิภาพ ฉันจึงทดสอบการส่ง/รับข้อมูลของเซ็นเซอร์ไปยัง Arduino
ฉันใส่ไฟล์ในคำอธิบาย แต่คุณสามารถค้นหาได้ในส่วนตัวอย่างของการเขียนโปรแกรม Arduino Genuino ยกเว้นเซ็นเซอร์ IR เนื่องจากยังไม่สมบูรณ์ ฉันเปลี่ยนข้อมูลบางส่วนในส่วน "กำหนด" เช่น "กะ" และฉันเปลี่ยนการคำนวณการวัดให้เป็นปกติ ในรูปแบบระยะทาง คุณอาจเคยเห็น "Wire" ในรหัสเซ็นเซอร์ IR อันที่จริง ฉันใช้โปรโตคอล I2C เพื่อสื่อสาร ฉันขอเชิญคุณมาดูโปรโตคอล I2C ที่น่าสนใจมาก คุณสามารถใช้โปรโตคอลนี้เพื่อส่งเซ็นเซอร์ดิจิทัลทั้งหมดที่คุณต้องการแบบเรียลไทม์
ขั้นตอนที่ 4: ทั้ง Arduino Raspberry Serial Communication
ครับ:D
ดังที่คุณเห็นในภาพแรก ลิงค์ Arduino-Raspberry คือปลั๊ก USB
ฉันพบวิธีรับข้อมูลเซ็นเซอร์โดยตรงโดย PureData Extented ที่ติดตั้งใน Raspberry PI ทำไม PureData ขยาย? เนื่องจากเวอร์ชัน Vanilla ไม่ได้ใช้ไลบรารีเดียวกันกับแอปพลิเคชันในสภาพแวดล้อม Raspbian
ดังนั้นให้เปิดใช้ StandardFirmata ใน Arduino Genuino เพื่อแก้ไข I/O และการเปลี่ยนแปลงค่าอย่างถูกวิธี!
ในการรับข้อมูลค่ากลับใน Raspberry PI มี 2 โปรโตคอล: Firmata และ Msg
ฉันเลือก Firmata ด้วยเหตุผลเดียว การรับข้อมูลใน PureData ผ่านแพตช์ Pduino นั้นง่ายกว่ามาก
ฉันขอเชิญคุณค้นพบข่าวสารเกี่ยวกับหากคุณใช้โปรโตคอล OSC
ขั้นตอนที่ 5: ได้รับ PureData Patch แล้ว
อันที่จริง หลังจากสัปดาห์ที่เขียนโค้ดบน Genuino ฉันได้รับข้อมูลเซ็นเซอร์ทั้งหมดของฉันสำเร็จในหน้าเดียว ซึ่งทำให้เห็นการเปลี่ยนแปลงในแบบเรียลไทม์ด้วย Pduino ซึ่งเป็นแพตช์ใน Puredata และไลบรารีส่วนเสริม
จากขั้นตอนนี้ เราจะไม่แตะต้องโค้ด Arduino อีกต่อไป ข้อมูลค่าสามารถอ่านได้
ตามที่ฉันสังเกตเห็นในขั้นตอนที่ 3 ฉันได้รับข้อมูลจากปุ่มดิจิทัลในแบบแอนะล็อก 6 พิน ซึ่งง่ายต่อการดูการทำงานของการสื่อสารที่มีประสิทธิภาพ ทั้งหมดในบรรทัดเดียว
ขั้นตอนที่ 6: การพัฒนา PureData
PureData เป็นภาษาเฉพาะ และคุณต้องใช้เวลาว่างของคุณเพื่อประสบความสำเร็จในการเย็บปะติดปะต่อกันที่ดี
แพทช์ PureData บางตัวจะพร้อมใช้งานใน GitHub
ฉันหวังว่าสิ่งที่ฉันเขียนที่นี่จะช่วยให้คุณเริ่มต้นโครงการของคุณเองได้ใกล้เคียงกับของฉัน
แนะนำ:
DIY Musical Doorbell: 7 ขั้นตอน (พร้อมรูปภาพ)
DIY Musical Doorbell: เรียนรู้วิธีทำกระดิ่งดนตรีแบบง่ายๆ โดยใช้ IC กำเนิดเมโลดี้ UM66T เครื่องสร้าง Melody จะเล่น Für Elise ของ Beethoven เมื่อถูกกระตุ้นเนื่องจากใช้ UM66T-19L มี IC เวอร์ชันต่างๆ กัน ซึ่งแต่ละรุ่นได้รับการกำหนดค่าให้เล่นต่างกัน
The Magic Musical Clock: 8 ขั้นตอน (พร้อมรูปภาพ)
The Magic Musical Clock: เราทุกคนรักนาฬิกาดนตรี เสียงทำให้เราฝันถึงความรู้สึกที่ดีที่จะไขลานและปล่อยให้มันเล่นเสียงดีๆ มีเว็บไซต์ที่มีความมหัศจรรย์ทางกลไกมากมายที่ทำให้ฉันฝันได้ แต่นาฬิกาดนตรีมีราคาแพงและไม่ยืดหยุ่นมาก
The Musical Clock.: 9 ขั้นตอน (พร้อมรูปภาพ)
The Musical Clock.: สวัสดีเพื่อนๆ นี่คือ Sagar และฉันเป็นแฟนตัวยงของดนตรี ดังนั้นฉันจึงคิดว่าทำไมไม่สร้างนาฬิกาด้วยแอมพลิฟายเออร์เครื่องเล่น MP3 เพื่อที่ฉันจะได้เพลิดเพลินกับเสียงเพลงโดยไม่เสียเวลา ดังนั้นฉันอยู่กับนาฬิกาของฉัน กรุณาลงคะแนนถ้าคุณชอบโครงการของฉัน ขอบคุณ
DIY Musical Xmas Lights สำหรับผู้เริ่มต้นด้วย Raspberry Pi: 12 ขั้นตอน (พร้อมรูปภาพ)
DIY Musical Xmas Lights สำหรับผู้เริ่มต้นด้วย Raspberry Pi: วันนี้ฉันจะทำตามขั้นตอนต่างๆ เพื่อใช้ Raspberry Pi เพื่อให้ไฟคริสต์มาสของคุณกระพริบพร้อมเสียงเพลง ด้วยวัสดุพิเศษเพียงไม่กี่เหรียญ ฉันจะแนะนำคุณเกี่ยวกับการแปลงไฟคริสต์มาสปกติของคุณให้เป็นการแสดงแสงสีทั้งบ้าน เป้าหมายที่เขา
Easy Button Musical Interface: 5 ขั้นตอน (พร้อมรูปภาพ)
Easy Button Musical Interface: โปรเจ็กต์นี้ปรับเปลี่ยนปุ่ม Easy Button ของ Staple มูลค่า $5 และแป้นพิมพ์ USB ราคาไม่แพง เพื่อให้สามารถใช้เป็นอุปกรณ์อินพุตสำหรับการแสดงดนตรีสด (หรืออย่างอื่นที่ต้องใช้ปุ่มหรือฟุตสวิตช์) อนุญาตให้สร้างปุ่มราคาถูก