Turinys:

Automatinis sugriebimas naudojant lazerio jutiklį ir balso komandas: 5 žingsniai (su nuotraukomis)
Automatinis sugriebimas naudojant lazerio jutiklį ir balso komandas: 5 žingsniai (su nuotraukomis)

Video: Automatinis sugriebimas naudojant lazerio jutiklį ir balso komandas: 5 žingsniai (su nuotraukomis)

Video: Automatinis sugriebimas naudojant lazerio jutiklį ir balso komandas: 5 žingsniai (su nuotraukomis)
Video: Pristatome Five SeveN – Gun Club Armory Gameplay 60 kadrų per sekundę greičiu 🇱🇹 2024, Lapkritis
Anonim
Image
Image
Dalių sąrašas
Dalių sąrašas

Patraukti daiktus, kurie mums atrodo paprasti ir natūralūs dalykai, iš tikrųjų yra sudėtinga užduotis. Žmogus regėjimo pojūčiu nustato atstumą nuo objekto, kurį nori patraukti. Ranka automatiškai atsidaro, kai ji yra arti sugriebto objekto, tada greitai užsidaro, kad gerai sugriebtų objektą. Aš naudoju šią techniką supaprastintai šiame mini projekte, tačiau vietoj fotoaparato aš naudoju lazerio jutiklį, norėdamas įvertinti objekto atstumą nuo griebtuvo ir balso komandas valdymui.

1 žingsnis: dalių sąrašas

Dalių sąrašas
Dalių sąrašas

Šiame mažame projekte jums reikės tik kelių toliau išvardytų dalių. Kaip valdiklis naudojau „Arduino mega 2560“, bet taip pat galite naudoti UNO ar bet kurį kitą „Arduino“. Kaip atstumo jutiklį aš naudoju VL53L0X lazerinį jutiklį, kuris turi gerą tikslumą (apie kelis milimetrus) ir veikia iki 2 metrų. Šiame projekte galite naudoti bet kurio griebtuvo ir servo testavimą, tačiau maitinkite jį iš atskiro maitinimo šaltinio, pvz., 5 V maitinimo šaltinio arba „LiPo“baterijos (7,4 V arba 11,1 V) per pakopinį keitiklį, kuris sumažina įtampą iki 5V.

Šiam projektui reikalingos dalys:

  • VL53L0X lazerinis ToF jutiklis x1
  • Skaitmeninis servo x1
  • Arduino mega 2560 x1
  • Roboto metalinis griebtuvas x1
  • Duonos lenta x1
  • Liečiamas mygtukas x1
  • „Bluetooth“HC-06
  • Rezistorius 10k x1
  • Maitinimas 5V/2A

Prailginta versija:

  1. CJMCU-219 srovės monitoriaus jutiklio modulis x1
  2. WS2812 RGB LED tvarkyklių kūrimo lenta x1

2 žingsnis: Elektroninių dalių prijungimas

Elektroninių dalių prijungimas
Elektroninių dalių prijungimas
Elektroninių dalių prijungimas
Elektroninių dalių prijungimas
Elektroninių dalių prijungimas
Elektroninių dalių prijungimas

Pirmajame paveikslėlyje parodyta visa reikalinga jungtis. Šiose nuotraukose galite pamatyti tolesnius atskirų modulių prijungimo veiksmus. Iš pradžių mygtukas buvo prijungtas prie „Arduino“2 kaiščio, tada servo prie 3 kaiščio ir galiausiai VL53L0X lazerio atstumo jutiklis per I2C magistralę (SDA, SCL).

Elektroninių modulių jungtys yra šios:

VL53L0X lazerinis jutiklis -> Arduino Mega 2560

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

Servo -> Arduino Mega 2560

Signalas (oranžinė viela) - 3

Servo -> 5V/2A maitinimo šaltinis

  • GND (ruda viela) - GND
  • VCC (raudona viela) - 5V

Mygtukas -> Arduino Mega 2560

  • 1 kaištis - 3,3 arba 5V
  • 2 - 2 kaištis (ir per 10 000 rezistorių į žemę)

„Bluetooth“(HC -06) -> „Arduino Mega 2560“

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

3 žingsnis: „Arduino“mega kodas

„Arduino“mega kodas
„Arduino“mega kodas

Aš paruošiau tokį „Arduino“programų pavyzdį, kurį galima rasti „GitHub“:

  • VL53L0X_gripper_control
  • „Voice_VL53L0X_gripper_control“

Pirmoji programa pavadinimu „VL53L0X_gripper_control“atlieka užduotį automatiškai sugriebti objektą, kurį aptiko lazerinis jutiklis VL53L0X. Prieš sudarydami ir įkeldami pavyzdinę programą, įsitikinkite, kad pasirinkote „Arduino Mega 2560“kaip tikslinę platformą, kaip parodyta aukščiau („Arduino IDE“-> Įrankiai -> Lenta -> „Arduino Mega“arba „Mega 2560“). „Arduino“programa tikrina pagrindinę kilpą - „void loop ()“, ar atėjo naujas lazerio jutiklio rodmuo (funkcija readRangeContinuousMillimeters ()). Jei atstumas, nuskaitytas iš jutiklio „distance_mm“, yra didesnis už vertę „THRESHOLD_CLOSING_DISTANCE_FAR“arba mažesnis nei „THRESHOLD_CLOSING_DISTANCE_NEAR“, tada servo sistema užsidaro. Kitais atvejais jis pradeda atsidaryti. Kitoje programos dalyje, funkcijoje „digitalRead (gripperOpenButtonPin)“, mygtuko būsena yra nuolat kontroliuojama ir, jei jis bus paspaustas, griebtuvas atsidarys, nepaisant to, kad jis yra uždarytas dėl objekto artumo. (atstumas_ mm yra mažesnis nei THRESHOLD_CLOSING_DISTANCE_NEAR).

Antroji programa „Voice_VL53L0X_gripper_control“leidžia valdyti griebtuvą naudojant balso komandas. Balso komandos apdorojamos „BT Voice Control for Arduino“programoje iš „Google Play“ir toliau siunčiamos „Bluetooth“ryšiu į „Arduino“. „Arduino“programa tikrina pagrindinę kilpą - „void loop ()“, ar nauja komanda (simbolis) buvo išsiųsta iš „Android“programos per „Bluetooth“. Jei iš „Bluetooth“serijos įeina koks nors simbolis, programa skaito serijos duomenis, kol pasibaigs balso instrukcija „#“. Tada jis pradeda vykdyti funkciją „void processInput ()“ir, priklausomai nuo balso komandos, iškviečiama tam tikra valdymo funkcija.

4 žingsnis: išbandykite automatinį sukibimą

Automatinio sukibimo bandymas
Automatinio sukibimo bandymas
Automatinio sukibimo bandymas
Automatinio sukibimo bandymas

Vaizdo įraše iš „1 veiksmo“rodomi roboto griebtuvo bandymai, pagrįsti programa iš ankstesnio skyriaus „Arduino Mega Code“. Šiame vaizdo įraše parodyta, kaip jis automatiškai atsidaro, kai objektas yra arti jo, ir tada sugriebia šį objektą, jei jis yra ranka pasiekiamoje vietoje. Čia naudojamo lazerio atstumo jutiklio grįžtamasis ryšys yra aiškiai matomas tolesnėje vaizdo įrašo dalyje, kai stumiu buteliuką į priekį ir atgal, dėl ko greitai reaguojama ir keičiamas griebtuvo valdymas.

5 veiksmas: automatinis sugriebimas balsu

Image
Image
„Epilog“iššūkis 9
„Epilog“iššūkis 9

Kitame šio projekto kūrimo žingsnyje aš pridėjau prie jo valdymą balsu. Balso komandos dėka galiu valdyti griebtuvo uždarymą, atidarymą ir greitį. Valdymas balsu šiuo atveju yra labai naudingas atidarant griebtuvą, laikantį objektą. Jis pakeičia mygtuką ir leidžia lengvai valdyti griebtuvą, sumontuotą ant mobiliojo roboto.

Jei jums patinka šis projektas, nepamirškite balsuoti ir komentaruose parašyti, ką norėtumėte matyti kitame įraše, kaip tolesnį šio projekto tobulinimą:) Peržiūrėkite kitus mano projektus, susijusius su robotika, tiesiog apsilankykite:

  • youtube
  • mano svetainė

Rekomenduojamas: