Satura rādītājs:

Automātiska satveršana, izmantojot lāzera sensoru un balss komandas: 5 soļi (ar attēliem)
Automātiska satveršana, izmantojot lāzera sensoru un balss komandas: 5 soļi (ar attēliem)

Video: Automātiska satveršana, izmantojot lāzera sensoru un balss komandas: 5 soļi (ar attēliem)

Video: Automātiska satveršana, izmantojot lāzera sensoru un balss komandas: 5 soļi (ar attēliem)
Video: Scala 3. OpenJDK vs Oracle JDK. Марсоход Чжужун и CopterPack. [MJC News #7] #ityoutubersru 2024, Jūlijs
Anonim
Image
Image
Daļu saraksts
Daļu saraksts

Satvert objektus, kas mums šķiet vienkārši un dabiski, patiesībā ir sarežģīts uzdevums. Cilvēks izmanto redzes sajūtu, lai noteiktu attālumu no objekta, kuru viņš vēlas satvert. Roku automātiski atver, kad tā atrodas satveramā objekta tuvumā, un pēc tam tā ātri aizveras, lai labi satvertu objektu. Šajā mini projektā esmu izmantojis šo paņēmienu vienkāršotā veidā, bet kameras vietā es izmantoju lāzera sensoru, lai novērtētu objekta attālumu no satvērēja un balss komandas vadībai.

1. darbība: detaļu saraksts

Daļu saraksts
Daļu saraksts

Šajā mazajā projektā jums būs nepieciešamas tikai dažas no zemāk uzskaitītajām daļām. Kā kontrolieris es izmantoju Arduino mega 2560, bet jūs varat izmantot arī UNO vai jebkuru citu Arduino. Kā attāluma sensoru es izmantoju VL53L0X lāzera sensoru, kam ir laba precizitāte (apmēram daži milimetri) un darbības rādiuss līdz 2 metriem. Šajā projektā varat izmantot jebkura satvērēja un servo testēšanu, bet jums vajadzētu to barot no atsevišķa barošanas avota, piemēram: 5 V barošanas avota vai LiPo akumulatora (7,4 V vai 11,1 V), izmantojot pazeminošu pārveidotāju, kas samazina spriegumu līdz 5V.

Šajā projektā nepieciešamās detaļas:

  • VL53L0X lāzera ToF sensors x1
  • Digitālais servo x1
  • Arduino mega 2560 x1
  • Robota metāla satvērējs x1
  • Maizes dēlis x1
  • Taktilā spiedpoga x1
  • Bluetooth HC-06
  • Rezistors 10k x1
  • Barošanas avots 5V/2A

Paplašināta versija:

  1. CJMCU-219 pašreizējā monitora sensora modulis x1
  2. WS2812 RGB LED draivera attīstības padome x1

2. darbība. Elektronisko detaļu savienošana

Elektronisko detaļu savienošana
Elektronisko detaļu savienošana
Elektronisko detaļu savienošana
Elektronisko detaļu savienošana
Elektronisko detaļu savienošana
Elektronisko detaļu savienošana

Pirmais attēls parāda visus nepieciešamos savienojumus. Turpmākajos fotoattēlos varat redzēt nākamos atsevišķu moduļu savienošanas soļus. Sākumā spiedpoga tika pievienota Arduino 2. tapai, tad servo - 3. tapai un visbeidzot VL53L0X lāzera attāluma sensors, izmantojot I2C kopni (SDA, SCL).

Elektronisko moduļu savienojumi ir šādi:

VL53L0X lāzera sensors -> Arduino Mega 2560

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

Servo -> Arduino Mega 2560

Signāls (oranžs vads) - 3

Servo -> 5V/2A barošanas avots

  • GND (brūna stieple) - GND
  • VCC (sarkans vads) - 5V

Spiedpoga -> Arduino Mega 2560

  • 1. tapa - 3,3 vai 5V
  • 2. tapa - 2 (un caur 10k rezistoru līdz zemei)

Bluetooth (HC -06) -> Arduino Mega 2560

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

3. darbība: Arduino Mega kods

Arduino Mega kods
Arduino Mega kods

Esmu sagatavojis šādu Arduino programmu paraugu, kas pieejams manā GitHub:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

Pirmā programma ar nosaukumu "VL53L0X_gripper_control" veic uzdevumu automātiski satvert objektu, ko atklājis VL53L0X lāzera sensors. Pirms parauga programmas apkopošanas un augšupielādes pārliecinieties, vai esat izvēlējies "Arduino Mega 2560" kā mērķa platformu, kā parādīts iepriekš (Arduino IDE -> Rīki -> Dēlis -> Arduino Mega vai Mega 2560). Arduino programma pārbauda galvenajā cilpā - "void loop ()", vai ir atnācis jaunais lasījums no lāzera sensora (funkcija readRangeContinuousMillimeters ()). Ja no sensora "distance_mm" nolasītais attālums ir lielāks par vērtību "THRESHOLD_CLOSING_DISTANCE_FAR" vai mazāks par "THRESHOLD_CLOSING_DISTANCE_NEAR", tad servo sāk slēgt. Citos gadījumos tas sāk atvērties. Nākamajā programmas daļā funkcijā "digitalRead (gripperOpenButtonPin)" spiedpogu stāvoklis tiek pastāvīgi kontrolēts, un, ja tas tiek nospiests, satvērējs tiks atvērts, neskatoties uz to, ka tas ir aizvērts objekta tuvuma dēļ (attālums_mm ir mazāks par THRESHOLD_CLOSING_DISTANCE_NEAR).

Otrā programma "Voice_VL53L0X_gripper_control" ļauj vadīt satvērēju, izmantojot balss komandas. Balss komandas apstrādā lietotne BT Voice Control for Arduino no Google Play un tālāk nosūta, izmantojot Bluetooth, uz Arduino. Arduino programma pārbauda galvenajā cilpā - "void loop ()", vai jaunā komanda (rakstzīme) ir nosūtīta no Android lietotnes, izmantojot Bluetooth. Ja no Bluetooth sērijas ir ienākošas rakstzīmes, programma nolasa sērijas datus, līdz tiek izpildītas balss instrukcijas "#" beigas. Pēc tam tiek sākta funkcijas "void processInput ()" izpilde, un atkarībā no balss komandas tiek izsaukta īpaša vadības funkcija.

4. darbība. Automātiskās satveršanas pārbaude

Automātiskās satveršanas pārbaude
Automātiskās satveršanas pārbaude
Automātiskās satveršanas pārbaude
Automātiskās satveršanas pārbaude

Video no "Step 1" parāda robota satvērēja testus, pamatojoties uz iepriekšējās sadaļas "Arduino Mega Code" programmu. Šis video parāda, kā tas tiek automātiski atvērts, kad objekts atrodas tuvu tam, un pēc tam satver šo objektu, ja tas ir sasniedzams satvērējam. Šeit izmantotā lāzera attāluma sensora atsauksmes ir skaidri redzamas video turpmākajā daļā, kad es pārvietoju pudeli uz priekšu un atpakaļ, kas izraisa ātru reakciju un satvērēja vadības maiņu.

5. darbība. Balss aktivizēta automātiska satveršana

Image
Image
Epilog Challenge 9
Epilog Challenge 9

Nākamajā šī projekta izstrādes posmā es tam pievienoju balss vadību. Pateicoties balss komandai, es varu kontrolēt satvērēja aizvēršanos, atvēršanu un ātrumu. Balss vadība šajā gadījumā ir ļoti noderīga, atverot satvērēju, kas tur priekšmetu. Tas aizvieto pogu un ļauj viegli kontrolēt satvērēju, kas novietots uz mobilā robota.

Ja jums patīk šis projekts, neaizmirstiet nobalsot un komentārā ierakstīt, ko jūs vēlētos redzēt nākamajā ierakstā kā šī projekta turpmāku uzlabojumu:) Iepazīstieties ar maniem citiem projektiem, kas saistīti ar robotiku, vienkārši apmeklējiet:

  • facebook
  • youtube
  • mana vietne

Ieteicams: