สร้างหุ่นยนต์ควบคุมด้วยท่าทาง: 4 ขั้นตอน (พร้อมรูปภาพ)
สร้างหุ่นยนต์ควบคุมด้วยท่าทาง: 4 ขั้นตอน (พร้อมรูปภาพ)
Anonim
Image
Image

ในคำแนะนำนี้ เราสร้างหุ่นยนต์ Arcbotics Sparki ที่สามารถควบคุมได้ด้วยท่าทาง 3 มิติ คุณลักษณะที่ดีของโครงการนี้คือไม่จำเป็นต้องใช้อุปกรณ์เพิ่มเติม เช่น สมาร์ทโฟนหรือถุงมือเพื่อควบคุมหุ่นยนต์ เพียงเลื่อนมือไปเหนืออิเล็กโทรด (พื้นที่อ่อนไหว 95 x 60 มม.) MGC3130 Hillstar Development Kit จาก Microchip ใช้สำหรับระบบตรวจจับการป้อนข้อมูลด้วยท่าทางสัมผัส 3 มิติ

ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น

ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
  1. Arcbotics Sparki หุ่นยนต์จาก Arduino หุ่นยนต์จาก Arduino ตัวอื่นๆ ก็ใช้งานได้เช่นกัน
  2. MGC3130 Hillstar Development Kit จาก Microchip, บอร์ดท่าทางสามมิติอื่นๆ เช่น Hover original หรือ Hover 2.0 จาก Hover Labs หรือ Flick! ควรทำงานด้วย
  3. อะไหล่ Knex นิดหน่อย (ไม่มากเท่าในรูป)
  4. เทปพันท่อ
  5. สายจัมเปอร์

ขั้นตอนที่ 2: การประกอบ

การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ

ชุดท่าทางสัมผัส Hillstar 3D ประกอบด้วยสามแผง:

  1. โมดูล MGC3130 นี่คือชุดควบคุมท่าทางสัมผัสหลักของ Hillstar โดยจะเชื่อมต่อที่ด้านหนึ่งกับอิเล็กโทรด และอีกด้านหนึ่งเป็นแหล่งจ่ายไฟและอินเทอร์เฟซ I2C
  2. อิเล็กโทรดอ้างอิงสี่ชั้นที่มีพื้นที่อ่อนไหว 85x60 มม. ที่ด้านล่างของเพลตนี้คือคอนเน็กเตอร์สำหรับเชื่อมต่อบอร์ด MGC3130
  3. บอร์ดบริดจ์ I2C เป็น USB ด้วยบอร์ดนี้ โมดูล MGC3130 สามารถเชื่อมต่อกับพีซีด้วย USB ได้อย่างง่ายดาย

ไม่จำเป็นต้องใช้บอร์ดบริดจ์ I2C เป็น USB เนื่องจากเราเชื่อมต่อ I2C ของโมดูล MGC3130 กับพอร์ต Robot IO โดยตรง ดังที่แสดงในแผนผังด้านบน

รถเข็น Knex ขนาดเล็กถูกสร้างขึ้นเพื่อรองรับแผงอิเล็กโทรดอ้างอิง บอร์ดติดอยู่กับรถเข็นด้วยเทปพันสายไฟ และรถเข็นที่ประกอบเสร็จแล้วจะติดเข้ากับหุ่นยนต์ด้วยกระดาษห่อหุ้ม ในที่สุด โมดูล MGC3130 ก็เชื่อมต่อกับพอร์ต IO ของหุ่นยนต์ด้วยสายจัมเปอร์

ขั้นตอนที่ 3: รหัส

รหัส
รหัส

ซอฟต์แวร์นี้ใช้ไลบรารี Hover จาก Hover Labs และสามารถพบได้ใน Github (https://github.com/jspark311/hover_arduino)

ด้านล่างนี้เป็นภาพร่าง Arduino ซึ่งสามารถดาวน์โหลดไปยัง Sparki ได้

มี Sparki IDE เฉพาะที่เรียกว่า SparkiDuino แต่ฉันชอบใช้ Arduino IDE มาตรฐานและติดตั้งไลบรารี Sparki Arduino ซึ่งสามารถดาวน์โหลดได้จากหน้าดาวน์โหลด: https://arcbotics.com/downloads มันไม่ง่ายอย่างนั้น เป็น SparkiDuino และไม่ได้มาพร้อมกับตัวติดตั้งไดรเวอร์ของตัวเอง (ตัวติดตั้งไดรเวอร์ Sparki อยู่ในหน้าดาวน์โหลดด้วย) แต่ใช้ตัวอย่างและรหัสไลบรารีเดียวกันทั้งหมดและใช้ร่วมกับไลบรารีอื่น ๆ เช่น Hover ได้ง่ายขึ้น กรณี.

#include // รวมไลบรารี sparki

#include #include // Pin ประกาศสำหรับ Hover int ts = 0; รีเซ็ต int = 1; โฮเวอร์โฮเวอร์ = โฮเวอร์ (); เหตุการณ์ไบต์; สตริง output_string = ""; bool driving_forward = เท็จ; การตั้งค่าเป็นโมฆะ () { ล่าช้า (4000); sparki.clearLCD(); sparki.println("กำลังเริ่มต้นโฮเวอร์…โปรดรอสักครู่"); sparki.updateLCD(); hover.begin(ts, รีเซ็ต); sparki.clearLCD(); sparki.println("พร้อมสำหรับท่าทางสัมผัส!"); sparki.updateLCD(); } void loop (เป็นโมฆะ) { // ตรวจสอบว่า Hover พร้อมที่จะส่งท่าทางหรือสัมผัสเหตุการณ์หรือไม่ถ้า (hover.getStatus (ts) == 0) { // รับเหตุการณ์ผ่าน i2c และพิมพ์เหตุการณ์ = hover.getEvent (); //ส่วนนี้สามารถแสดงความคิดเห็นได้หากคุณไม่ต้องการเห็นเหตุการณ์ในรูปแบบข้อความ output_string = hover.getEventString(event); if (output_string != ""){ sparki.print(event); sparki.println(" = " + output_string); sparki.updateLCD(); } สวิตช์ (เหตุการณ์) { กรณีที่ 40: driving_forward = true; หยุดพัก; กรณีที่ 80: sparki.moveBackward(); หยุดพัก; กรณีที่ 36: sparki.moveLeft(); ล่าช้า (500); sparki.moveStop(); หยุดพัก; กรณีที่ 34: sparki.moveRight(); ล่าช้า (500); sparki.moveStop(); หยุดพัก; กรณีที่ 72: sparki.griperOpen(); หยุดพัก; กรณีที่ 66: sparki.griperClose(); หยุดพัก; กรณีที่ 68: sparki.servo(80); หยุดพัก; กรณีที่ 65: sparki.servo(-80); หยุดพัก; กรณีที่ 48: driving_forward = false; sparki.griperStop(); sparki.เซอร์โว(0); หยุดพัก; } if (driving_forward) { sparki.moveForward(); } อื่น ๆ { sparki.moveStop(); } //รีเซ็ตโฮเวอร์สำหรับเหตุการณ์ถัดไป hover.setRelease(ts); } }

ขั้นตอนที่ 4: เพลิดเพลิน

Image
Image

รายการคำสั่ง:

  • ปัดขึ้น - ขับไปข้างหน้า
  • ปัดกลับ - หยุดการเคลื่อนไหวทั้งหมด
  • ปัดไปทางซ้าย - เลี้ยวซ้าย
  • ปัดขวา-เลี้ยวขวา
  • แตะด้านบน - เซ็นเซอร์หมุน 90 องศา cw
  • แตะล่าง - เซ็นเซอร์หมุน 90 องศา ccw
  • แตะซ้าย - ปิดกริปเปอร์
  • แตะขวา - เปิดกริปเปอร์