สารบัญ:

ครูขลุ่ยสัมผัส: 10 ขั้นตอน
ครูขลุ่ยสัมผัส: 10 ขั้นตอน

วีดีโอ: ครูขลุ่ยสัมผัส: 10 ขั้นตอน

วีดีโอ: ครูขลุ่ยสัมผัส: 10 ขั้นตอน
วีดีโอ: ติว TGAT by อ.ขลุ่ย EP. 15 | TGAT2 มิติสัมพันธ์ (พับกล่อง) #dek66 #dek67 2024, พฤศจิกายน
Anonim
Image
Image
รายการชิ้นส่วน
รายการชิ้นส่วน

เคยเบื่อที่จะลืมนิ้วให้แบนสูง B และอายตัวเองต่อหน้าสมาชิกในวงของคุณหรือไม่? เลขที่? แค่ฉัน? เพื่อช่วยให้ฉันจดจำนิ้วขลุ่ยของฉัน (แทนที่จะฝึก) ฉันได้สร้างครู Haptic Flute ขึ้นมาเพื่อช่วยให้ฉันจำวิธีการเล่นแต่ละโน้ตได้ หลังจากอ่านบทความนี้เกี่ยวกับครูสอนเปียโนแบบแฮบติคแล้ว ฉันก็ลองทำเครื่องดนตรีขลุ่ย ฉันใช้ Arduinos สองตัว ออดสองสามตัว และสายไฟจำนวนมากเพื่อทำให้สิ่งนี้มีชีวิต ครู Haptic Flute รู้ดีว่านิ้วสำหรับโน้ตทั้งหมดบนฟลุต (รวมถึงแฟลตและชาร์ป) และสามารถสอนวิธีเล่นสเกลสีให้คุณได้! ในการใช้ครูสอนเป่าขลุ่ยนี้ คุณสวมถุงมือแล้วเลือกโน้ตหรือเพลงบนจอ LCD โดยการกดปุ่ม เมื่อโน้ตหรือเพลงที่ต้องการแสดงขึ้น ให้กดปุ่มอื่น จากนั้นนิ้วที่คุณจะกดลงบนขลุ่ยจะเริ่มสั่นเพื่อแสดงนิ้วให้คุณเห็น โดยการสั่นนิ้วแต่ละนิ้ว แนวคิดก็คือการใช้นิ้วเพื่อบันทึกย่อจะกลายเป็นหน่วยความจำของกล้ามเนื้อ โปรเจ็กต์นี้มีไว้สำหรับคนที่ค่อนข้างรู้วิธีเล่นฟลุตและต้องการความช่วยเหลือในการจำนิ้วสำหรับโน้ตและเพลง โครงการนี้ยังสามารถช่วยผู้ที่ไม่ค่อยมีการประสานงานหรือได้รับบาดเจ็บที่มือซึ่งไม่สามารถถือสิ่งของได้ ก่อนทำโครงงานนี้ ตรวจสอบให้แน่ใจว่าคุณทราบพื้นฐานของ Arduino และวงจรไฟฟ้าบ้างแล้ว ใกล้จะหมดเวลาแล้ว ไปที่ขั้นตอนการสร้างกันเลย!

ขั้นตอนที่ 1: รายการชิ้นส่วน

รายการชิ้นส่วน
รายการชิ้นส่วน
รายการชิ้นส่วน
รายการชิ้นส่วน

จำเป็น:

2 Arduinos

เขียงหั่นขนม

จอ LCD - เพื่อแสดงโน้ต/เพลง

2 ปุ่มกด - เพื่อเลือกโน้ต/เพลงที่จะเล่น

สายไฟ

10 มอเตอร์สั่น - สำหรับติดถุงมือ

ถุงมือคู่หนึ่ง - เพื่อยึดมอเตอร์

ตัวต้านทาน 2 330 โอห์ม

1 10k โพเทนชิออมิเตอร์

3 L293D ชิป

ไม่จำเป็น:

1 Buzzer แบบพาสซีฟ

กล่องใส่อุปกรณ์อิเล็กทรอนิกส์ในขณะที่คุณฝึก

เครื่องมือ:

ปืนกาวร้อน

หัวแร้ง

เทป

เครื่องปอกสายไฟ

สมองของคุณ (ที่สำคัญที่สุด)

ขั้นตอนที่ 2: โปรโตคอล I2C

โปรโตคอล I2C
โปรโตคอล 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
เชื่อมต่อ LCD
เชื่อมต่อ LCD
เชื่อมต่อ LCD
เชื่อมต่อ LCD
เชื่อมต่อ 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

ตั้งค่า L293D
ตั้งค่า L293D
ตั้งค่า L293D
ตั้งค่า L293D
ตั้งค่า L293D
ตั้งค่า L293D

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

ขั้นตอนที่ 7: การเดินสาย Arduino ของคุณไปยังการตั้งค่า L293D

การเดินสาย Arduino ของคุณไปยังการตั้งค่า L293D
การเดินสาย Arduino ของคุณไปยังการตั้งค่า L293D
การเดินสาย Arduino ของคุณไปยังการตั้งค่า L293D
การเดินสาย 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 ทั้งคู่

รหัสสำหรับ Arduinos ทั้งคู่
รหัสสำหรับ Arduinos ทั้งคู่

เราต้องการรหัสสองชุดแยกกันสำหรับ Arduino แต่ละตัว ฉันอัปโหลดไปยัง GitHub ของฉัน พวกเขาแต่ละคนมีชื่อของ Arduino ที่พวกเขาควรจะอัปโหลดไป ตรวจสอบให้แน่ใจว่าคุณได้ดูรหัสของฉัน หากคุณมีคำถามใด ๆ พวกเขาควรจะตอบที่นั่น

ขั้นตอนที่ 9: เปิดเครื่องมัน

พลังมัน
พลังมัน

เนื่องจากมอเตอร์ใช้พลังงานมาก ฉันจึงใช้แบตเตอรี่ 9V 2 ก้อนในการจ่ายไฟ อาจไม่ดีที่สุด แต่ก็ได้ผลสำหรับฉัน เชื่อมต่อ vin ของ Arduino ทั้งสองเข้ากับรางจ่ายไฟของเขียงหั่นขนมและเชื่อมต่อกราวด์ของมาสเตอร์กับรางของเขียงหั่นขนม และตอนนี้คุณก็พร้อมที่จะฝึกขลุ่ยแล้ว!

ขั้นตอนที่ 10: ความพิเศษบางอย่าง

ความพิเศษบางอย่าง
ความพิเศษบางอย่าง
ความพิเศษบางอย่าง
ความพิเศษบางอย่าง
ความพิเศษบางอย่าง
ความพิเศษบางอย่าง

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

วางอุปกรณ์อิเล็กทรอนิกส์ในกล่องหรือถุงเพื่อให้ครูขลุ่ยของคุณพกพาได้!

คุณสามารถตั้งโปรแกรมเพลงได้มากขึ้น! เนื่องจากฉันมีโน้ตแต่ละอันเป็นวิธีการ คุณสามารถเพิ่มเงื่อนไขอื่นในคำสั่ง switch ของฉัน และเรียงลำดับโน้ตของเพลงที่คุณต้องการเล่น หากต้องการเปลี่ยนเวลา ให้เปลี่ยนการหน่วงเวลาระหว่างโน้ตแต่ละตัว

แจ้งให้เราทราบหากคุณมีคำถามหรือข้อกังวลในความคิดเห็นด้านล่าง มีความสุขในการเล่นขลุ่ย!

แนะนำ: