Innehållsförteckning:

Automatisk gripning med lasersensor och röstkommandon: 5 steg (med bilder)
Automatisk gripning med lasersensor och röstkommandon: 5 steg (med bilder)

Video: Automatisk gripning med lasersensor och röstkommandon: 5 steg (med bilder)

Video: Automatisk gripning med lasersensor och röstkommandon: 5 steg (med bilder)
Video: VL53L1X Лазерный дистанционный датчик времени полета 400 см 2024, Juli
Anonim
Image
Image
Listan över delar
Listan över delar

Att ta tag i föremål som verkar enkla och naturliga att göra är i själva verket en komplex uppgift. Människan använder synen för att bestämma avståndet från objektet som hon vill ta tag i. Handen öppnas automatiskt när den är i närheten av objektet som greppas och sedan stängs den snabbt för att greppa föremålet väl. Jag har använt denna teknik på ett förenklat sätt i detta miniprojekt, men i stället för kameran använde jag en lasersensor för att uppskatta objektets avstånd från griparen och röstkommandon för kontroll.

Steg 1: Listan över delar

Listan över delar
Listan över delar

I detta lilla projekt behöver du bara några av delarna nedan. Som controller använde jag Arduino mega 2560 men du kan också använda UNO eller någon annan Arduino. Som distanssensor använde jag en VL53L0X lasersensor som har god noggrannhet (cirka några milimeter) och sträcker sig upp till 2 meter. I det här projektet kan du använda för att testa alla gripare och servon, men du bör driva den från en separat strömkälla, t.ex. till 5V.

Delar som behövs i detta projekt:

  • VL53L0X Laser ToF -sensor x1
  • Digital servo x1
  • Arduino mega 2560 x1
  • Robot metallgrepp x1
  • Brödbräda x1
  • Taktil tryckknapp x1
  • Bluetooth HC-06
  • Motstånd 10k x1
  • Strömförsörjning 5V/2A

Förlängd version:

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

Steg 2: Anslutning av elektroniska delar

Anslutning av elektroniska delar
Anslutning av elektroniska delar
Anslutning av elektroniska delar
Anslutning av elektroniska delar
Anslutning av elektroniska delar
Anslutning av elektroniska delar

Den första figuren visar alla nödvändiga anslutningar. På följande foton kan du se nästa steg för att ansluta enskilda moduler. I början var tryckknappen ansluten till pin 2 på Arduino, sedan servo till pin 3 och slutligen VL53L0X laseravståndssensor via I2C -buss (SDA, SCL).

Anslutningarna till elektroniska moduler är följande:

VL53L0X Lasersensor -> Arduino Mega 2560

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

Servo -> Arduino Mega 2560

Signal (orange tråd) - 3

Servo -> 5V/2A strömförsörjning

  • GND (brun tråd) - GND
  • VCC (röd tråd) - 5V

Tryckknapp -> Arduino Mega 2560

  • Pin 1 - 3.3 eller 5V
  • Pin 2 - 2 (och genom 10k -motståndet till marken)

Bluetooth (HC -06) -> Arduino Mega 2560

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

Steg 3: Arduino Mega Code

Arduino Mega Code
Arduino Mega Code

Jag har förberett följande exempel på Arduino -program som finns tillgängliga på min GitHub:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

Det första programmet med namnet "VL53L0X_gripper_control" utför uppgiften att automatiskt gripa ett objekt som har detekterats av lasersensorn VL53L0X. Innan du sammanställer och laddar upp provprogrammet, se till att du har valt "Arduino Mega 2560" som målplattform enligt ovan (Arduino IDE -> Tools -> Board -> Arduino Mega eller Mega 2560). Arduino -programmet kontrollerar i huvudslingan - "void loop ()" om den nya avläsningen från lasersensorn har kommit (funktion readRangeContinuousMillimeters ()). Om avståndet avläst från sensorn "avstånd_mm" är större än värdet "THRESHOLD_CLOSING_DISTANCE_FAR" eller mindre än "THRESHOLD_CLOSING_DISTANCE_NEAR" börjar servon stängas. I andra fall börjar det öppna. I nästa del av programmet, i funktionen "digitalRead (gripperOpenButtonPin)", styrs tryckknappens tillstånd ständigt och om den trycks in öppnas griparen trots att den stängs på grund av objektets närhet (avstånd_mm är mindre än THRESHOLD_CLOSING_DISTANCE_NEAR).

Det andra programmet "Voice_VL53L0X_gripper_control" låter dig styra griparen med röstkommandon. Röstkommandona behandlas av BT Voice Control för Arduino -appen från Google Play och skickas vidare via bluetooth till Arduino. Arduino -programmet kontrollerar i huvudslingan - "void loop ()" om det nya kommandot (tecknet) har skickats från Android -appen via bluetooth. Om det finns något inkommande tecken från bluetooth -serien läser programmet seriedata tills det slutar med röstinstruktionen "#". Därefter startar körningen av "void processInput ()" -funktionen och beroende på röstkommandot anropas en specifik kontrollfunktion.

Steg 4: Testa automatisk gripning

Testar automatisk gripning
Testar automatisk gripning
Testar automatisk gripning
Testar automatisk gripning

Videon från "Steg 1" visar tester av robotgripare baserat på program från föregående avsnitt "Arduino Mega Code". Den här videon visar hur det öppnas automatiskt när objektet är nära det och tar sedan tag i det här objektet om det är inom räckhåll för griparen. Återkopplingen från laseravståndssensorn som används här är tydligt synlig i den andra delen av videon när jag flyttar flaskan framåt och bakåt, vilket orsakar en snabb reaktion och ändring av gripkontrollen.

Steg 5: Röstaktiverad automatisk gripning

Image
Image
Epilog Challenge 9
Epilog Challenge 9

I nästa steg i utvecklingen av detta projekt lade jag till röststyrning till det. Tack vare röstkommandot kan jag styra griparens stängning, öppning och hastighet. Röststyrning i detta fall är mycket användbart när du öppnar griparen som håller föremålet. Den ersätter knappen och möjliggör enkel kontroll av griparen placerad på mobilroboten.

Om du gillar det här projektet glöm inte att rösta och skriv i kommentaren vad du skulle vilja se i nästa inlägg som en ytterligare förbättring av detta projekt:) Kolla in mina andra projekt relaterade till robotik, besök bara:

  • Youtube
  • min webbsida

Rekommenderad: