สารบัญ:
- ขั้นตอนที่ 1: รายการชิ้นส่วน
- ขั้นตอนที่ 2: โปรโตคอล I2C
- ขั้นตอนที่ 3: เตรียมมอเตอร์ของคุณ
- ขั้นตอนที่ 4: ติดตั้งมอเตอร์บนถุงมือ
- ขั้นตอนที่ 5: เชื่อมต่อ LCD
- ขั้นตอนที่ 6: ตั้งค่า L293D
- ขั้นตอนที่ 7: การเดินสาย Arduino ของคุณไปยังการตั้งค่า L293D
- ขั้นตอนที่ 8: รหัสสำหรับ Arduinos ทั้งคู่
- ขั้นตอนที่ 9: เปิดเครื่องมัน
- ขั้นตอนที่ 10: ความพิเศษบางอย่าง
วีดีโอ: ครูขลุ่ยสัมผัส: 10 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
เคยเบื่อที่จะลืมนิ้วให้แบนสูง B และอายตัวเองต่อหน้าสมาชิกในวงของคุณหรือไม่? เลขที่? แค่ฉัน? เพื่อช่วยให้ฉันจดจำนิ้วขลุ่ยของฉัน (แทนที่จะฝึก) ฉันได้สร้างครู Haptic Flute ขึ้นมาเพื่อช่วยให้ฉันจำวิธีการเล่นแต่ละโน้ตได้ หลังจากอ่านบทความนี้เกี่ยวกับครูสอนเปียโนแบบแฮบติคแล้ว ฉันก็ลองทำเครื่องดนตรีขลุ่ย ฉันใช้ Arduinos สองตัว ออดสองสามตัว และสายไฟจำนวนมากเพื่อทำให้สิ่งนี้มีชีวิต ครู Haptic Flute รู้ดีว่านิ้วสำหรับโน้ตทั้งหมดบนฟลุต (รวมถึงแฟลตและชาร์ป) และสามารถสอนวิธีเล่นสเกลสีให้คุณได้! ในการใช้ครูสอนเป่าขลุ่ยนี้ คุณสวมถุงมือแล้วเลือกโน้ตหรือเพลงบนจอ LCD โดยการกดปุ่ม เมื่อโน้ตหรือเพลงที่ต้องการแสดงขึ้น ให้กดปุ่มอื่น จากนั้นนิ้วที่คุณจะกดลงบนขลุ่ยจะเริ่มสั่นเพื่อแสดงนิ้วให้คุณเห็น โดยการสั่นนิ้วแต่ละนิ้ว แนวคิดก็คือการใช้นิ้วเพื่อบันทึกย่อจะกลายเป็นหน่วยความจำของกล้ามเนื้อ โปรเจ็กต์นี้มีไว้สำหรับคนที่ค่อนข้างรู้วิธีเล่นฟลุตและต้องการความช่วยเหลือในการจำนิ้วสำหรับโน้ตและเพลง โครงการนี้ยังสามารถช่วยผู้ที่ไม่ค่อยมีการประสานงานหรือได้รับบาดเจ็บที่มือซึ่งไม่สามารถถือสิ่งของได้ ก่อนทำโครงงานนี้ ตรวจสอบให้แน่ใจว่าคุณทราบพื้นฐานของ Arduino และวงจรไฟฟ้าบ้างแล้ว ใกล้จะหมดเวลาแล้ว ไปที่ขั้นตอนการสร้างกันเลย!
ขั้นตอนที่ 1: รายการชิ้นส่วน
จำเป็น:
2 Arduinos
เขียงหั่นขนม
จอ LCD - เพื่อแสดงโน้ต/เพลง
2 ปุ่มกด - เพื่อเลือกโน้ต/เพลงที่จะเล่น
สายไฟ
10 มอเตอร์สั่น - สำหรับติดถุงมือ
ถุงมือคู่หนึ่ง - เพื่อยึดมอเตอร์
ตัวต้านทาน 2 330 โอห์ม
1 10k โพเทนชิออมิเตอร์
3 L293D ชิป
ไม่จำเป็น:
1 Buzzer แบบพาสซีฟ
กล่องใส่อุปกรณ์อิเล็กทรอนิกส์ในขณะที่คุณฝึก
เครื่องมือ:
ปืนกาวร้อน
หัวแร้ง
เทป
เครื่องปอกสายไฟ
สมองของคุณ (ที่สำคัญที่สุด)
ขั้นตอนที่ 2: โปรโตคอล I2C
เนื่องจากเรากำลังจัดการกับมอเตอร์สิบตัว และ Arduino สามารถควบคุมความเร็วของมอเตอร์ด้วยหมุด PWM เท่านั้น เราจึงต้องการ Ardunio มากกว่าหนึ่งตัวเพื่อควบคุมมอเตอร์ทั้งสิบตัว Arduino แต่ละตัวมีพิน PWM ประมาณ 6 พิน ดังนั้นเมื่อเราเชื่อมต่อ Arduinos สองตัว เรามีพิน PWM ทั้งหมด 12 พิน ในการเชื่อมต่อ Arduinos ทั้งสองเราใช้โปรโตคอล I2C พูดง่ายๆ ว่านี่คือวิธีการให้ Arduino "ต้นแบบ" หนึ่งตัวควบคุม Arduinos "ทาส" อื่น ๆ โดยการส่งข้อมูลผ่านสายไฟ ดูแผนภาพของฉันเพื่อตั้งค่าโปรโตคอล I2C เชื่อมต่อ A4, A5 และ GND ของ Arduinos สองตัว ในรหัส Arduino หลักส่งค่าผ่านสายไฟและ Arduino ทาสจะได้รับ ทาส Arduino ทำงานที่แตกต่างกันทั้งนี้ขึ้นอยู่กับค่า ตัวอย่างเช่น ถ้าฉันต้องการเล่นขลุ่ย C ที่ต่ำ Arduino หลักจะส่งค่า C ต่ำผ่านสายไฟ (ในขณะเดียวกันก็บอกว่านิ้วไหนที่มือขวาสั่น) เพื่อบอกให้ Arduino ทาสทำให้นิ้วสั่น สำหรับ C ต่ำ นี่คือข้อมูลเพิ่มเติมเกี่ยวกับโปรโตคอล I2C
ขั้นตอนที่ 3: เตรียมมอเตอร์ของคุณ
มอเตอร์เหล่านี้มีราคาถูกและค่อนข้างแย่ สายไฟจะหลุดออกจากมอเตอร์อย่างง่ายดายและทำให้ไร้ประโยชน์ คุณจะต้องการหยดกาวร้อนที่ลวดเชื่อมต่อกับมอเตอร์เพื่อยึดให้แน่น จากนั้นค่อยๆ ดึงสายไฟบางๆ ของมอเตอร์ออก และประสานสายไฟเข้ากับสายมอเตอร์ได้ดีขึ้น ไม่เป็นไรหากมีข้อบกพร่องหรือแตกหักเพราะเมื่อคุณเล่นขลุ่ยจะไม่มีกุญแจสำหรับนิ้วหัวแม่มือขวาของคุณ ดังนั้นคุณจึงต้องใช้มอเตอร์เพียง 9 ตัวเท่านั้น
ขั้นตอนที่ 4: ติดตั้งมอเตอร์บนถุงมือ
ขั้นแรกให้สวมถุงมือและตรวจสอบให้แน่ใจว่าพอดี เก็บไว้และคว้ามอเตอร์ของคุณ ค้นหาสถานที่ที่มอเตอร์สั่นจะพอดีและปลายจะหมุนโดยไม่มีสิ่งกีดขวาง จากนั้นคว้ากาวร้อนและในขณะที่ถุงมืออยู่ในมือของคุณ (หรือไม่ถ้าคุณไม่สามารถจัดการกับความร้อนได้) ให้ติดมอเตอร์ในตำแหน่งที่ต้องการบนนิ้วของคุณ จากนั้นนำลวดดีๆ ที่คุณบัดกรีแล้วติดไว้ที่ความยาวของถุงมือเพื่อไม่ให้พันกัน จากนั้นใช้สายที่ยาวกว่าที่จะเชื่อมต่อกับ Arduino ในที่สุด (ตรวจสอบให้แน่ใจว่ายาวเพียงพอเพื่อให้คุณสามารถเคลื่อนที่ได้อย่างอิสระเมื่อเชื่อมต่อกับ Arduino (อาจประมาณแขน) และบัดกรีสายไฟที่เชื่อมต่อกับมอเตอร์. บิดสายไฟสองเส้นของมอเตอร์แต่ละตัวเข้าด้วยกัน เพื่อให้คุณทราบว่าสายใดควบคุมมอเตอร์แต่ละตัว เมื่อคุณได้ติดตั้งมอเตอร์และถุงมือแล้ว เราจะตั้งค่าศูนย์กลางการควบคุมสำหรับมอเตอร์บนเขียงหั่นขนม
ขั้นตอนที่ 5: เชื่อมต่อ LCD
มีคำแนะนำทีละขั้นตอนหลายแบบที่แสดงวิธีเชื่อมต่อ LCD กับ Arduino นี่คือลิงค์ไปยังเว็บไซต์ Arduino เพื่อบอกวิธีเชื่อมต่อ ปัญหาของเว็บไซต์ Arduino คือการสอนใช้พิน PWM สำหรับ LCD ซึ่งเราจำเป็นต้องควบคุมมอเตอร์ ดังนั้นฉันจึงเปลี่ยนพินที่เชื่อมต่อ LCD เพื่อให้ฉันสามารถเพิ่มพิน PWM สำหรับมอเตอร์ได้ ตรวจสอบไดอะแกรมของฉันสำหรับสิ่งที่ฉันทำ โดยเฉพาะนี่คือสิ่งที่ฉันเปลี่ยนแปลง: rs = 7, en = 11, d4 = 5, d5 = 8, d6 = 12, d7 = 13 คุณใช้หม้อ 10k สำหรับจอ LCD ตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อ LCD กับ Arduino หลักไม่ใช่ Arduino ทาส
ขั้นตอนที่ 6: ตั้งค่า L293D
โอเค ชิปเหล่านี้เป็นตัวขับมอเตอร์ ผู้ขับขี่แต่ละคนสามารถควบคุมมอเตอร์ได้ 2 ตัว โดยสามารถย้อนกลับทิศทางของมอเตอร์ได้ในโค้ด สำหรับจุดประสงค์ของฉัน ฉันมีมอเตอร์จำนวนมากและมีพื้นที่ไม่มาก เนื่องจากไม่สำคัญว่ามอเตอร์จะหมุนไปทางไหน (มันส่งเสียงพึมพำไม่ว่าจะหมุนไปทางไหน) ฉันจึงเชื่อมต่อปลายด้านหนึ่งของมอเตอร์แต่ละตัวเข้ากับกราวด์ และอีกด้านหนึ่งกับพินเอาต์พุตของตัวขับมอเตอร์ ทำให้ชิปควบคุมมอเตอร์ได้ 4 ตัวแทน 2 ตรวจสอบไดอะแกรมการเดินสายของฉันด้านบนวิธีการต่อสาย ฉันยังเพิ่มแผ่นข้อมูลสำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่แต่ละพินทำบนชิป L239D สำหรับตอนนี้ ปล่อยให้พินอินพุทว่างไว้ตามที่ฉันจะอธิบายในขั้นตอนต่อไป
ขั้นตอนที่ 7: การเดินสาย Arduino ของคุณไปยังการตั้งค่า L293D
ตอนนี้นำส่วนประกอบทั้งสามของคุณ (ถุงมือที่มีมอเตอร์ การตั้งค่า L293D และจอ LCD ที่มี Arduino 2 ตัว) และเชื่อมต่อเข้าด้วยกัน Arduino หลักจะควบคุมมอเตอร์ทางขวามือของคุณ และ Arduino ทาสจะควบคุมมอเตอร์ทางซ้ายมือของคุณ บนการเชื่อมต่อ Arduino หลัก: มอเตอร์ Rpointer กับพิน 3; กลาง = 10; ริง = 9; Rpinky = 6 สำหรับการเชื่อมต่อ Arduino ที่เป็นทาส: Lpointer = pin 11; กลาง = 10; หลิง = 9; Lpinky = 6; Lthumb = 5 สายไฟจาก Arduino เชื่อมต่อกับพินของ L293D ถัดจากพินที่มอเตอร์ควบคุมเชื่อมต่ออยู่ ตรวจสอบจุดแข็งของฉันเพื่อหาจุดที่แน่นอน นอกจากนี้ คุณต้องตั้งค่าปุ่มของคุณที่นี่ สิ่งเหล่านี้ควรตั้งค่าได้อย่างรวดเร็ว เพียงทำตามที่ฉันแนะนำ ฉันใช้ตัวต้านทาน 330 โอห์มสำหรับปุ่มต่างๆ เชื่อมต่อหนึ่งกับพิน 2 และอีกอันหนึ่งเพื่อพิน 4 ทั้งบน Arduino หลัก อันที่เชื่อมต่อกับพิน 2 จะเลือกโน้ต และอันที่เชื่อมต่อกับพิน 4 จะทำให้มอเตอร์สั่นสำหรับโน้ตที่แสดงบน LCD
ขั้นตอนที่ 8: รหัสสำหรับ Arduinos ทั้งคู่
เราต้องการรหัสสองชุดแยกกันสำหรับ Arduino แต่ละตัว ฉันอัปโหลดไปยัง GitHub ของฉัน พวกเขาแต่ละคนมีชื่อของ Arduino ที่พวกเขาควรจะอัปโหลดไป ตรวจสอบให้แน่ใจว่าคุณได้ดูรหัสของฉัน หากคุณมีคำถามใด ๆ พวกเขาควรจะตอบที่นั่น
ขั้นตอนที่ 9: เปิดเครื่องมัน
เนื่องจากมอเตอร์ใช้พลังงานมาก ฉันจึงใช้แบตเตอรี่ 9V 2 ก้อนในการจ่ายไฟ อาจไม่ดีที่สุด แต่ก็ได้ผลสำหรับฉัน เชื่อมต่อ vin ของ Arduino ทั้งสองเข้ากับรางจ่ายไฟของเขียงหั่นขนมและเชื่อมต่อกราวด์ของมาสเตอร์กับรางของเขียงหั่นขนม และตอนนี้คุณก็พร้อมที่จะฝึกขลุ่ยแล้ว!
ขั้นตอนที่ 10: ความพิเศษบางอย่าง
ในรหัสของฉัน คุณอาจสังเกตเห็นว่าฉันได้แสดงความคิดเห็นไปสองสามบรรทัด ประโยคเหล่านี้มีไว้สำหรับให้ครูเป่าขลุ่ยเล่นกับคุณผ่านออดแบบพาสซีฟ ฉันไม่มีออดดังนั้นฉันจึงเพิ่มคุณสมบัตินี้เหมือนกับบางสิ่งที่เจ๋ง เพียงยกเลิกการใส่เครื่องหมายรหัสของฉันและเพิ่มออดไปที่พินที่เปิดอยู่บน Arduino ตอนนี้คุณมีการเล่นตามครู!
วางอุปกรณ์อิเล็กทรอนิกส์ในกล่องหรือถุงเพื่อให้ครูขลุ่ยของคุณพกพาได้!
คุณสามารถตั้งโปรแกรมเพลงได้มากขึ้น! เนื่องจากฉันมีโน้ตแต่ละอันเป็นวิธีการ คุณสามารถเพิ่มเงื่อนไขอื่นในคำสั่ง switch ของฉัน และเรียงลำดับโน้ตของเพลงที่คุณต้องการเล่น หากต้องการเปลี่ยนเวลา ให้เปลี่ยนการหน่วงเวลาระหว่างโน้ตแต่ละตัว
แจ้งให้เราทราบหากคุณมีคำถามหรือข้อกังวลในความคิดเห็นด้านล่าง มีความสุขในการเล่นขลุ่ย!
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง