สารบัญ:
- ขั้นตอนที่ 1: รัฐธรรมนูญ
- ขั้นตอนที่ 2: สร้างแมลงปอ - หัว 1 -
- ขั้นตอนที่ 3: สร้างแมลงปอ - หัว 2 -
- ขั้นตอนที่ 4: สร้างแมลงปอ - หัว 3 -
- ขั้นตอนที่ 5: สร้างแมลงปอ - ร่างกาย 1 -
- ขั้นตอนที่ 6: สร้างแมลงปอ - ร่างกาย 2 -
- ขั้นตอนที่ 7: สร้างแมลงปอ - ร่างกาย 3 -
- ขั้นตอนที่ 8: สร้างแมลงปอ - ร่างกาย 4 -
- ขั้นตอนที่ 9: เซอร์โวหมุนต่อเนื่อง 360 องศา
- ขั้นตอนที่ 10: รหัส Arduino
- ขั้นตอนที่ 11: การทำงาน
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ฉันทำแมลงปอ แมลงปอเหวี่ยงศีรษะด้วยเซ็นเซอร์ท่าทางสัมผัสและเซอร์โวมอเตอร์
ส่วนประกอบ
- Arduino UNO
- Seeed Grove - ท่าทาง
- FS90R ไมโครเซอร์โวแบบหมุนต่อเนื่อง
ขั้นตอนที่ 1: รัฐธรรมนูญ
ตรวจจับการเคลื่อนไหวของนิ้วด้วยเซ็นเซอร์ท่าทางสัมผัสและควบคุมทิศทางการหมุนของเซอร์โวหมุน 360 องศาอย่างต่อเนื่องด้วย Arduino
ขั้นตอนที่ 2: สร้างแมลงปอ - หัว 1 -
หัวทำด้วยสกรู M8 ยาว 12 มม. เมื่อหมุนหัวด้วยเซอร์โวให้ตัดไม้เพื่อหยุดที่มุมคงที่ตัดลวดให้มีความยาวที่เหมาะสมแล้วบัดกรีเข้ากับสกรู
ขั้นตอนที่ 3: สร้างแมลงปอ - หัว 2 -
ตาและปากทำด้วยเครื่องประดับแวววาว ฉันเขียนปากด้วยปากกา
ขั้นตอนที่ 4: สร้างแมลงปอ - หัว 3 -
การเชื่อมต่อระหว่างศีรษะกับหน้าอก (เซอร์โว) ประกอบด้วยน็อต ติดขนและน็อตที่ติดอยู่กับเซอร์โวด้วยกาวติดทันที
ขั้นตอนที่ 5: สร้างแมลงปอ - ร่างกาย 1 -
ทำให้เซอร์โวมอเตอร์ไปที่หน้าอกของแมลงปอ ยึดสกรู M6 ยาว 60 มม. ที่พุง
ขั้นตอนที่ 6: สร้างแมลงปอ - ร่างกาย 2 -
ขันน็อตที่สร้างไว้ก่อนหน้าเข้ากับเซอร์โวและยึดขนของโล่ด้วยเท้าของลวด
ขั้นตอนที่ 7: สร้างแมลงปอ - ร่างกาย 3 -
ติดลวดหนาเข้ากับเซอร์โวเพื่อให้ติดกับแถบเปลี่ยนหัว ฉันประสานเท้าของลวดเส้นเล็กเข้ากับลวดหนานี้ (สำหรับเหล็กกล้าไร้สนิม)
ขั้นตอนที่ 8: สร้างแมลงปอ - ร่างกาย 4 -
ขันหัวเข้ากับน็อตและแมลงปอเสร็จแล้ว เปิดใช้งานเซอร์โวแล้วหมุน
ขั้นตอนที่ 9: เซอร์โวหมุนต่อเนื่อง 360 องศา
เซอร์โวนี้ทำงานร่วมกับไลบรารีเซอร์โวซึ่งเดิมรวมอยู่ใน Arduino IDE แต่แตกต่างจากเซอร์โวมอเตอร์ทั่วไปเล็กน้อย
- เซอร์โวหยุดด้วยอินพุต 90 องศา
- หมุนตามเข็มนาฬิกาด้วยอินพุต 0 ถึง 89 องศา ความเร็วในการหมุนเพิ่มขึ้นไกลจาก 90 องศา
- หมุนทวนเข็มนาฬิกาด้วยอินพุตจาก 91 ถึง 180 องศา ความเร็วในการหมุนเพิ่มขึ้นไกลจาก 90 องศา
ขั้นตอนที่ 10: รหัส Arduino
เชื่อมต่อเซอร์โวและเซ็นเซอร์ท่าทางกับ Arduino UNO
ไลบรารีเซ็นเซอร์ท่าทางใช้สิ่งต่อไปนี้https://github.com/Seed-Studio/Gesture_PAJ7620
ฉันดูตัวอย่างโค้ด paj7620_9gestures.ino
ท่าทางสัมผัสทำให้รู้จักทิศทางตามเข็มนาฬิกาและทิศทางทวนเข็มนาฬิกาของนิ้ว
ดิจิตอล 8 พินของ Arduino เชื่อมต่อกับ GND เพื่อให้เซอร์โวหมุนช้าๆในทิศทางทวนเข็มนาฬิกาเพื่อให้สามารถหมุนสกรูหัวเป็นน็อตได้
ดิจิตอล 8 พินของ Arduino เปิดออกการทำงานปกติและการตรวจจับเซ็นเซอร์ด้วยท่าทางจะเริ่มขึ้น ตรวจจับการหมุนของการเคลื่อนไหวของนิ้วและเคลื่อนที่ตามเซอร์โว
#include #include "paj7620.h" #include เซอร์โว myservo; // สร้างวัตถุเซอร์โวเพื่อควบคุมเซอร์โว
การตั้งค่าเป็นโมฆะ () { ข้อผิดพลาด uint8_t = 0; Serial.begin(9600); myservo.attach(A0); // ติดเซอร์โวบนพิน 9 กับ pinMode ของอ็อบเจ็กต์เซอร์โว (8, INPUT_PULLUP); ข้อผิดพลาด = paj7620Init(); // เริ่มต้น Paj7620 ลงทะเบียนถ้า (ข้อผิดพลาด) { Serial.print ("INIT ERROR, CODE:"); Serial.println (ข้อผิดพลาด); } อื่น { Serial.println ("INIT OK"); } Serial.println("กรุณาป้อนท่าทางของคุณ:\n"); }
วงเป็นโมฆะ () { uint8_t data = 0, data1 = 0, ข้อผิดพลาด; ถ้า (digitalRead (8) == ต่ำ) { myservo.write (90 + 15); }อื่น{ ข้อผิดพลาด = paj7620ReadReg(0x43, 1, &data); // อ่าน Bank_0_Reg_0x43/0x44 สำหรับผลท่าทางสัมผัส ถ้า (!error) { สวิตช์ (ข้อมูล) { กรณี GES_CLOCKWISE_FLAG: Serial.println ("ตามเข็มนาฬิกา"); myservo.write(90 - 20); ล่าช้า (800); หยุดพัก; กรณี GES_COUNT_CLOCKWISE_FLAG: Serial.println("ทวนเข็มนาฬิกา"); myservo.write(90 + 20); ล่าช้า (800); หยุดพัก; ค่าเริ่มต้น: myservo.write(90); หยุดพัก; } } } }
ขั้นตอนที่ 11: การทำงาน
ฉันได้แมลงปอแกว่งหัวสวย!