Агуулгын хүснэгт:

Лазер мэдрэгч ба дуут команд ашиглан автоматаар атгах: 5 алхам (зурагтай)
Лазер мэдрэгч ба дуут команд ашиглан автоматаар атгах: 5 алхам (зурагтай)

Видео: Лазер мэдрэгч ба дуут команд ашиглан автоматаар атгах: 5 алхам (зурагтай)

Видео: Лазер мэдрэгч ба дуут команд ашиглан автоматаар атгах: 5 алхам (зурагтай)
Видео: 20 лучших автомобильных аксессуаров 2019 | Автомобильные гаджеты, которые полезны 2024, Арваннэгдүгээр
Anonim
Image
Image
Бүрэлдэхүүн хэсгүүдийн жагсаалт
Бүрэлдэхүүн хэсгүүдийн жагсаалт

Бидний хийх ёстой энгийн бөгөөд байгалийн зүйл мэт санагдах объектуудыг барих нь үнэндээ нарийн төвөгтэй ажил юм. Хүн харах мэдрэхүйгээ ашиглан барьж авахыг хүссэн объектоосоо алслагдсан зайг тодорхойлдог. Баригдаж буй объекттой ойрхон байх үед гар автоматаар нээгддэг бөгөөд дараа нь объектыг сайн барихын тулд хурдан хаагддаг. Би энэ техникийг энэхүү мини төсөлд хялбаршуулсан байдлаар ашигласан боловч камерын оронд би лазер мэдрэгч ашиглан объектын холбогч болон дуут командын хоорондох зайг тооцоолсон.

Алхам 1: эд ангиудын жагсаалт

Бүрэлдэхүүн хэсгүүдийн жагсаалт
Бүрэлдэхүүн хэсгүүдийн жагсаалт

Энэхүү жижиг төсөлд танд доор жагсаасан цөөн хэдэн хэсэг хэрэгтэй болно. Хянагчийн хувьд би Arduino mega 2560 ашигладаг байсан ч та UNO эсвэл өөр Arduino ашиглаж болно. Зайны мэдрэгчийн хувьд би VL53L0X лазер мэдрэгчийг ашигладаг бөгөөд нарийвчлал сайтай (хэдэн миллиметр орчим), 2 метр хүртэл байдаг. Энэхүү төсөлд та ямар ч хавчуурга, servo-ийг туршихад ашиглаж болно, гэхдээ та тусдаа тэжээлийн эх үүсвэрээс тэжээх хэрэгтэй, жишээлбэл: 5V цахилгаан хангамж эсвэл LiPo батерей (7.4V эсвэл 11.1V) хүчдэлийг бууруулдаг хөрвүүлэгчээр дамжуулан. 5V хүртэл.

Энэхүү төсөлд шаардлагатай эд ангиуд:

  • VL53L0X лазер ToF мэдрэгч x1
  • Дижитал Servo x1
  • Arduino мега 2560 x1
  • Робот металл бариул x1
  • Breadboard x1
  • Хүрэлцэх товчлуур x1
  • Bluetooth HC-06
  • Эсэргүүцэл 10k x1
  • Цахилгаан хангамж 5V/2A

Өргөтгөсөн хувилбар:

  1. CJMCU-219 Одоогийн монитор мэдрэгчийн модуль x1
  2. WS2812 RGB LED драйвер хөгжүүлэх самбар x1

Алхам 2: Цахим эд ангиудыг холбох

Цахим эд ангиудын холболт
Цахим эд ангиудын холболт
Цахим эд ангиудын холболт
Цахим эд ангиудын холболт
Цахим эд ангиудын холболт
Цахим эд ангиудын холболт

Эхний зураг нь шаардлагатай бүх холболтыг харуулж байна. Дараах зургуудаас та модулийг холбох дараагийн алхамуудыг харж болно. Эхэндээ түлхэх товчлуурыг Arduino -ийн 2 -р зүү, дараа нь 3 -р зүү рүү, эцэст нь I2C автобус (SDA, SCL) ашиглан VL53L0X лазерын зайн мэдрэгчтэй холбосон.

Цахим модулийн холболтууд дараах байдалтай байна.

VL53L0X лазер мэдрэгч -> Arduino Mega 2560

  • SDA - SDA
  • SCL - SCL
  • VCC - 5V
  • GND - GND

Servo -> Arduino Mega 2560

Дохио (улбар шар утас) - 3

Servo -> 5V/2A цахилгаан хангамж

  • GND (хүрэн утас) - GND
  • VCC (улаан утас) - 5V

Push Button -> Arduino Mega 2560

  • Pin 1 - 3.3 эсвэл 5V
  • Зүү 2 - 2 (мөн 10к эсэргүүцэлээр дамжин газардана)

Bluetooth (HC -06) -> Arduino Mega 2560

  • TXD - TX1 (19)
  • RXD - RX1 (18)
  • VCC - 5V
  • GND - GND

Алхам 3: Arduino Mega код

Arduino Mega код
Arduino Mega код

Би GitHub дээр байгаа Arduino програмын дараах жишээг бэлтгэсэн.

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

"VL53L0X_gripper_control" нэртэй анхны програм нь VL53L0X лазер мэдрэгчээр илрүүлсэн объектыг автоматаар атгах үүргийг гүйцэтгэдэг. Дээж програмыг эмхэтгэх, байршуулахаасаа өмнө "Arduino Mega 2560" -ийг дээр үзүүлсэн зорилтот платформ болгон сонгосон эсэхээ шалгаарай (Arduino IDE -> Хэрэгслүүд -> Самбар -> Arduino Mega эсвэл Mega 2560). Arduino програм нь лазер мэдрэгчийн шинэ уншилт ирсэн эсэхийг "void loop ()" гэсэн үндсэн гогцоонд шалгадаг (readRangeContinuousMillimeters функц ()). Хэрэв "distance_mm" мэдрэгчээс унших зай нь "THRESHOLD_CLOSING_DISTANCE_FAR" -ээс их эсвэл "THRESHOLD_CLOSING_DISTANCE_NEAR" -ээс бага байвал servo хаагдаж эхэлнэ. Бусад тохиолдолд нээгдэж эхэлдэг. Хөтөлбөрийн дараагийн хэсэгт "digitalRead (gripperOpenButtonPin)" функц дээр товчлуурын төлөв байдлыг байнга хянаж байдаг бөгөөд хэрэв дарвал бариул ойрхон байгаа тул хаалттай байсан ч нээгдэнэ. (зай_мм нь THRESHOLD_CLOSING_DISTANCE_NEAR -ээс бага).

Хоёрдахь "Voice_VL53L0X_gripper_control" програм нь дуут команд ашиглан бариулыг удирдах боломжийг танд олгоно. Дуут тушаалуудыг Google Play -ээс Arduino програмын BT Voice Control боловсруулж, дараа нь bluetooth -ээр Arduino руу илгээдэг. Arduino програм нь шинэ командыг (тэмдэгт) Андройд аппаас bluetooth -ээр илгээсэн эсэхийг шалгах үндсэн тойрог болох "void loop ()" -ийг шалгадаг. Хэрэв bluetooth цувралаас ямар нэгэн тэмдэгт байгаа бол програм нь "#" дуут заавар дуусах хүртэл цувралын өгөгдлийг уншина. Дараа нь "void processInput ()" функцийг гүйцэтгэж эхэлдэг бөгөөд дуут тушаалаас хамааран тусгай хяналтын функцийг дууддаг.

Алхам 4: Автомат атгах ажиллагааг шалгах

Автомат атгах туршилт
Автомат атгах туршилт
Автомат атгах туршилт
Автомат атгах туршилт

"Алхам 1" -ийн видео бичлэг нь өмнөх "Arduino Mega Code" хэсгийн програм дээр үндэслэсэн робот бариулагчийн туршилтыг харуулсан болно. Энэ видео нь объект ойрхон байвал хэрхэн автоматаар нээгддэгийг харуулдаг бөгөөд хэрэв энэ нь бариул хүрэхэд ойр байгаа бол түүнийг барьж авдаг. Энд ашигласан лазерын зайн мэдрэгчийн санал хүсэлтийг видеоны дараагийн хэсэгт би лонхыг урагш хойш нь хөдөлгөхөд тодорхой харж болно.

Алхам 5: Дуугаар идэвхжүүлсэн автомат атгах

Image
Image
Epilog Challenge 9
Epilog Challenge 9

Энэ төслийг боловсруулах дараагийн алхамд би түүнд дуут хяналтыг нэмсэн. Дуут тушаалын ачаар би бариулын хаагдах, нээх, хурдыг хянах боломжтой. Энэ тохиолдолд дуут хяналт нь объектыг барьж буй хавчаарыг онгойлгоход маш хэрэгтэй байдаг. Энэ нь товчлуурыг орлуулж, хөдөлгөөнт робот дээр байрлуулсан бариулыг хялбархан удирдах боломжийг олгодог.

Хэрэв танд энэ төсөл таалагдсан бол саналаа өгөхөө мартуузай, энэ төслийн цаашдын сайжруулалт болохын тулд дараагийн нийтлэлд юу оруулахыг хүсч байгаагаа бичээрэй.:) Робот техниктэй холбоотой бусад төслүүдтэй танилцаарай.

  • facebook
  • youtube
  • миний вэбсайт

Зөвлөмж болгож буй: