Obsah:

Automatické uchopení pomocí laserového senzoru a hlasových příkazů: 5 kroků (s obrázky)
Automatické uchopení pomocí laserového senzoru a hlasových příkazů: 5 kroků (s obrázky)

Video: Automatické uchopení pomocí laserového senzoru a hlasových příkazů: 5 kroků (s obrázky)

Video: Automatické uchopení pomocí laserového senzoru a hlasových příkazů: 5 kroků (s obrázky)
Video: Arduino kód VL53L1X Time-of-Flight 400cm laserový snímač vzdálenosti 2024, Listopad
Anonim
Image
Image
Seznam dílů
Seznam dílů

Uchopit objekty, které se nám zdají jednoduché a přirozené, je ve skutečnosti složitý úkol. Člověk pomocí zraku určuje vzdálenost od předmětu, který chce uchopit. Ruka se automaticky otevře, když je v těsné blízkosti uchopeného předmětu, a poté se rychle zavře, aby dobře uchopila předmět. Tuto techniku jsem v tomto mini projektu použil zjednodušeně, ale místo kamery jsem pomocí laserového senzoru odhadl vzdálenost objektu od chapadla a hlasové příkazy pro ovládání.

Krok 1: Seznam dílů

Seznam dílů
Seznam dílů

V tomto malém projektu budete potřebovat pouze několik níže uvedených částí. Jako ovladač jsem použil Arduino mega 2560, ale můžete také použít UNO nebo jiné Arduino. Jako snímač vzdálenosti jsem použil laserový senzor VL53L0X, který má dobrou přesnost (asi několik milimetrů) a dosah až 2 metry. V tomto projektu můžete použít pro testování jakéhokoli chapadla a serva, ale měli byste jej napájet ze samostatného zdroje energie, např.: z 5V napájecího zdroje nebo baterie LiPo (7,4 V nebo 11,1 V) prostřednictvím převodníku snižujícího napětí, který snižuje napětí na 5V.

Díly potřebné v tomto projektu:

  • Laserový senzor To53 VL53L0X x1
  • Digitální servo x1
  • Arduino mega 2560 x1
  • Robotický kovový chapač x1
  • Breadboard x1
  • Hmatové tlačítko x1
  • Bluetooth HC-06
  • Rezistor 10k x1
  • Napájení 5V/2A

Rozšířená verze:

  1. Modul snímače proudu CJMCU-219 x1
  2. WS2812 RGB LED Driver Development Board x1

Krok 2: Připojení elektronických součástek

Připojení elektronických součástek
Připojení elektronických součástek
Připojení elektronických součástek
Připojení elektronických součástek
Připojení elektronických součástek
Připojení elektronických součástek

První obrázek ukazuje všechna potřebná připojení. Na následujících fotografiích můžete vidět další kroky připojení jednotlivých modulů. Na začátku bylo tlačítko připojeno na pin 2 Arduina, pak servo na pin 3 a nakonec laserový senzor vzdálenosti VL53L0X přes sběrnici I2C (SDA, SCL).

Připojení elektronických modulů je následující:

Laserový senzor VL53L0X -> Arduino Mega 2560

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

Servo -> Arduino Mega 2560

Signál (oranžový vodič) - 3

Servo -> 5V/2A napájecí zdroj

  • GND (hnědý drát) - GND
  • VCC (červený vodič) - 5V

Tlačítko -> Arduino Mega 2560

  • Pin 1 - 3,3 nebo 5V
  • Pin 2-2 (a přes 10k odpor k zemi)

Bluetooth (HC -06) -> Arduino Mega 2560

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

Krok 3: Arduino Mega Code

Mega kód Arduino
Mega kód Arduino

Připravil jsem následující ukázkové programy Arduino dostupné na mém GitHubu:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

První program s názvem „VL53L0X_gripper_control“plní úkol automatického uchopení objektu, který byl detekován laserovým senzorem VL53L0X. Před kompilací a nahráním ukázkového programu se ujistěte, že jste jako cílovou platformu vybrali „Arduino Mega 2560“, jak je uvedeno výše (Arduino IDE -> Nástroje -> Deska -> Arduino Mega nebo Mega 2560). Program Arduino kontroluje v hlavní smyčce - „void loop ()“, zda přišlo nové čtení z laserového senzoru (funkce readRangeContinuousMillimeter ()). Pokud je vzdálenost načtená ze snímače „vzdálenost_mm“větší než hodnota „THRESHOLD_CLOSING_DISTANCE_FAR“nebo menší než „THRESHOLD_CLOSING_DISTANCE_NEAR“, začne se servo zavírat. V ostatních případech se začne otevírat. V další části programu, ve funkci „digitalRead (gripperOpenButtonPin)“, je stav tlačítka neustále kontrolován a pokud je stisknut, chapadlo se otevře, přestože je zavřeno kvůli blízkosti objektu (vzdálenost_mm je menší než THRESHOLD_CLOSING_DISTANCE_NEAR).

Druhý program „Voice_VL53L0X_gripper_control“vám umožňuje ovládat chapadlo pomocí hlasových příkazů. Hlasové příkazy jsou zpracovány aplikací BT Voice Control for Arduino z Google Play a dále odesílány přes bluetooth do Arduina. Program Arduino kontroluje v hlavní smyčce - „void loop ()“, zda byl nový příkaz (znak) odeslán z aplikace Android prostřednictvím bluetooth. Pokud je příchozí znak z bluetooth seriálu, program čte sériová data, dokud nenarazí na konec hlasové instrukce „#“. Poté spustí provádění funkce „void processInput ()“a v závislosti na hlasovém příkazu se zavolá konkrétní řídicí funkce.

Krok 4: Testování automatického uchopení

Testování automatického uchopení
Testování automatického uchopení
Testování automatického uchopení
Testování automatického uchopení

Video z „Krok 1“ukazuje testy robotického chapadla na základě programu z předchozí části „Arduino Mega Code“. Toto video ukazuje, jak se automaticky otevírá, když je objekt blízko něj, a pak tento objekt uchopí, pokud je v dosahu chapadla. Zpětná vazba zde použitého laserového senzoru vzdálenosti je jasně viditelná v další části videa, když pohybuji lahví dopředu a dozadu, což způsobuje rychlou reakci a změnu ovládání chapadla.

Krok 5: Hlasem aktivované automatické uchopení

Image
Image
Epilog Challenge 9
Epilog Challenge 9

V dalším kroku vývoje tohoto projektu jsem do něj přidal hlasové ovládání. Díky hlasovému příkazu mohu ovládat zavírání, otevírání a rychlost chapadla. Hlasové ovládání je v tomto případě velmi užitečné při otevírání chapadla držícího předmět. Nahrazuje tlačítko a umožňuje snadné ovládání chapadla umístěného na mobilním robotu.

Pokud se vám tento projekt líbí, nezapomeňte hlasovat a napište do komentáře, co byste rádi viděli v dalším příspěvku jako další vylepšení tohoto projektu:) Podívejte se na mé další projekty související s robotikou, stačí navštívit:

  • Youtube
  • moje webová stránka

Doporučuje: