สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ลำโพงทำงานโดยเปิดใช้งานแม่เหล็กไฟฟ้าที่อยู่ใกล้แม่เหล็ก "ปกติ" ทำให้เกิดการสั่นสะเทือนทำให้เกิดเสียง ดังนั้นถ้าแทนที่จะจ่ายกระแสให้ลำโพง เราก็สามารถผลิตกระแสได้ (ถ้าน้อยมาก) โดยการขยับตัวลำโพงเอง กระแสนี้สามารถตรวจจับและตีความได้โดยไมโครคอนโทรลเลอร์ เช่น Arduino
ขั้นตอนที่ 1: ค้นหาผู้พูด
คุณจะต้องหาวิทยากรที่คุณยินดีเสียสละเพื่อโครงการนี้ คุณสามารถซื้อได้ที่ SparkFun ในราคาต่ำกว่า 1 ดอลลาร์ แต่คุณอาจมีอยู่แล้วที่ไหนสักแห่ง ฉันใช้ลำโพงขนาดเล็กจากหูฟังรุ่นเก่า แต่คุณสามารถหาได้เกือบทุกที่ เช่น การ์ดอวยพรดนตรีหรือนาฬิกาปลุกแบบเก่า ต่อไป:
- ตัดสายจัมเปอร์ครึ่งหนึ่ง
- ถอดปลายมันออก
- ประสานเข้ากับลำโพง (อาจมีสายไฟอยู่แล้ว - แค่ตัดออก)
หรือคุณสามารถใช้คลิปจระเข้ได้ถ้ามี
ขั้นตอนที่ 2: สร้างวงจร
วัสดุที่จำเป็น:
- Arduino UNO
- เขียงหั่นขนม
- สายจัมเปอร์
- ไฟ LED (สีใดก็ได้)
- ตัวต้านทาน 220 โอห์มสองตัว (สีแดง-แดง-น้ำตาล)
- ลำโพง
ทำตามไดอะแกรมด้านบนเพื่อเชื่อมต่อทั้งหมดกับ Arduino
ขั้นตอนที่ 3: อัปโหลดรหัสนี้
อัปโหลดรหัสนี้ใน Arduino IDE คุณอาจต้องปรับเทียบเนื่องจากคุณไม่ได้ใช้ลำโพงตัวเดียวกับฉัน ดังนั้นฉันจะอธิบายวิธีการดำเนินการดังกล่าวในไม่กี่ขั้นตอน
int shockMin = 996; //คุณอาจต้องเปลี่ยนสิ่งเหล่านี้
int shockMax = 1,010; // คุณอาจต้องเปลี่ยนการตั้งค่าโมฆะเหล่านี้ () { pinMode (11, OUTPUT); // Serial.begin(9600); // uncomment สิ่งนี้เพื่อช่วยในการปรับเทียบ } void loop() { int shock = analogRead(A0); int lightval = แผนที่ (shock, shockMin, shockMax, 0, 255); if (lightval > 0) { analogWrite (11, lightval); } อื่น ๆ { analogWrite (11, 0); } // Serial.println(ช็อต); //uncomment นี้เพื่อช่วยในการปรับเทียบ }
ขั้นตอนที่ 4: วิธีใช้งาน
ใช้นิ้วกดตรงกลางลำโพง แล้วไฟ LED จะกะพริบ หากไม่เป็นเช่นนั้น คุณจะต้องปรับเทียบในขั้นตอนต่อไป มิฉะนั้น คุณสามารถลองต่อลำโพงเข้ากับบางสิ่งได้ บางทีคุณอาจทำกลองโดยติดเทปลงบนจานกระดาษ? - ลองใช้ดินสอเป็นไม้ตีกลอง
ขั้นตอนที่ 5: ปรับเทียบ
หากไฟ LED ของคุณกะพริบเป็นที่น่าพอใจแล้ว คุณสามารถข้ามขั้นตอนนี้ได้ มิฉะนั้น ให้ทำตามขั้นตอนเหล่านี้:
- ลบ "//" ในบรรทัดที่เขียนว่า "//uncomment this to help with calibration"
- อัปโหลดรหัสและเปิดจอภาพอนุกรม
- กดที่ตรงกลางของลำโพงและดูเมื่อค่าเปลี่ยนไป
- เปลี่ยนตัวแปร shockMin และ shockMax เป็นค่าต่ำและสูงในมอนิเตอร์แบบอนุกรม
int shockMin = 996;
int shockMax = 1,010;
ตัวอย่างเช่น หากจอภาพอนุกรมอ่านค่า 700 เป็นสถานะไม่ผลักของเซ็นเซอร์ (เมื่อนั่งอยู่เฉยๆ)
และเมื่อคุณกดมันขึ้นไปถึง 860 ให้เปลี่ยน shockMax เป็นประมาณ 900 (เหนือการอ่านเซ็นเซอร์เพียงเล็กน้อย) และ shockMin เป็นประมาณ 680
- ปิดจอภาพอนุกรม
- อัปโหลดรหัสใหม่
- กดตรงกลางลำโพงอีกหน่อย
หากทุกอย่างเรียบร้อยดี ไฟ LED ควรติดเมื่อคุณกดเซ็นเซอร์เท่านั้น