2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
อุปกรณ์ทดแทนและเสริมประสาทสัมผัสแบบสั่นที่สั่งสอนได้ (https://www.instructables.com/id/Vibrotactile-Sens…) แสดงให้เห็นถึงวิธีการสร้างอุปกรณ์ที่แปลงอินพุตทางประสาทสัมผัสให้เป็นตัวกระตุ้นแบบสั่นสะเทือน สิ่งเร้าสั่นสะเทือนเหล่านี้ผลิตโดยมอเตอร์ ERM ทรงกระบอกที่ขับเคลื่อนโดย Arduino Uno พร้อมมอเตอร์ชิลด์
สำหรับมอเตอร์มากกว่า 4 ตัว จำเป็นต้องวางแผงป้องกันมอเตอร์หลายชุด
ในกรณีที่จำเป็นต้องขับเคลื่อนมอเตอร์มากกว่า 6 ตัว คุณต้องมีพิน PWM มากกว่าที่ Arduino Uno มี (6 พิน PWM) ดังนั้นจึงต้องมี Arduino Mega ตามทฤษฎีแล้ว Arduino สามารถวางชิลด์ได้มากกว่าสองตัวบน Arduino อย่างไรก็ตาม ให้พิจารณาว่า Arduino Mega มีพิน PWM ในปริมาณที่จำกัดเช่นกัน: 15
เสบียง
- Adafruit Motorshield v2.3 และส่วนหัวซ้อนตัวผู้
- ส่วนหัวซ้อนตัวเมีย (เช่น
- Arduino Mega สำหรับมอเตอร์มากกว่า 6 ตัว (เช่น
ต้นแบบจาก
ขั้นตอนที่ 1: การบัดกรีและการซ้อน
- หมุดประสานประสานบนมอเตอร์ชีลด์ทั้งสองอย่างที่เห็นในภาพ
- บัดกรีใส่จัมเปอร์บนกระดาน (ดูคำอธิบายในภาพและ https://learn.adafruit.com/adafruit-motor-shield-… สำหรับคำแนะนำโดยละเอียดเพิ่มเติมในการทำเช่นนั้น)
- วาง Arduino และโล่ทั้งสองเข้าด้วยกัน
- ตรวจสอบให้แน่ใจว่า VIN Jumper อยู่บนเกราะทั้งสอง
ขั้นตอนที่ 2: รหัส
นี่คือตัวอย่างวิธีการให้มอเตอร์ 8 ตัวแปลค่าทางประสาทสัมผัส 3 ค่า:
- ดาวน์โหลดโค้ดที่อยู่ในโฟลเดอร์ zip ด้านล่าง เปิดและติดตั้งไลบรารี ตามที่อธิบายไว้ใน ….
- คลิกที่เครื่องมือ → บอร์ด → เลือก Arduino/Genuino Mega หรือ Mega 2505
- เปลี่ยนส่วนต่อไปนี้ในรหัสหากจำเป็น
กำหนดมอเตอร์แต่ละตัวด้วยหมายเลขพินและตัวป้องกัน:
Adafruit_DCMotor *motor1 = AFMS1.getMotor(1); // ระบุว่า DC มอเตอร์เชื่อมต่อกับโล่แรกAdafruit_DCMotor *motor2 = AFMS1.getMotor(2); Adafruit_DCMotor *motor3 = AFMS1.getMotor(3); Adafruit_DCMotor *motor4 = AFMS1.getMotor(4); Adafruit_DCMotor *motor5 = AFMS2.getMotor(1); // ระบุว่า DC มอเตอร์เชื่อมต่อกับโล่ที่สอง Adafruit_DCMotor *motor6 = AFMS2.getMotor (2); Adafruit_DCMotor *motor7 = AFMS2.getMotor(3); Adafruit_DCMotor *motor8 = AFMS2.getMotor(4);
ระบุจำนวนมอเตอร์ที่ใช้:
int nrOfMotors = 8;
รวมมอเตอร์ที่ใช้แล้วทั้งหมดในอาร์เรย์:
Adafruit_DCMotor *motors[8] = {มอเตอร์1, มอเตอร์2, มอเตอร์3, มอเตอร์4, มอเตอร์5, มอเตอร์6, มอเตอร์7, มอเตอร์8, };
รวมเซ็นเซอร์พินทั้งหมดในอาร์เรย์:
เซ็นเซอร์พินถ่านที่ไม่ได้ลงนาม[3] = { A15, A14, A13, };
อัปโหลดรหัสไปยัง Arduino Mega เสร็จแล้ว.
ขั้นตอนที่ 3: ทำให้สวมใส่ได้
ใน Instructable เกี่ยวกับวิธีการทำให้ SSAD สวมใส่ได้ (https://www.instructables.com/id/Making-the-SSAD-W…) ตัวอย่างของการแนบ Arduino Uno และ motorshield หนึ่งตัวเข้ากับร่างกาย. หากคุณต้องใช้ Arduino Mega และมอเตอร์ชิลด์หลายอัน กระเป๋าคาดเอวอย่างภาพประกอบอาจเป็นวิธีแก้ปัญหาสำหรับการทำให้เครื่องต้นแบบสวมใส่ได้