สารบัญ:
- ขั้นตอนที่ 1: ทฤษฎี
- ขั้นตอนที่ 2: วัสดุที่จำเป็น
- ขั้นตอนที่ 3: การเชื่อมต่อ
- ขั้นตอนที่ 4: รหัส Arduino
- ขั้นตอนที่ 5: เพิ่มพลัง !!
วีดีโอ: เปียโนอัตโนมัติ: 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
ฉันต้องการสร้างเปียโนที่สามารถเล่นโดยอัตโนมัติได้ด้วยการฟังเพลงของฉันในทันที ดังนั้นฉันจึงลองใช้ Arduino uno ที่ฉันนอนเล่นอยู่รอบ ๆ มันอาจจะดีกว่ามากถ้าใช้ Arduino Zero โดยใช้ไลบรารี่ตัววัดความถี่อย่างง่าย ii ไม่มี ในขณะนี้และฉันก็ต่อด้วยอูโน่
ขั้นตอนที่ 1: ทฤษฎี
เปียโนเล่นโดยจับคู่ความถี่ของนักร้องกับเปียโน เราจึงต้องสุ่มตัวอย่างความถี่ของนักร้องและเล่นตามเวลาจริง ฉันใช้ตัวแบ่งแรงดันไฟฟ้าจากทริมพอตเนื่องจากเสียงเป็นไฟฟ้ากระแสสลับและ Arduino ไม่สามารถทำได้ จัดการแรงดันลบจึงใช้แรงดันไฟฟ้าที่ตัวแบ่งแรงดันให้มาอ้างอิงและตั้งค่าที่ 2.5v อินพุตมีให้ที่พิน A0 ของ Arduino จากนั้นฉันตั้งโปรแกรม Arduino เพื่อตรวจสอบว่าแรงดันไฟฟ้าอยู่ที่ระดับอ้างอิงซึ่งฉันวัดและตั้งชื่อเริ่มต้นแล้ววัดช่วงเวลาระหว่างแรงดันอ้างอิงต่อเนื่องและคำนวณความถี่เดล ตัวแปรใช้เพื่อเก็บแอมพลิจูดทันทีของสัญญาณเสียงเพื่อขจัดเสียงรบกวนที่มีแอมพลิจูดน้อยกว่า 15 ค่า adc หรือ 0.0733 โวลต์ มีการจำกัดความถี่เพื่อไม่ให้ค่าสุดขีดไม่ขัดจังหวะเพลง
ขั้นตอนที่ 2: วัสดุที่จำเป็น
1)Arduino Uno หรือเทียบเท่า
2) ออดไฟฟ้า Piezo แบบพาสซีฟหรือลำโพงที่มีวงจรเครื่องขยายเสียง
3) trimpot ความต้านทานสูง (ตรวจสอบให้แน่ใจว่ากระแสที่ไหลผ่านที่ 5v ควรมีขนาดเล็กในไม่กี่มิลลิแอมป์)
4) สายจัมเปอร์
5)เขียงหั่นขนม
6)แจ็คเสียง 3.5 มม. หรือไมโครโฟนพร้อมวงจรขยายเสียง (ฉันใช้มือถือเป็นเครื่องขยายเสียงเพราะฉันพบว่าตัวเองขี้เกียจเกินไปที่จะสร้างมันขึ้นมา)
7) โทรศัพท์ Android (ในการเล่นเสียง)
8)สายarduino(เพื่อตั้งโปรแกรม)
ขั้นตอนที่ 3: การเชื่อมต่อ
1) ติดตั้ง trimpot บนบอร์ดขนมปังและจ่ายกราวด์และ +5v จาก Arduino โดยใช้สายจัมเปอร์
2) เชื่อมต่อกราวด์ของแจ็ค 3.5 มม. เข้ากับพินที่สามของทริมพอตเพื่อทำงานเป็นการกำหนดค่าตัวแบ่งแรงดันและแชนเนลไปยังพิน A0 ของ Arduino
3) เชื่อมต่อกราวด์ของออดกับกราวด์ของ Arduino และส่งสัญญาณไปที่พิน 13 ของ Arduino
ขั้นตอนที่ 4: รหัส Arduino
นี่คือรหัสที่สมบูรณ์
ฉันได้แสดงความคิดเห็นเกี่ยวกับการพิมพ์แบบอนุกรมที่ใช้สำหรับการทดสอบ
uint64_t เคอร์ไทม์=0, ltime=0;uint32_t freq=0; uint16_t เริ่มต้น, val, del=0; บูลสุดท้าย, สกุลเงิน; การตั้งค่าเป็นโมฆะ () { // ใส่รหัสการตั้งค่าของคุณที่นี่ เพื่อเรียกใช้ครั้งเดียว: ล่าช้า (1000); /*อนุกรม.begin(115200); ล่าช้า (1000); Serial.println("ระบบเริ่มทำงาน");*/ initial = analogRead(A0); ถ้า(อนาล็อกอ่าน(A0)
void loop() { // ใส่รหัสหลักของคุณที่นี่ เพื่อเรียกใช้ซ้ำ: val=analogRead(A0); if(val>=เริ่มต้น)curr=1; อื่น curr=0; del=(int)val-(int) ค่าเริ่มต้น; if(last==0 &&curr==1){ เคอร์ไทม์=ไมโคร(); freq=1000000/(2*(curtime-ltime)); /*Serial.print(ความถี่, ธ.ค.); Serial.print("ลง"); Serial.println(del);*/ if(freq>50&&freq15)tone(13, freq, 500); ล่าช้า (100); ltime=ไมโคร(); สุดท้าย=1; }
ขั้นตอนที่ 5: เพิ่มพลัง !!
เชื่อมต่อโทรศัพท์ของคุณเพื่อเล่นเพลง และหากคุณต้องการร้องเพลง คุณสามารถใช้แอปเครื่องมือทั้งหมดที่สามารถดาวน์โหลดได้ที่ play store นี่คือลิงค์
play.google.com/store/apps/details?id=com.pradhyu.alltoolseveryutility&hl=th
หลังจากดาวน์โหลดแล้ว ให้เปิดตัวเลือกไมค์แล้วร้องเพลง!
นี่คือวิธีการทำงาน!
แนะนำ:
การออกแบบเกมในการสะบัดใน 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 ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง