Tartalomjegyzék:

Automatikus fogás lézeres érzékelő és hangutasítások használatával: 5 lépés (képekkel)
Automatikus fogás lézeres érzékelő és hangutasítások használatával: 5 lépés (képekkel)

Videó: Automatikus fogás lézeres érzékelő és hangutasítások használatával: 5 lépés (képekkel)

Videó: Automatikus fogás lézeres érzékelő és hangutasítások használatával: 5 lépés (képekkel)
Videó: 3 kérdés, amit feltétlenül tegyen fel, ha raklapfóliázó gépet vásárol 2024, Július
Anonim
Image
Image
Az alkatrészek listája
Az alkatrészek listája

A számunkra egyszerűnek és természetesnek tűnő tárgyak megragadása valójában összetett feladat. Az ember a látásérzék segítségével határozza meg a megragadni kívánt tárgytól való távolságot. A kéz automatikusan kinyílik, amikor a megfogott tárgy közvetlen közelében van, majd gyorsan bezáródik, hogy jól megfogja a tárgyat. Ezt a technikát leegyszerűsítettem ebben a mini projektben, de a kamera helyett lézeres érzékelőt használtam, hogy megbecsüljem a tárgy távolságát a fogótól, és hangvezérléseket a vezérléshez.

1. lépés: Az alkatrészek listája

Az alkatrészek listája
Az alkatrészek listája

Ebben a kis projektben az alább felsorolt alkatrészek közül csak néhányra lesz szüksége. Vezérlőként az Arduino mega 2560 -at használtam, de használhat UNO -t vagy bármely más Arduino -t is. Távolságérzékelőként VL53L0X lézerérzékelőt használtam, amely jó pontossággal rendelkezik (körülbelül néhány milliméter) és hatótávolsága 2 méter. Ebben a projektben bármilyen fogót és szervót tesztelhet, de külön áramforrásról kell táplálni, például: 5 V-os tápegység vagy LiPo akkumulátor (7,4 V vagy 11,1 V) egy lefelé irányuló átalakítón keresztül, amely csökkenti a feszültséget 5V -ra.

A projekthez szükséges alkatrészek:

  • VL53L0X lézeres ToF érzékelő x1
  • Digitális szervó x1
  • Arduino mega 2560 x1
  • Robot fém fogó x1
  • Kenyeretábla x1
  • Tapintható nyomógomb x1
  • Bluetooth HC-06
  • Ellenállás 10k x1
  • Tápegység 5V/2A

Bővített változat:

  1. CJMCU-219 áramfigyelő érzékelő modul x1
  2. WS2812 RGB LED illesztőprogram -fejlesztő tábla x1

2. lépés: Elektronikus alkatrészek csatlakoztatása

Elektronikus alkatrészek csatlakoztatása
Elektronikus alkatrészek csatlakoztatása
Elektronikus alkatrészek csatlakoztatása
Elektronikus alkatrészek csatlakoztatása
Elektronikus alkatrészek csatlakoztatása
Elektronikus alkatrészek csatlakoztatása

Az első ábra az összes szükséges csatlakozást mutatja. A következő fényképeken az egyes modulok csatlakoztatásának következő lépéseit láthatja. Az elején a nyomógombot az Arduino 2. tűjére, majd a szervót a 3 -as tűre, végül a VL53L0X lézeres távolságérzékelőt az I2C buszon (SDA, SCL) keresztül kötötték össze.

Az elektronikus modulok csatlakozásai a következők:

VL53L0X lézerérzékelő -> Arduino Mega 2560

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

Szervó -> Arduino Mega 2560

Jel (narancssárga vezeték) - 3

Szervo -> 5V/2A tápegység

  • GND (barna huzal) - GND
  • VCC (piros vezeték) - 5V

Nyomógomb -> Arduino Mega 2560

  • 1 -es tű - 3,3 vagy 5V
  • 2–2. Tű (és a 10 000 ellenálláson keresztül a földig)

Bluetooth (HC -06) -> Arduino Mega 2560

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

3. lépés: Arduino Mega Code

Arduino Mega kód
Arduino Mega kód

A következő minta Arduino programokat készítettem el a GitHub -on:

  • VL53L0X_gripper_control
  • Voice_VL53L0X_gripper_control

Az első "VL53L0X_gripper_control" nevű program elvégzi a VL53L0X lézerérzékelő által észlelt objektum automatikus megfogását. A mintaprogram összeállítása és feltöltése előtt győződjön meg arról, hogy az "Arduino Mega 2560" -t választotta célplatformnak a fentiek szerint (Arduino IDE -> Eszközök -> Tábla -> Arduino Mega vagy Mega 2560). Az Arduino program ellenőrzi a fő hurokban - "void loop ()", hogy megérkezett -e a lézeres érzékelő új leolvasása (readRangeContinuousMillimeters () függvény). Ha a "distance_mm" érzékelő által leolvasott távolság nagyobb, mint a "THRESHOLD_CLOSING_DISTANCE_FAR" érték, vagy kisebb, mint "THRESHOLD_CLOSING_DISTANCE_NEAR", akkor a szervó bezárul. Más esetekben elkezd nyitni. A program következő részében, a "digitalRead (gripperOpenButtonPin)" funkcióban a nyomógomb állapotát folyamatosan ellenőrzik, és ha megnyomják, a fogó kinyílik annak ellenére, hogy az objektum közelsége miatt zárva van (a távolság_mm kisebb, mint THRESHOLD_CLOSING_DISTANCE_NEAR).

A második "Voice_VL53L0X_gripper_control" program lehetővé teszi a fogó hangvezérléssel történő vezérlését. A hangutasításokat a BT Voice Control for Arduino alkalmazás dolgozza fel a Google Playről, majd továbbítja bluetoothon keresztül az Arduino -hoz. Az Arduino program ellenőrzi a fő hurokban - "void loop ()", hogy az új parancsot (karaktert) elküldte -e az Android alkalmazásból Bluetooth -on keresztül. Ha a bejövő karakter érkezik a Bluetooth sorozatból, a program addig olvassa a soros adatokat, amíg el nem éri a "#" hangutasítást. Ezután megkezdi a "void processInput ()" függvény végrehajtását, és a hangutasítástól függően egy speciális vezérlőfunkciót hívnak meg.

4. lépés: Az automatikus megfogás tesztelése

Az automatikus megfogás tesztelése
Az automatikus megfogás tesztelése
Az automatikus megfogás tesztelése
Az automatikus megfogás tesztelése

Az "1. lépés" videója a robotfogó tesztjeit mutatja az előző "Arduino Mega Code" szakasz programja alapján. Ez a videó bemutatja, hogyan nyílik automatikusan, amikor az objektum közel van hozzá, majd megragadja ezt az objektumot, ha elérhető a fogó közelében. Az itt használt lézertávolság -érzékelő visszajelzése jól látható a videó további részében, amikor előre és hátra mozgatom a palackot, ami gyors reakciót és a fogó vezérlésének megváltoztatását okozza.

5. lépés: Hanggal aktivált automatikus fogás

Image
Image
Epilog Challenge 9
Epilog Challenge 9

A projekt fejlesztésének következő lépésében hangvezérlést adtam hozzá. A hangutasításnak köszönhetően irányíthatom a fogó zárását, nyitását és sebességét. A hangvezérlés ebben az esetben nagyon hasznos a tárgyat tartó fogó kinyitásakor. Ez helyettesíti a gombot, és lehetővé teszi a mobil robotra helyezett fogó könnyű irányítását.

Ha tetszik ez a projekt, ne felejtsd el szavazni, és írd meg kommentben, hogy mit szeretnél látni a következő bejegyzésben ennek a projektnek a továbbfejlesztéseként:) Nézd meg a többi robotikával kapcsolatos projektemet is, látogass el ide:

  • Youtube
  • a honlapom

Ajánlott: