Indholdsfortegnelse:

Automatisk greb ved hjælp af en lasersensor og stemmekommandoer: 5 trin (med billeder)
Automatisk greb ved hjælp af en lasersensor og stemmekommandoer: 5 trin (med billeder)

Video: Automatisk greb ved hjælp af en lasersensor og stemmekommandoer: 5 trin (med billeder)

Video: Automatisk greb ved hjælp af en lasersensor og stemmekommandoer: 5 trin (med billeder)
Video: Q-vinduer - Hvad er et greb på en skydedør? 2024, Juli
Anonim
Image
Image
Listen over dele
Listen over dele

At gribe fat i objekter, der forekommer os enkle og naturlige at gøre, er faktisk en kompleks opgave. Mennesket bruger synssansen til at bestemme afstanden fra objektet, som han vil have fat i. Hånden åbnes automatisk, når den er i nærheden af objektet, der gribes, og derefter lukker den hurtigt for at gribe godt om objektet. Jeg har brugt denne teknik på en forenklet måde i dette mini -projekt, men i stedet for kameraet brugte jeg en lasersensor til at estimere objektets afstand fra griberen og stemmekommandoer til kontrol.

Trin 1: Listen over dele

Listen over dele
Listen over dele

I dette lille projekt skal du kun bruge et par af de dele, der er anført nedenfor. Som controller brugte jeg Arduino mega 2560, men du kan også bruge UNO eller enhver anden Arduino. Som distancesensor brugte jeg en VL53L0X lasersensor, der har god nøjagtighed (ca. et par milimeter) og rækkevidde op til 2 meter. I dette projekt kan du bruge til at teste enhver griber og servo, men du skal drive den fra en separat strømkilde, f.eks.: en 5V strømforsyning eller et LiPo batteri (7,4V eller 11,1V) gennem en trin-ned-konverter, der reducerer spændingen til 5V.

Nødvendige dele til dette projekt:

  • VL53L0X Laser ToF -sensor x1
  • Digital servo x1
  • Arduino mega 2560 x1
  • Robot metal griber x1
  • Brødbræt x1
  • Taktil trykknap x1
  • Bluetooth HC-06
  • Modstand 10k x1
  • Strømforsyning 5V/2A

Udvidet version:

  1. CJMCU-219 Strømmonitor sensormodul x1
  2. WS2812 RGB LED Driver Development Board x1

Trin 2: Tilslutning af elektroniske dele

Tilslutning af elektroniske dele
Tilslutning af elektroniske dele
Tilslutning af elektroniske dele
Tilslutning af elektroniske dele
Tilslutning af elektroniske dele
Tilslutning af elektroniske dele

Den første figur viser alle de nødvendige forbindelser. På de følgende fotos kan du se de næste trin i tilslutning af individuelle moduler. I begyndelsen blev trykknappen tilsluttet pin 2 på Arduino, derefter servo til pin 3 og til sidst VL53L0X laserafstandssensoren via I2C -bus (SDA, SCL).

Forbindelserne mellem elektroniske moduler er følgende:

VL53L0X lasersensor -> Arduino Mega 2560

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

Servo -> Arduino Mega 2560

Signal (orange ledning) - 3

Servo -> 5V/2A strømforsyning

  • GND (brun ledning) - GND
  • VCC (rød ledning) - 5V

Trykknap -> Arduino Mega 2560

  • Pin 1 - 3.3 eller 5V
  • Pin 2 - 2 (og gennem 10k modstanden til jorden)

Bluetooth (HC -06) -> Arduino Mega 2560

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

Trin 3: Arduino Mega Code

Arduino Mega Code
Arduino Mega Code

Jeg har forberedt følgende eksempler på Arduino -programmer, der er tilgængelige på min GitHub:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

Det første program med navnet "VL53L0X_gripper_control" udfører opgaven med automatisk at gribe et objekt, der er blevet detekteret af VL53L0X lasersensor. Inden du samler og uploader prøveprogrammet, skal du sikre dig, at du har valgt "Arduino Mega 2560" som målplatform som vist ovenfor (Arduino IDE -> Tools -> Board -> Arduino Mega eller Mega 2560). Arduino -programmet kontrollerer i hovedsløjfen - "void loop ()", om den nye aflæsning fra lasersensoren er kommet (funktion readRangeContinuousMillimeters ()). Hvis den aflæste afstand fra sensoren "distance_mm" er større end værdien "THRESHOLD_CLOSING_DISTANCE_FAR" eller mindre end "THRESHOLD_CLOSING_DISTANCE_NEAR", begynder servoen at lukke. I andre tilfælde begynder den at åbne. I den næste del af programmet, i funktionen "digitalRead (gripperOpenButtonPin)", kontrolleres trykknappens tilstand konstant, og hvis der trykkes på den, åbnes griberen på trods af at den lukkes på grund af objektets nærhed (distance_mm er mindre end THRESHOLD_CLOSING_DISTANCE_NEAR).

Det andet program "Voice_VL53L0X_gripper_control" giver dig mulighed for at styre griberen ved hjælp af stemmekommandoer. Stemmekommandoer behandles af BT Voice Control til Arduino -appen fra Google Play og sendes yderligere via bluetooth til Arduino. Arduino -programmet kontrollerer i hovedsløjfen - "void loop ()", om den nye kommando (tegn) er blevet sendt fra Android -appen via bluetooth. Hvis der er et indgående tegn fra bluetooth -serien, læser programmet de serielle data, indtil det støder på slutningen af stemmeinstruktionen "#". Derefter starter udførelsen af funktionen "void processInput ()", og afhængigt af stemmekommandoen kaldes en bestemt kontrolfunktion.

Trin 4: Test af automatisk greb

Test af automatisk greb
Test af automatisk greb
Test af automatisk greb
Test af automatisk greb

Videoen fra "Trin 1" viser test af robotgreb baseret på program fra det forrige afsnit "Arduino Mega Code". Denne video viser, hvordan den automatisk åbnes, når objektet er tæt på det, og tager derefter fat i dette objekt, hvis det er inden for griberens rækkevidde. Tilbagemeldingen fra laserafstandssensoren, der bruges her, er tydeligt synlig i den anden del af videoen, når jeg flytter flasken frem og tilbage, hvad der forårsager en hurtig reaktion og ændring af griberstyringen.

Trin 5: Stemmeaktiveret automatisk greb

Image
Image
Epilog Challenge 9
Epilog Challenge 9

I det næste trin i udviklingen af dette projekt tilføjede jeg stemmestyring til det. Takket være stemmekommandoen kan jeg kontrollere lukning, åbning og hastighed af griberen. Stemmestyring i dette tilfælde er meget nyttig, når du åbner griberen, der holder objektet. Det erstatter knappen og gør det let at styre griberen, der er placeret på den mobile robot.

Hvis du kan lide dette projekt, glem ikke at stemme og skrive i kommentaren, hvad vil du gerne se i det næste indlæg som en yderligere forbedring af dette projekt:) Tjek mine andre projekter relateret til robotik, besøg bare:

  • facebook
  • Youtube
  • min hjemmeside

Anbefalede: