สารบัญ:

ดนตรีของกล้ามเนื้อด้วย Arduino: 7 ขั้นตอน
ดนตรีของกล้ามเนื้อด้วย Arduino: 7 ขั้นตอน

วีดีโอ: ดนตรีของกล้ามเนื้อด้วย Arduino: 7 ขั้นตอน

วีดีโอ: ดนตรีของกล้ามเนื้อด้วย Arduino: 7 ขั้นตอน
วีดีโอ: การประยุกต์ใช้งาน Arduino ตอน Ultrasonic เพื่อสร้างระบบตรวจจับผู้บุกรุก 2024, พฤศจิกายน
Anonim
กล้ามเนื้อเพลงด้วย Arduino
กล้ามเนื้อเพลงด้วย Arduino

สวัสดีทุกคน นี่เป็น Instructables แรกของฉัน โปรเจ็กต์นี้ได้รับแรงบันดาลใจหลังจากดูโฆษณาวิดีโอ Old Spice Muscle Music ซึ่งเราสามารถดูว่า Terry Crews เล่นเครื่องดนตรีต่างๆ ด้วยสัญญาณ EMG ได้อย่างไร

เราวางแผนที่จะเริ่มต้นการเดินทางนี้ด้วยโครงการแรกนี้ ซึ่งเราสร้างสัญญาณคลื่นสี่เหลี่ยมที่มีความถี่ที่แตกต่างกันไปตามแอมพลิจูดของสัญญาณ EMG ที่ได้รับ ต่อมาสัญญาณนี้จะเชื่อมต่อกับลำโพงเพื่อเล่นความถี่นั้น

ในการสร้างโครงการนี้ เราจะใช้เป็นแกนหลัก Arduino UNO และ MyoWare Muscle Sensor หากคุณไม่สามารถรับ MyoWare Sensor ได้ ไม่ต้องกังวล เราจะอธิบายวิธีการสร้างของคุณเอง ซึ่งค่อนข้างยุ่งยากเล็กน้อย แต่ก็คุ้มค่าที่จะลอง เพราะคุณจะได้เรียนรู้มากมาย!!

มาเริ่มกันเลยดีกว่า

ขั้นตอนที่ 1: รับชิ้นส่วนที่จำเป็น

รับชิ้นส่วนที่จำเป็น
รับชิ้นส่วนที่จำเป็น

มีสองวิธีในการสร้างโครงการนี้: การใช้เซ็นเซอร์ MyoWare (ขั้นตอนที่ 2 และ 3) และไม่ใช้ (ขั้นตอนที่ 4 และ 5)

การใช้เซ็นเซอร์ MyoWare นั้นง่ายกว่าเพราะไม่ต้องการความรู้ขั้นสูงเกี่ยวกับอุปกรณ์อิเล็กทรอนิกส์ เพียงแค่เสียบปลั๊กแล้วใช้งานได้เลย หากไม่มี MyoWare คุณจะต้องมีความรู้เกี่ยวกับ OpAmp เช่น การขยายเสียงและการกรอง ตลอดจนการแก้ไขสัญญาณ วิธีนี้ยากกว่า แต่ช่วยให้คุณเข้าใจสิ่งที่อยู่เบื้องหลังวงจร MyoWare

สำหรับวิธีการของ MyoWare เราจำเป็นต้องมีส่วนประกอบและเครื่องมือดังต่อไปนี้:

  • มายโอแวร์ มัสเซิล เซนเซอร์ (Sparkfun)
  • Arduino UNO (อเมซอน)
  • วิทยากร
  • เขียงหั่นขนม
  • สาย 22 AWG
  • อิเล็กโทรด 3 x 3M (อเมซอน)
  • ไขควง
  • 2 x คลิปจระเข้
  • สาย USB Arduino
  • เครื่องปอกสายไฟ
  • 1 x 1000uF (อเมซอน)

หากไม่มี MyoWare คุณจะต้องมีส่วนประกอบก่อนหน้า (ไม่มี MyoWare) รวมถึง:

  • แหล่งจ่ายไฟที่มี +12 V, -12 V และ 5 V (คุณสามารถสร้างของคุณเองด้วยคอมพิวเตอร์ PS ตามที่แสดงในคำแนะนำนี้)
  • หากสายไฟ AC ของพาวเวอร์ซัพพลายเป็นแบบ 3 ขา คุณอาจต้องใช้อะแดปเตอร์แบบสามขา/สองขาหรือปลั๊กแบบสิบแปดมงกุฎ (บางครั้งง่ามที่เกินก็สร้างเสียงรบกวนที่ไม่ต้องการได้)
  • มัลติมิเตอร์
  • เครื่องขยายเสียง Intrumentation AD620
  • OpAmps 2 x LM324 (หรือใกล้เคียง)
  • ไดโอด 3 x 1N4007 (หรือใกล้เคียง)
  • ตัวเก็บประจุ

    • ไม่มีโพลาไรซ์ (อาจเป็นตัวเก็บประจุแบบเซรามิก โพลีเอสเตอร์ ฯลฯ)

      • 2 x 100 nF
      • 1 x 120 nF
      • 1 x 820 nF
      • 1 x 1.2 ยูเอฟ
      • 1 x 1 ยูเอฟ
      • 1 x 4.7 ยูเอฟ
      • 1 x 1.8 ยูเอฟ
    • โพลาไรซ์ (ตัวเก็บประจุด้วยไฟฟ้า)

      2 x 1mF

  • ตัวต้านทาน

    • 1 x 100 โอห์ม
    • 1 x 3.9k โอห์ม
    • 1 x 5.6k โอห์ม
    • 1 x 1.2k โอห์ม
    • 1 x 2.7k โอห์ม
    • 3 x 8.2k โอห์ม
    • 1 x 6.8k โอห์ม
    • 2 x 1k โอห์ม
    • 1 x 68k โอห์ม
    • 1 x 20k โอห์ม
    • 4 x 10k โอห์ม
    • 6 x 2k โอห์ม
    • 1 x 10k โอห์มโพเทนชิโอมิเตอร์

ขั้นตอนที่ 2: (ด้วย MyoWare) เตรียมอิเล็กโทรดและเชื่อมต่อ

(ด้วย MyoWare) เตรียมอิเล็กโทรดและเชื่อมต่อ
(ด้วย MyoWare) เตรียมอิเล็กโทรดและเชื่อมต่อ
(ด้วย MyoWare) เตรียมอิเล็กโทรดและเชื่อมต่อ
(ด้วย MyoWare) เตรียมอิเล็กโทรดและเชื่อมต่อ
(ด้วย MyoWare) เตรียมอิเล็กโทรดและเชื่อมต่อ
(ด้วย MyoWare) เตรียมอิเล็กโทรดและเชื่อมต่อ

สำหรับส่วนนี้ เราต้องใช้ MyoWare Sensor และ 3 อิเล็กโทรด

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

เชื่อมต่อ MyoWare ตามที่ระบุไว้ในหน้า 4 ของคู่มือเซนเซอร์

ขั้นตอนที่ 3: (ด้วย MyoWare) เชื่อมต่อเซ็นเซอร์กับบอร์ด Arduino

(ด้วย MyoWare) เชื่อมต่อเซ็นเซอร์กับบอร์ด Arduino
(ด้วย MyoWare) เชื่อมต่อเซ็นเซอร์กับบอร์ด Arduino
(ด้วย MyoWare) เชื่อมต่อเซ็นเซอร์กับบอร์ด Arduino
(ด้วย MyoWare) เชื่อมต่อเซ็นเซอร์กับบอร์ด Arduino
(ด้วย MyoWare) เชื่อมต่อเซ็นเซอร์กับบอร์ด Arduino
(ด้วย MyoWare) เชื่อมต่อเซ็นเซอร์กับบอร์ด Arduino

บอร์ด MyoWare มี 9 Pins: RAW, SHID, GND, +, -, SIG, R, E และ M สำหรับโปรเจ็กต์นี้ เราต้องการเพียง " +" เพื่อเชื่อมต่อ 5V, " - " สำหรับ Ground และ " SIG " สำหรับ สัญญาณเอาท์พุต เชื่อมต่อกับสายเคเบิลขนาดใหญ่ 3 เส้น (~2 ฟุต)

ดังที่กล่าวไว้ข้างต้น พิน "+" จะต้องเชื่อมต่อกับพิน 5V ของ Arduino, "-" กับ GND และสำหรับ SIG เราจำเป็นต้องมีตัวกรองเพิ่มเติมเพื่อหลีกเลี่ยงการเปลี่ยนแปลงแอมพลิจูดของสัญญาณอย่างกะทันหัน

สำหรับลำโพงเราต้องเชื่อมต่อสาย Positive กับพิน 13 และ Negative กับ GND เท่านั้น

และเราพร้อมสำหรับโค้ด!!!

ขั้นตอนที่ 4: (ไม่มี MyoWare) สร้างวงจรปรับสภาพสัญญาณ

(ไม่มี MyoWare) สร้างวงจรปรับสภาพสัญญาณ
(ไม่มี MyoWare) สร้างวงจรปรับสภาพสัญญาณ

วงจรนี้ถูกรวมเข้าด้วยกัน 8 ขั้นตอน:

  1. เครื่องขยายเสียงเครื่องมือ
  2. กรองผ่านต่ำ
  3. ตัวกรองความถี่สูง
  4. อินเวอร์เตอร์แอมพลิฟายเออร์
  5. วงจรเรียงกระแสความแม่นยำคลื่นเต็ม
  6. ตัวกรองสัญญาณความถี่ต่ำแบบพาสซีฟ
  7. แอมพลิฟายเออร์ดิฟเฟอเรนเชียล
  8. Clipper ขนานแบบลำเอียง

1. เครื่องขยายเสียงเครื่องมือ

ขั้นตอนนี้ใช้เพื่อขยายสัญญาณล่วงหน้าด้วยอัตราขยาย 500 และกำจัดสัญญาณ 60 Hz ที่อาจอยู่ในระบบ สิ่งนี้จะทำให้เราได้รับสัญญาณที่มีแอมพลิจูดสูงสุด 200 mV

2. ตัวกรองสัญญาณความถี่ต่ำ

ตัวกรองนี้ใช้เพื่อขจัดสัญญาณใดๆ ที่สูงกว่า 300 Hz

3. ตัวกรองความถี่สูง

ตัวกรองนี้ใช้เพื่อหลีกเลี่ยงสัญญาณที่ต่ำกว่า 20 Hz ที่เกิดจากการเคลื่อนที่ของอิเล็กโทรดขณะสวมใส่

4. อินเวอร์เตอร์แอมพลิฟายเออร์

ด้วยอัตราขยาย 68 แอมพลิฟายเออร์นี้จะสร้างสัญญาณที่มีแอมพลิจูดตั้งแต่ - 8 ถึง 8 V

5. วงจรเรียงกระแสความแม่นยำคลื่นเต็ม

วงจรเรียงกระแสนี้แปลงสัญญาณลบใดๆ ให้เป็นสัญญาณบวก เหลือเพียงสัญญาณบวกเท่านั้น สิ่งนี้มีประโยชน์เนื่องจาก Arduino ยอมรับเฉพาะสัญญาณตั้งแต่ 0 ถึง 5 V ในอินพุตแบบอะนาล็อก

6. ฟิลเตอร์ Low-pass แบบพาสซีฟ

เราใช้ตัวเก็บประจุแบบอิเล็กโทรไลต์ขนาด 2 x 1000uF เพื่อหลีกเลี่ยงการเปลี่ยนแปลงแอมพลิจูดอย่างกะทันหัน

7. แอมพลิฟายเออร์ดิฟเฟอเรนเชียล

หลังจากสเตจ 6 เราพบว่าสัญญาณของเรามีออฟเซ็ต 1.5 V ซึ่งหมายความว่าสัญญาณของเราไม่สามารถลงไปที่ 0 V ได้เพียง 1.5 V และสูงสุด 8 โวลต์ดิฟเฟอเรนเชียลแอมพลิฟายเออร์จะใช้สัญญาณของ 1.5 V (ได้มากับตัวแบ่งแรงดันและ 5V ปรับด้วยโพเทนชิออมิเตอร์ 10k) และสัญญาณที่เราต้องการจะแก้ไขและจะพัก 1.5 V ให้สัญญาณของกล้ามเนื้อทำให้เรามีสัญญาณที่สวยงามด้วยค่าต่ำสุด 0 V และสูงสุด จาก 6.5 โวลต์

8. คลิปเปอร์คู่ขนานลำเอียง

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

ขั้นตอนที่ 5: (ไม่มี MyoWare) เชื่อมต่ออิเล็กโทรดกับวงจรและ Arduino

(ไม่มี MyoWare) ต่ออิเล็กโทรดเข้ากับวงจรและ Arduino
(ไม่มี MyoWare) ต่ออิเล็กโทรดเข้ากับวงจรและ Arduino
(ไม่มี MyoWare) ต่ออิเล็กโทรดเข้ากับวงจรและ Arduino
(ไม่มี MyoWare) ต่ออิเล็กโทรดเข้ากับวงจรและ Arduino
(ไม่มี MyoWare) ต่ออิเล็กโทรดเข้ากับวงจรและ Arduino
(ไม่มี MyoWare) ต่ออิเล็กโทรดเข้ากับวงจรและ Arduino

อิเล็กโทรดที่วางอยู่ในลูกหนูคืออิเล็กโทรด 1, 2 และอิเล็กโทรดที่อยู่ใกล้กับข้อศอกมากที่สุดเรียกว่าอิเล็กโทรดอ้างอิง

อิเล็กโทรด 1 และ 2 เชื่อมต่อกับอินพุต + และ - ของ AD620 ไม่สำคัญว่าจะเรียงลำดับอย่างไร

อิเล็กโทรดอ้างอิงเชื่อมต่อกับ GND

สัญญาณที่กรองแล้วจะไปที่ขา A0 ของ Arduino โดยตรง

**อย่าลืม GND ของ ARDUINO กับ GND ของวงจร**

ขั้นตอนที่ 6: รหัส!!

รหัส!!!
รหัส!!!
รหัส!!!
รหัส!!!
รหัส!!!
รหัส!!!

ในที่สุดรหัส

1. อันแรกคือการกวาดความถี่จาก 400 Hz ถึง 912 Hz ขึ้นอยู่กับแอมพลิจูดของสัญญาณที่ได้รับจากลูกหนู

2. อันที่สองคืออ็อกเทฟที่สามของสเกลนายกเทศมนตรี C ขึ้นอยู่กับแอมพลิจูดที่จะเลือกโทนเสียง

คุณสามารถหาความถี่ในวิกิพีเดียได้ ไม่ต้องสนใจทศนิยม

ขั้นตอนที่ 7: ผลลัพธ์สุดท้าย

นี่คือผลลัพธ์ที่ได้ คุณสามารถแก้ไขโค้ดเพื่อเล่นโน้ตที่คุณต้องการได้!!!

ขั้นตอนต่อไปของโครงการนี้คือการรวมสเต็ปเปอร์มอเตอร์และแอคทูเอเตอร์ประเภทอื่นเพื่อเล่นเครื่องดนตรี และยังออกกำลังกายเพื่อรับสัญญาณที่แรง

ตอนนี้ทำให้กล้ามเนื้อของคุณเล่นเพลง มีความสุข!!:)

แนะนำ: