A robotok fontos szerepet játszanak az automatizálásban minden olyan szektorban, mint az építőipar, a katonai, az orvosi, a gyártási stb. Néhány alapvető robot, például vonalkövető robot, számítógéppel vezérelt robot stb. Elkészítése után kifejlesztettük ezt a gyorsulásmérőn alapuló gesztusvezérelt robotot. arduino uno. Ebben a projektben kézmozdulatot használtunk a robot vezetésére. Erre a célra gyorsulásmérőt használtunk, amely gyorsuláson működik.
Szükséges alkatrészek
- Arduino UNO
- DC motorok
- Gyorsulásmérő
- HT12D
- HT12E
- RF pár
- Motorvezérlő L293D
- 9 voltos akkumulátor
- Akkumulátor csatlakozó
- USB kábel
- Robot Chasis
RF pár:
A kézmozdulatokkal vezérelt robot kezét bármely más módszer, például gombok vagy joystick helyett kézi vezérléssel végezzük. Itt csak a kezét kell mozgatnia a robot irányításához. A kezedben olyan adókészüléket használnak, amely RF adót és gyorsulásmérőt tartalmaz. Ez továbbítja a parancsot a robotnak, így meg tudja csinálni a szükséges feladatot, például halad előre, hátra, balra, jobbra és megáll. Mindezeket a feladatokat kézmozdulattal hajtják végre.
Itt a legfontosabb komponens a gyorsulásmérő. A gyorsulásmérő egy 3 tengelyes gyorsulásmérő eszköz, + -3g hatótávolsággal. Ez az eszköz a szilícium felület érzékelő és a jel kondicionáló áramkör használatával készül a gyorsulás mérésére. Ennek az eszköznek a kimenete analóg jellegű és arányos a gyorsulással. Ez az eszköz a gravitáció statikus gyorsulását méri, amikor megdöntjük. És eredményt ad mozgás vagy rezgés formájában.
Az adxl335 adatlapja szerint a szilícium ostya tetejére helyezett, szilícium felületű, mikromegmunkált szerkezet. A poliszilícium rugók felfüggesztik a szerkezetet az ostya felületén, és ellenállást biztosítanak a gyorsulási erőkkel szemben. A szerkezet elhajlását differenciál kondenzátorral mérik, amely független rögzített lemezeket és a mozgó tömeghez rögzített lemezeket tartalmaz. A rögzített lemezeket fázison kívüli, 180 ° -os négyzethullámok hajtják. A gyorsulás elhárítja a mozgó tömeget és kiegyensúlyozatlanná teszi a differenciál kondenzátort, és egy szenzor kimenetet eredményez, amelynek amplitúdója arányos a gyorsulással. Ezután fázisérzékeny demodulációs technikákat alkalmaznak a gyorsulás nagyságának és irányának meghatározásához.
Tű A gyorsulásmérő leírása
- Az 5 voltos Vcc tápnak ennél a csapnál kell csatlakoznia.
- X-OUT Ez a tű analóg kimenetet ad x irányban
- Y-OUT Ez a tű analóg kimenetet ad y irányban
- Z-OUT Ez a csap analóg kimenetet ad z irányban
- GND föld
- ST Ez a tű az érzékelő érzékenységének beállítására szolgál
Áramkör diagram és magyarázat
A kézmozdulatokkal vezérelt robot két részre oszlik:
- Adó rész
- Vevő rész
Az adó részében gyorsulásmérőt és RF adó egységet használnak. Amint már megbeszéltük, hogy a gyorsulásmérő analóg kimenetet ad, itt kell átalakítanunk ezeket az analóg adatokat digitálisokká. Erre a célra 4 csatornás összehasonlító áramkört használtunk bármelyik ADC helyett. A referenciafeszültség beállításával digitális jelet kapunk, majd ezt a jelet alkalmazzuk a HT12E kódolóra, hogy adatokat kódoljunk vagy soros formává alakítsuk, majd ezeket az adatokat RF adó segítségével elküldjük a környezetbe.
A vevő végén RF vevőt használtunk adatok fogadására, majd a HT12D dekóderre alkalmaztuk. Ez a dekóder IC átalakítja a fogadott soros adatokat párhuzamosra, majd az arduino használatával olvassa el. A beérkezett adatok szerint két egyenáramú motort használunk előre, hátra, balra, jobbra és leállítva.
Dolgozó
A kézmozdulatokkal vezérelt robot a kéz mozgása szerint mozog, miközben az adóegységet a kezünkbe helyezzük. Amikor kézzel billentünk az elülső oldalra, a robot elindul előre, és folytatja a továbbhaladást, amíg meg nem adják a következő parancsot.
Amikor kézzel hátrafelé billentünk, a robot megváltoztatja az állapotát, és elkezd haladni hátrafelé, amíg más parancsot nem kapnak.
Amikor megdöntjük a bal oldalon, a robot kap balra fordulást a következő parancsig.
Amikor kézzel billentünk a jobb oldalon, a robot jobbra fordul.
És a robot leállításához stabilan tartjuk a kezünket.
Áramköri ábra az adóegység szakaszához
Áramkör vevő szakasz
A kézmozdulattal vezérelt robot áramköre meglehetősen egyszerű. Amint az a fenti sematikus ábrákon látható, egy RF pár használatos a kommunikációhoz, és összekapcsolódik az arduino-val. A robot meghajtó az arduino-hoz van csatlakoztatva a robot futtatásához. A motorvezérlő 2., 7., 10. és 15. bemeneti csatlakozója a 6., 5., 4. és 3. számú arduino digitális csatlakozóhoz csatlakozik. Itt két egyenáramú motort használtunk robotok meghajtására, amelyekben az egyik motor a 3. és a 6. meghajtó kimeneti tüskéjéhez van csatlakoztatva, a másik motor pedig a 11. és a 14. pontnál van csatlakoztatva..
A program magyarázata
A programban mindenekelőtt meghatároztuk a motorok kimeneti csapjait.
És akkor a beállítás során megadtuk az utasításokat a rögzítéshez.
Ezt követően az 'if utasítás' használatával leolvassuk a bemenetet, és relatív műveletet hajtunk végre.
Ennek a gesztus által vezérelt robotnak összesen öt feltétele van:
A kéz mozgása |
Input Arduino számára gesztusból |
||||
Oldal |
D3 |
D2 |
D1 |
D0 |
Irány |
Stabil |
0 |
0 |
0 |
0 |
Álljon meg |
Döntse jobbra |
0 |
0 |
0 |
1 |
Jobbra |
Dőljön balra |
0 |
0 |
1 |
0 |
Forduljon balra |
Dőljön hátra |
1 |
0 |
0 |
0 |
Hátrafelé |
Dönthető elöl |
0 |
1 |
0 |
0 |
Előre |
A teljes programot a fenti táblázat feltételeinek megfelelően írtuk meg. Az alábbiakban a teljes kód található.