สารบัญ:

มือหุ่นยนต์พร้อมถุงมือไร้สายควบคุม - NRF24L01+ - Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)
มือหุ่นยนต์พร้อมถุงมือไร้สายควบคุม - NRF24L01+ - Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: มือหุ่นยนต์พร้อมถุงมือไร้สายควบคุม - NRF24L01+ - Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: มือหุ่นยนต์พร้อมถุงมือไร้สายควบคุม - NRF24L01+ - Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Guesture control Robot at home || RF module || MPU6050 2024, กรกฎาคม
Anonim
มือหุ่นยนต์พร้อมถุงมือไร้สายควบคุม | NRF24L01+ | Arduino
มือหุ่นยนต์พร้อมถุงมือไร้สายควบคุม | NRF24L01+ | Arduino

ในวิดีโอนี้ มีการประกอบมือหุ่นยนต์ 3D, การควบคุมเซอร์โว, การควบคุมเซ็นเซอร์แบบยืดหยุ่น, การควบคุมแบบไร้สายด้วย nRF24L01, เครื่องรับ Arduino และซอร์สโค้ดของเครื่องส่งสัญญาณ ในระยะสั้น ในโครงการนี้ เราจะเรียนรู้วิธีควบคุมมือหุ่นยนต์ด้วยถุงมือไร้สาย

ขั้นตอนที่ 1: วิดีโอสอน

Image
Image

ด้วยวิดีโอแนะนำนี้ คุณสามารถดูการประกอบแขนหุ่นยนต์และอีกมากมาย ฉันเพิ่มวิดีโอเพราะบางส่วนของการประกอบแขนหุ่นยนต์มีรายละเอียดมาก

ขั้นตอนที่ 2: ฮาร์ดแวร์และเครื่องมือที่จำเป็น

ฮาร์ดแวร์และเครื่องมือที่จำเป็น
ฮาร์ดแวร์และเครื่องมือที่จำเป็น
ฮาร์ดแวร์และเครื่องมือที่จำเป็น
ฮาร์ดแวร์และเครื่องมือที่จำเป็น
ฮาร์ดแวร์และเครื่องมือที่จำเป็น
ฮาร์ดแวร์และเครื่องมือที่จำเป็น

ฮาร์ดแวร์ที่จำเป็น

2x บอร์ด Arduino (นาโน) --

2x nRF24L01+ ตัวรับส่งสัญญาณ --

อะแดปเตอร์ nRF24L01+ 2x --

เซอร์โว MG996R 5x --

เซนเซอร์ Flex ขนาด 5x4.5 นิ้ว --

ตัวต้านทาน 5x 10k --

แบตเตอรี่ 2x18650 3.7V --

ที่ใส่แบตเตอรี่ 1x18650 --

แบตเตอรี่ 1x 9V --

ขั้วต่อแบตเตอรี่ 9V 1x --

ถุงมือ 1x --

1x สายถัก / สายถัก --

3x มินิเขียงหั่นขนม --

สายจัมเปอร์ --

1x ยาง / ยางหรือสปริง

1x ลวดเหล็กหรือเส้นใย

สลักเกลียว 3x (เส้นผ่านศูนย์กลาง 8 มม.)

เครื่องมือที่จำเป็น (ไม่บังคับ)

สว่านไฟฟ้า + เครื่องมือเดรเมล --

เครื่องพิมพ์ 3 มิติ Anet A8 --

ปลา 22M 1.75mm ไส้แดง --

ปืนกาวร้อน --

เคเบิ้ลไทร์ --

กาวเหนียวพิเศษ --

ชุดกระเป๋าไขควง --

บัดกรีแบบปรับได้ --

แท่นบัดกรี --

ลวดเชื่อม --

ท่อหดความร้อน --

เครื่องตัดสายไฟ --

บอร์ด PCB --

ชุดสกรูน๊อต --https://goo.gl/EzxHyj

ขั้นตอนที่ 3: โมเดล 3 มิติของมือและปลายแขน

โมเดล 3 มิติของมือและปลายแขน
โมเดล 3 มิติของมือและปลายแขน
โมเดล 3 มิติของมือและปลายแขน
โมเดล 3 มิติของมือและปลายแขน
โมเดล 3 มิติของมือและปลายแขน
โมเดล 3 มิติของมือและปลายแขน

มือนี้เป็นส่วนหนึ่งของโครงการโอเพ่นซอร์สที่เรียกว่า InMoov มันเป็นหุ่นยนต์ที่พิมพ์ได้ 3 มิติ และนี่เป็นเพียงการประกอบมือและปลายแขน

สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ทางการของ InMoov คุณสามารถเยี่ยมชมหน้า "Assembly Sketches" และ "Assembly Help" ในเว็บไซต์ InMoov สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับแอสเซมบลี

ขอบคุณ InMoov -- https://inmoov.fr/ -

Anet A8 3D Printer ถูกใช้ในโครงการนี้ แบบจำลองถูกพิมพ์ด้วยคุณภาพต่ำสุด

ส่วน 3D ทั้งหมดที่ใช้ในโครงการนี้

ขั้นตอนที่ 4: การประกอบชิ้นส่วน

การประกอบชิ้นส่วน
การประกอบชิ้นส่วน
การประกอบชิ้นส่วน
การประกอบชิ้นส่วน
การประกอบชิ้นส่วน
การประกอบชิ้นส่วน

การประกอบชิ้นส่วนแขนหุ่นยนต์มีรายละเอียดและซับซ้อนมาก ดังนั้นคุณสามารถไปที่หน้า "ภาพร่างการประกอบ" และ "ความช่วยเหลือในการประกอบ" ในเว็บไซต์ InMoov สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการประกอบ มีการอธิบายอย่างละเอียดบนเว็บไซต์ InMoov หรือคุณสามารถดูวิดีโอที่ฉันแชร์

www.inmoov.fr/assembly-sketchs/

inmoov.fr/hand-and-forarm/

พิจารณาคำแนะนำนี้สำหรับมุมนิ้วที่ถูกต้อง:

เมื่อประกอบนิ้ว ตรวจสอบให้แน่ใจว่าได้วางชิ้นส่วนอย่างถูกต้องก่อนติดกาว เก็บเซอร์โวมอเตอร์ทั้งหมดไว้ที่ 10 หรือ 170 องศาก่อนที่จะติดรอกเซอร์โวเข้ากับเซอร์โวมอเตอร์ เมื่อติดตั้งรอกเซอร์โว ให้นิ้วอยู่ในตำแหน่งปิดหรือเปิด (ตามมุมเซอร์โวของคุณ) จากนั้นพันรอบรอกเซอร์โวจนสายหรือสายถักเปียยืดออก

ขั้นตอนที่ 5: การเชื่อมต่อมือ (เครื่องรับ)

การเชื่อมต่อของมือ (เครื่องรับ)
การเชื่อมต่อของมือ (เครื่องรับ)
การเชื่อมต่อของมือ (เครื่องรับ)
การเชื่อมต่อของมือ (เครื่องรับ)
การเชื่อมต่อของมือ (เครื่องรับ)
การเชื่อมต่อของมือ (เครื่องรับ)
  • ณ จุดนี้เซอร์โวควรติดตั้งไว้ที่ปลายแขนแล้ว หากต้องการเชื่อมต่อกับแหล่งจ่ายไฟและ Arduino คุณสามารถใช้เขียงหั่นขนมขนาดเล็กได้
  • อย่าลืมเชื่อมต่อขั้วลบบนเขียงหั่นขนมกับ GND ของ Arduino ต้องเชื่อมต่อ GND ทั้งหมดในวงจรเพื่อให้มันทำงาน
  • ฉันแนะนำให้ใช้อะแดปเตอร์จ่ายไฟสำหรับโมดูล nRF24L01+ มิฉะนั้น การสื่อสารอาจเสียหายเนื่องจากกระแสไฟไม่เพียงพอ
  • หากคุณประสบปัญหาเหล่านี้: การสั่นในเซอร์โวมอเตอร์ เซอร์โวมอเตอร์ไม่ทำงาน การสื่อสารขัดข้อง และในสถานการณ์ที่คล้ายคลึงกัน ให้จ่ายไฟภายนอกให้กับบอร์ด Arduino ของคุณ (เช่น USB)
  • หากคุณใช้พินที่แตกต่างจากพินที่แสดงด้านล่าง ให้เปลี่ยนเป็นรหัส

การเชื่อมต่อของเซอร์โวมอเตอร์:

Servo-1 เชื่อมต่อกับอนาล็อก 01 (A1) ของ Arduino

Servo-2 เชื่อมต่อกับอนาล็อก 02 (A2) ของ Arduino

Servo-3 เชื่อมต่อกับอนาล็อก 03 (A3) ของ Arduino

Servo-4 เชื่อมต่อกับอนาล็อก 04 (A4) ของ Arduino

Servo-5 เชื่อมต่อกับอนาล็อก 05 (A5) ของ Arduino

การเชื่อมต่อของโมดูล nRF24L01:

VCC เชื่อมต่อกับ +5V ของ Arduino

GND เชื่อมต่อกับ GND ของ Arduino

CE เชื่อมต่อกับดิจิตอล 9 พินของ Arduino

CSN เชื่อมต่อกับดิจิตอล 10 พินของ Arduino

SCK เชื่อมต่อกับดิจิตอล 13 พินของ Arduino

MOSI เชื่อมต่อกับดิจิตอล 11 พินของ Arduino

MISO เชื่อมต่อกับ 12 พินดิจิตอลของ Arduino

ขั้นตอนที่ 6: การเชื่อมต่อของถุงมือ (เครื่องส่งสัญญาณ)

การเชื่อมต่อของถุงมือ (เครื่องส่งสัญญาณ)
การเชื่อมต่อของถุงมือ (เครื่องส่งสัญญาณ)
การเชื่อมต่อของถุงมือ (เครื่องส่งสัญญาณ)
การเชื่อมต่อของถุงมือ (เครื่องส่งสัญญาณ)
การเชื่อมต่อของถุงมือ (เครื่องส่งสัญญาณ)
การเชื่อมต่อของถุงมือ (เครื่องส่งสัญญาณ)
  • เซ็นเซอร์แบบยืดหยุ่นจำเป็นต้องมีวงจรเพื่อให้เข้ากันได้กับ Arduino เซ็นเซอร์แบบยืดหยุ่นเป็นตัวต้านทานแบบปรับค่าได้ ฉันจึงแนะนำให้ใช้ตัวแบ่งแรงดันไฟฟ้า ฉันใช้ตัวต้านทาน 10K
  • สาย GND (กราวด์) หลักที่เชื่อมต่อกับสาย GND แต่ละตัวจากเซ็นเซอร์ เชื่อมต่อกับ GND ของ Arduino +5 V จาก Arduino ไปที่สายแรงดันบวกหลัก สายไฟจากเซ็นเซอร์แบบยืดหยุ่นแต่ละตัวเชื่อมต่อกับพินอินพุตแบบอะนาล็อกที่แยกจากกันผ่านตัวแบ่งแรงดันไฟฟ้า
  • ฉันบัดกรีวงจรบน PCB ขนาดเล็ก ซึ่งสามารถติดตั้งบนถุงมือได้ง่าย คุณสามารถสร้างวงจรบนเขียงหั่นขนมขนาดเล็กแทน PCB ได้
  • คุณสามารถใช้แบตเตอรี่ 9V สำหรับวงจรของถุงมือ
  • หากคุณใช้พินที่แตกต่างจากพินที่แสดงด้านล่าง ให้เปลี่ยนเป็นรหัส

การเชื่อมต่อของเซ็นเซอร์แบบยืดหยุ่น:

Flex-1 เชื่อมต่อกับแอนะล็อก 01 (A1) ของ Arduino

Flex-2 เชื่อมต่อกับอนาล็อก 02 (A2) ของ Arduino

Flex-3 เชื่อมต่อกับแอนะล็อก 03 (A3) ของ Arduino

Flex-4 เชื่อมต่อกับอนาล็อก 04 (A4) ของ Arduino

Flex-5 เชื่อมต่อกับอนาล็อก 05 (A5) ของ Arduino

การเชื่อมต่อของโมดูล nRF24L01:

VCC เชื่อมต่อกับ +5V ของ Arduino

GND เชื่อมต่อกับ GND ของ Arduino

CE เชื่อมต่อกับดิจิตอล 9 พินของ Arduino

CSN เชื่อมต่อกับดิจิตอล 10 พินของ Arduino

SCK เชื่อมต่อกับ 13 พินดิจิตอลของ Arduino

MOSI เชื่อมต่อกับดิจิตอล 11 พินของ Arduino

MISO เชื่อมต่อกับ 12 พินดิจิตอลของ Arduino

ขั้นตอนที่ 7: รหัสที่มาของโครงการ

รหัสที่มาของโครงการ
รหัสที่มาของโครงการ

เพื่อให้ซอร์สโค้ดทำงานได้อย่างถูกต้อง ให้ทำตามคำแนะนำ:

  • ดาวน์โหลดไลบรารี RF24.h และย้ายไปยังโฟลเดอร์ไลบรารี Arduino
  • หลังจากเชื่อมต่อเซ็นเซอร์แบบยืดหยุ่นบนถุงมือแล้ว ให้อ่านและบันทึกค่าต่ำสุดและสูงสุดที่เซ็นเซอร์แบบยืดหยุ่นแต่ละตัวตรวจพบ
  • จากนั้นป้อนค่าเหล่านี้ลงในรหัสเครื่องส่ง (ถุงมือ)
  • เก็บเซอร์โวมอเตอร์ทั้งหมดไว้ที่ 10 หรือ 170 องศาก่อนที่จะติดรอกเซอร์โวเข้ากับเซอร์โวมอเตอร์
  • เมื่อติดตั้งรอกเซอร์โว ให้นิ้วอยู่ในตำแหน่งปิดหรือเปิด (ตามตำแหน่งเซอร์โวของคุณ)
  • จากนั้นพันรอบรอกเซอร์โวจนสายถักเปียยืดออก
  • เลื่อนนิ้วทั้งหมดไปยังตำแหน่งปิดและเปิดโดยตรวจสอบเซอร์โวมอเตอร์ทีละตัว
  • จากนั้นจึงได้มุมที่ดีที่สุดสำหรับเซอร์โวมอเตอร์ (มุมเซอร์โวในขณะที่นิ้วปิดและเปิด)
  • ป้อนมุมของเซอร์โวมอเตอร์และค่าเซ็นเซอร์แบบยืดหยุ่นลงในรหัสเครื่องส่งดังนี้

เฟล็กซ์เซนเซอร์ขั้นต่ำ ค่า flex sensor สูงสุด ค่าเซอร์โวนาที มุม, เซอร์โวสูงสุด มุม

(flex_val = แผนที่ (flex_val, 630, 730, 10, 170);

  • มีการเปลี่ยนแปลงเพียงครั้งเดียวในซอร์สโค้ดของตัวรับ เซ็นเซอร์แบบยืดหยุ่นตัวใดในตัวส่งสัญญาณจะควบคุมมอเตอร์เซอร์โวในตัวรับ ตัวอย่างเช่น msg[0] จะส่งข้อมูลของ x sensor-5 หากคุณต้องการควบคุมเซอร์โวมอเตอร์-5 ด้วยเฟล็กซ์เซนเซอร์-5 คุณสามารถทำได้โดยพิมพ์ 'servo-5.write(msg[0])'
  • หากคุณใช้พินที่แตกต่างจากพินที่แสดงในวงจร ให้เปลี่ยนทั้งสองรหัส

ฉันรู้ว่ามันซับซ้อนเล็กน้อยในตอนสุดท้าย แต่โปรดอย่าลืม: ไม่มีอะไรยาก! คุณสามารถทำมันได้! แค่คิด ค้นคว้า เชื่อมั่นในตัวเองและลอง