Kazalo:

Samodejno prijemanje z uporabo laserskega senzorja in glasovnih ukazov: 5 korakov (s slikami)
Samodejno prijemanje z uporabo laserskega senzorja in glasovnih ukazov: 5 korakov (s slikami)

Video: Samodejno prijemanje z uporabo laserskega senzorja in glasovnih ukazov: 5 korakov (s slikami)

Video: Samodejno prijemanje z uporabo laserskega senzorja in glasovnih ukazov: 5 korakov (s slikami)
Video: Как принять квартиру у застройщика? Ремонт в НОВОСТРОЙКЕ от А до Я. #1 2024, Julij
Anonim
Image
Image
Seznam delov
Seznam delov

Prijemanje predmetov, ki se nam zdijo preprosti in naravni, je pravzaprav kompleksna naloga. Človek s čutilom vida določi razdaljo od predmeta, ki ga želi zgrabiti. Roka se samodejno odpre, ko je v neposredni bližini predmeta, ki ga primemo, nato pa se hitro zapre, da dobro prime predmet. To tehniko sem poenostavljeno uporabil v tem mini projektu, vendar sem namesto kamere uporabil laserski senzor za oceno razdalje predmeta od prijemala in glasovne ukaze za nadzor.

1. korak: Seznam delov

Seznam delov
Seznam delov

V tem majhnem projektu boste potrebovali le nekaj spodaj navedenih delov. Kot krmilnik sem uporabil Arduino mega 2560, lahko pa uporabite tudi UNO ali kateri koli drug Arduino. Kot senzor razdalje sem uporabil laserski senzor VL53L0X, ki ima dobro natančnost (približno nekaj milimetrov) in doseg do 2 metra. V tem projektu lahko uporabite za preskušanje katerega koli prijemala in servomotorja, vendar ga morate napajati iz ločenega vira napajanja, na primer: 5V napajalnika ali LiPo baterije (7.4V ali 11.1V) prek padajočega pretvornika, ki zmanjšuje napetost na 5V.

Deli, potrebni za ta projekt:

  • Laserski ToF senzor VL53L0X x1
  • Digitalni servo x1
  • Arduino mega 2560 x1
  • Robotski kovinski prijemala x1
  • Krožnik x1
  • Taktični gumb x1
  • Bluetooth HC-06
  • Upor 10k x1
  • Napajanje 5V/2A

Razširjena različica:

  1. Modul senzorja trenutnega monitorja CJMCU-219 x1
  2. WS2812 RGB LED gonilna plošča za razvoj x1

2. korak: Priključitev elektronskih delov

Priključitev elektronskih delov
Priključitev elektronskih delov
Priključitev elektronskih delov
Priključitev elektronskih delov
Priključitev elektronskih delov
Priključitev elektronskih delov

Prva slika prikazuje vse potrebne povezave. Na naslednjih fotografijah lahko vidite naslednje korake povezovanja posameznih modulov. Na začetku je bil potisni gumb priključen na pin 2 Arduina, nato servo na pin 3 in na koncu laserski senzor razdalje VL53L0X prek vodila I2C (SDA, SCL).

Priključki elektronskih modulov so naslednji:

Laserski senzor VL53L0X -> Arduino Mega 2560

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

Servo -> Arduino Mega 2560

Signal (oranžna žica) - 3

Servo -> 5V/2A napajalnik

  • GND (rjava žica) - GND
  • VCC (rdeča žica) - 5V

Potisni gumb -> Arduino Mega 2560

  • Pin 1 - 3.3 ali 5V
  • Pin 2 - 2 (in skozi 10k upor do tal)

Bluetooth (HC -06) -> Arduino Mega 2560

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

3. korak: Arduino Mega koda

Mega koda Arduino
Mega koda Arduino

Na mojem GitHubu sem pripravil naslednje vzorčne programe Arduino:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

Prvi program z imenom "VL53L0X_gripper_control" opravlja nalogo samodejnega prijema predmeta, ki ga je zaznal laserski senzor VL53L0X. Preden sestavite in naložite vzorčni program, se prepričajte, da ste za ciljno platformo izbrali "Arduino Mega 2560", kot je prikazano zgoraj (Arduino IDE -> Orodja -> Plošča -> Arduino Mega ali Mega 2560). Program Arduino v glavni zanki - "void loop ()" preveri, ali je prišlo do novega odčitavanja z laserskega senzorja (funkcija readRangeContinuousMillimeters ()). Če je odčitana razdalja od senzorja "distance_mm" večja od vrednosti "THRESHOLD_CLOSING_DISTANCE_FAR" ali manjša od "THRESHOLD_CLOSING_DISTANCE_NEAR", se servo zapira. V drugih primerih se začne odpirati. V naslednjem delu programa, v funkciji "digitalRead (gripperOpenButtonPin)", je stanje gumba stalno nadzorovano in če ga pritisnemo, se prijemalo kljub temu, da je zaprto zaradi bližine predmeta, odpre (razdalja_mm je manjša od THRESHOLD_CLOSING_DISTANCE_NEAR).

Drugi program "Voice_VL53L0X_gripper_control" vam omogoča nadzor prijemala z uporabo glasovnih ukazov. Glasovne ukaze obdeluje aplikacija BT Voice Control za Arduino iz Googla Play in jih nato prek Bluetootha pošlje v Arduino. Program Arduino v glavni zanki - "void loop ()" preveri, ali je bil nov ukaz (znak) poslan iz aplikacije Android prek bluetootha. Če pride kakšen dohodni znak iz zaporedja bluetooth, program bere serijske podatke, dokler ne naleti na konec glasovnega ukaza "#". Nato se začne izvajati funkcija "void processInput ()" in glede na glasovni ukaz se pokliče posebna nadzorna funkcija.

4. korak: Preizkusite samodejno prijemanje

Testiranje samodejnega prijemanja
Testiranje samodejnega prijemanja
Testiranje samodejnega prijemanja
Testiranje samodejnega prijemanja

Videoposnetek iz "koraka 1" prikazuje teste robotskega prijemala na podlagi programa iz prejšnjega razdelka "Arduino Mega Code". Ta video prikazuje, kako se samodejno odpre, ko je predmet blizu njega, nato pa ta predmet prime, če je na dosegu prijemala. Povratne informacije od tukaj uporabljenega laserskega senzorja razdalje so jasno vidne v nadaljnjem delu videoposnetka, ko steklenico premaknem naprej in nazaj, kar povzroči hitro reakcijo in spremembo nadzora prijemala.

5. korak: Glasovno aktivirano samodejno prijemanje

Image
Image
Epilog izziv 9
Epilog izziv 9

V naslednjem koraku pri razvoju tega projekta sem mu dodal glasovno upravljanje. Zahvaljujoč glasovnemu ukazu lahko nadzorujem zapiranje, odpiranje in hitrost prijemala. Glasovno upravljanje je v tem primeru zelo uporabno pri odpiranju prijemala, ki drži predmet. Nadomešča gumb in omogoča enostavno upravljanje prijemala, nameščenega na mobilnem robotu.

Če vam je ta projekt všeč, ne pozabite glasovati in v komentar zapišite, kaj bi radi videli v naslednji objavi kot nadaljnjo izboljšavo tega projekta:) Oglejte si moje druge projekte, povezane z robotiko, le obiščite:

  • facebook
  • youtube
  • mojo spletno stran

Priporočena: