Tartalomjegyzék:

Gesztusvezérelt robot Arduino használatával: 7 lépés
Gesztusvezérelt robot Arduino használatával: 7 lépés

Videó: Gesztusvezérelt robot Arduino használatával: 7 lépés

Videó: Gesztusvezérelt robot Arduino használatával: 7 lépés
Videó: 5-axis Collaborative Robotic Arm 2024, November
Anonim
Gesztusvezérelt robot az Arduino használatával
Gesztusvezérelt robot az Arduino használatával

A robotokat számos ágazatban használják, mint például az építőipar, a katonaság, a gyártás, az összeszerelés stb. A robotok lehetnek önállóak vagy félig autonómak. Az autonóm robotok nem igényelnek emberi beavatkozást, és a helyzetnek megfelelően önállóan tudnak cselekedni. A félautomata robotok az emberek utasításai szerint működnek. Ezeket a félig autonómokat távvezérléssel, telefonnal, gesztusokkal stb. Lehet vezérelni. Korábban kevés IoT-alapú robotot építettünk, amelyeket a webszerverről vezérelhetünk.

A mai cikkben gesztusvezérelt robotot fogunk építeni Arduino, MPU6050 gyorsulásmérő, nRF24L01 adó-vevő pár és L293D motorvezérlő modul használatával. Ezt a robotot két részre tervezzük. Az egyik az adó, a másik a vevő. Az adó rész egy Arduino Uno, MPU6050 gyorsulásmérő és giroszkóp, valamint az nRF24L01, míg a vevő rész egy Arduino Uno, nRF24L01, két egyenáramú motor és egy L293D motor meghajtó. Az adó távvezérlőként fogja irányítani a robotot, ahol a robot a gesztusoknak megfelelően mozog.

1. lépés: Szükséges összetevők

Szükséges alkatrészek
Szükséges alkatrészek
Szükséges alkatrészek
Szükséges alkatrészek
  • Arduino Uno (2)
  • NRF24L01 (2)
  • MPU6050DC motor (2)
  • L293D motorvezérlő modul
  • Tészta

MPU6050 gyorsulásmérő és giroszkóp Az MPU6050 érzékelő modul egy komplett 6 tengelyes (3 tengelyes gyorsulásmérő és 3 tengelyes giroszkóp) mikroelektromechanikus rendszer. Az MPU6050 érzékelőmodul egy chipen lévő hőmérséklet-érzékelővel is rendelkezik. I2C busszal és kiegészítő I2C busz interfésszel rendelkezik, amely kommunikál a mikrovezérlőkkel és más érzékelőeszközökkel, például 3 tengelyes magnetométerrel, nyomásérzékelővel, stb. -kapcsolódó paraméterek. Ez az érzékelő modul beépített digitális mozgásprocesszorral is rendelkezik, amely összetett számításokat végezhet.

NRF24L01 adó -vevő modul

Az nRF24L01 egycsipes rádió adó -vevő a világszerte 2,4 - 2,5 GHz -es ISM sáv számára. Az adó -vevő egy teljesen integrált frekvenciaszintetizátorból, egy erősítőből, egy kristályoszcillátorból, egy demodulátorból, egy modulátorból és egy továbbfejlesztett ShockBurs protokollmotorból áll. A kimeneti teljesítmény, a frekvenciacsatornák és a protokoll beállítása könnyen programozható az SPI interfészen keresztül. Ennek az adó -vevő modulnak az üzemi feszültségtartománya 1,9V - 3,6V. Beépített kikapcsolási és készenléti üzemmódokkal rendelkezik, így energiatakarékos és könnyen megvalósítható.

2. lépés: A kézmozdulatokkal vezérelt robot kezelése Arduino használatával

Kézmozdulatokkal vezérelt robot működése Arduino használatával
Kézmozdulatokkal vezérelt robot működése Arduino használatával
Kézmozdulatokkal vezérelt robot működése Arduino használatával
Kézmozdulatokkal vezérelt robot működése Arduino használatával

Az Arduino gesztusvezérlő autó működésének megértéséhez osszuk fel ezt a projektet két részre. Az első rész az adó rész (távoli), amelyben az MPU6050 gyorsulásmérő érzékelő folyamatosan jeleket küld a vevőnek (robot) az Arduino és az nRF távadón keresztül.

A második rész a vevő rész (Robot car), amelyben az nRF vevő fogadja az átvitt adatokat, és elküldi azokat az Arduino -nak, amely tovább dolgozza fel őket, és ennek megfelelően mozgatja a robotot.

Az MPU6050 gyorsulásmérő érzékelő leolvassa az X Y Z koordinátákat, és elküldi a koordinátákat az Arduino -nak. Ehhez a projekthez csak X és Y koordinátákra van szükségünk. Az Arduino ezután ellenőrzi a koordináták értékeit, és elküldi az adatokat az nRF adónak. Az átvitt adatokat az nRF vevő fogadja. A vevő elküldi az adatokat a vevőoldali Arduino -nak. Az Arduino továbbítja az adatokat a motorvezérlő IC -nek, és a motorvezérlő a kívánt irányba forgatja a motorokat.

3. lépés: Áramköri diagram

Kördiagramm
Kördiagramm
Kördiagramm
Kördiagramm

Ez a kézmozdulattal vezérelt robot Arduino hardvert használva két részre van osztva

  1. Adó
  2. Vevő

4. lépés: Adóáramkör az Arduino gesztusvezérelt autóhoz

Adóáramkör az Arduino gesztusvezérelt autóhoz
Adóáramkör az Arduino gesztusvezérelt autóhoz
Adóáramkör az Arduino gesztusvezérelt autóhoz
Adóáramkör az Arduino gesztusvezérelt autóhoz
Adóáramkör az Arduino gesztusvezérelt autóhoz
Adóáramkör az Arduino gesztusvezérelt autóhoz

A projekt adóegysége MPU6050 gyorsulásmérőből és giroszkópból, nRF24L01 adó -vevőből és Arduino Unóból áll. Az Arduino folyamatosan kap adatokat az MPU6050 -ből, és elküldi ezeket az nRF adónak. Az RF adó továbbítja az adatokat a környezetbe.

5. lépés: Vevő áramkör az Arduino gesztusvezérelt autóhoz

Vevő áramkör az Arduino gesztusvezérelt autóhoz
Vevő áramkör az Arduino gesztusvezérelt autóhoz
Vevő áramkör az Arduino gesztusvezérelt autóhoz
Vevő áramkör az Arduino gesztusvezérelt autóhoz
Vevő áramkör az Arduino gesztusvezérelt autóhoz
Vevő áramkör az Arduino gesztusvezérelt autóhoz

Ennek a gesztusvezérelt robotnak a vevőegysége Arduino Uno, nRF24L01 adó -vevő, 2 egyenáramú motor és egy motorvezérlő modulból áll. Az NRF24L01 vevő fogadja az adatokat az adótól és elküldi az Arduino -nak. Ezután a kapott jelek szerint az Arduino mozgatja az egyenáramú motorokat.

6. lépés: A program magyarázata

Az Arduino -t használó gesztusvezérelt robot esetében a teljes kód itt érhető el. Az alábbiakban soronként ismertetjük a programot.

Adóoldali program

Ebben a programban az Arduino kiolvassa az adatokat az MPU6050 -ből, és elküldi azokat az nRF 24L01 adónak.

1. Indítsa el a programot a szükséges könyvtári fájlok hozzáadásával. A könyvtár fájljait letöltheti a megadott linkekről.

SPI.h

nRF24L01.h

Drót.h

MPU6050.h

2. Ezután határozza meg az MPU6050 giroszkóp és a gyorsulásmérő adatainak változóit. Itt csak a gyorsulásmérő adatait kell használni.

3. Határozza meg a rádiócső címét a kommunikációs és nRF távadók CN és CSN csapjaihoz.

4. Indítsa el a soros monitort a void setup () függvényben. Inicializálja a vezetékes és rádiós kommunikációt is. A radio.setDataRate az adatátviteli sebesség beállítására szolgál.

5. Olvassa el az MPU6050 érzékelő adatait. Itt csak X és Y irányú gyorsulásmérő adatokat használunk.

6. Végül továbbítsa az érzékelő adatait a radio.write funkció segítségével.

Vevő oldali program

1. A szokásos módon indítsa el a programot a szükséges könyvtári fájlok beillesztésével.

2. Határozza meg a rádiócső címét a kommunikációs és nRF távadók CN és CSN csapjaihoz.

3. Határozza meg a bal és jobb egyenáramú motor csapjait.

4. Most ellenőrizze, hogy a rádió elérhető -e vagy sem. Ha igen, olvassa el az adatokat.

5. Most hasonlítsa össze a kapott adatokat, és vezesse a motorokat a feltételeknek megfelelően.

7. lépés: A kézmozdulattal vezérelt robot tesztelése Arduino használatával

Ha a hardver készen áll, csatlakoztassa az adó és a vevő oldali Arduinos -t a laptopjához, és töltse fel a kódot. Ezután mozgassa az MPU6050 gyorsulásmérőt az autó robot vezérléséhez.

A gesztusvezérelt robot teljes működése megtalálható a videóban.

Ajánlott: