สารบัญ:
วีดีโอ: Drawing Arm ที่ควบคุมโดยเสียง - โครงการ Arduino School: 4 ขั้นตอน (พร้อมรูปภาพ)
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
นี่เป็นครั้งแรกที่ฉันทำงานกับ Arduino และเคยทำงานแบบนี้มาก่อน หากผิดพลาดประการใดก็ขออภัยด้วย! ฉันได้แนวคิดนี้เมื่อนึกถึงงานอดิเรกซึ่งก็คือการวาดภาพและดนตรี ดังนั้นฉันจึงพยายามรวมทั้งสองเข้าด้วยกัน! แขนที่วาดเองได้ซึ่งได้รับผลกระทบจากเสียง
ขั้นตอนที่ 1: ขั้นตอนที่ 1: วัสดุ
- Arduino Uno
- เขียงหั่นขนม
- เครื่องตรวจจับเสียง (Sparkfun sen-12642)
- 2 (มินิ) เซอร์โวของ
- เนคไท / เนคไทซิป
- ไม้และกระดาษบ้าง
- สิ่งที่คุณสามารถวาด/เขียนด้วย
ขั้นตอนที่ 2: ขั้นตอนที่ 2: ตั้งค่า
ก่อนอื่นฉันเสียบเซอร์โวแล้วต่อกับเครื่องตรวจจับเสียง เครื่องตรวจจับเสียง Sparkfun sen-12642 มี 3 เอาต์พุต ฉันใช้เฉพาะเอาต์พุต "ซองจดหมาย"
เซอร์โว 1 = พิน ~9
เซอร์โว 2 = พิน ~10
เครื่องตรวจจับเสียง = พิน A0
เส้นสีแดง (5v) เชื่อมต่อกับด้านบวกบนเขียงหั่นขนม และเส้นสีดำ (พื้น) เชื่อมต่อกับด้านลบ
ขั้นตอนที่ 3: ขั้นตอนที่ 3: ไม่ใช่อุปกรณ์อิเล็กทรอนิกส์
ตรวจสอบให้แน่ใจว่าเซอร์โวอยู่ในตำแหน่งที่ถูกต้อง ฉันใช้เน็คไทพันเพื่อให้มั่นคง หลังจากนั้นฉันใช้เน็คไทเพื่อผูกส่วนบน (เปลี่ยนได้) ของเซอร์โวกับแขนไม้ หลังจากนั้นคุณสามารถเชื่อมต่อชิ้นส่วนแขนไม้กับเซอร์โว เชื่อมต่อสายไฟทั้งหมดเข้ากับ Arduino และเขียงหั่นขนม
หลังจากนั้นฉันก็บัดกรีสายไฟเข้ากับเครื่องตรวจจับเสียง
ขั้นตอนที่ 4: ขั้นตอนที่ 4: รหัส
ฉันไม่ได้เกือบจะเก่งในการเขียนโปรแกรม แต่ฉันพยายามอย่างดีที่สุดและอินเทอร์เน็ตก็ช่วยได้มาก:)
#include เซอร์โว myservo1; เซอร์โว myservo2; int pos = 0; int PIN_ANALOG_IN = A0;
การตั้งค่าเป็นโมฆะ () { Serial.begin (9600);
// แสดงสถานะ
Serial.println("เริ่มต้น"); myservo1.attach(9); myservo2.attach(10); }
วงเป็นโมฆะ ()
{ มูลค่า int;
// ตรวจสอบการป้อนซองจดหมาย
ค่า = analogRead (PIN_ANALOG_IN);
// ค่าซองจดหมายส่งผลต่อเซอร์โว
Serial.println(ค่า); if (ค่า 5) && (ค่า 10) && (ค่า 20) && (ค่า 30) && (ค่า 60)) { myservo1.write (สุ่ม (0, 90)); myservo2.write(สุ่ม(0, 90)); }
ล่าช้า (180);
}