Robotai vaidina svarbų vaidmenį automatizuojant visus sektorius, pvz., Statybą, kariuomenę, mediciną, gamybą ir kt. Pagaminę keletą pagrindinių robotų, tokių kaip linijos sekimo robotas, kompiuteriu valdomas robotas ir kt., Mes sukūrėme šį akselerometru pagrįstą gestais valdomą robotą naudodami arduino uno. Šiame projekte roboto valdymui naudojome rankos judesį. Šiuo tikslu mes panaudojome akselerometrą, kuris veikia pagreitį.
Reikalingi komponentai
- „Arduino UNO“
- Nuolatinės srovės varikliai
- Akselerometras
- HT12D
- HT12E
- RF pora
- Variklio vairuotojas L293D
- 9 voltų baterija
- Baterijos jungtis
- USB kabelis
- Robotas Chasis
RF pora:
Gestas valdomas robotas yra valdomas naudojant ranką vietoj bet kurį kitą metodą, kaip mygtukai arba kreiptuką. Čia norint valdyti robotą reikia judėti tik ranka. Jūsų rankoje naudojamas siųstuvas, kuriame yra radijo dažnių siųstuvas ir akselerometras. Tai perduos komandą robotui, kad jis galėtų atlikti reikiamą užduotį, pavyzdžiui, judėti pirmyn, atbulai, pasukti į kairę, pasukti į dešinę ir sustoti. Visos šios užduotys bus atliekamos rankos mostu.
Čia svarbiausias komponentas yra akselerometras. Akselerometras yra 3 ašių pagreičio matavimo prietaisas, kurio diapazonas yra + -3g. Šis prietaisas pagamintas naudojant polisilicio paviršiaus jutiklį ir signalo kondicionavimo grandinę pagreičiui matuoti. Šio prietaiso išvestis yra analogiško pobūdžio ir proporcinga pagreičiui. Šis prietaisas matuoja statinį sunkio pagreitį, kai jį pakreipiame. Ir suteikia judesio ar vibracijos rezultatą.
Pagal „ adxl335“ polisilicio paviršiaus ir mikromechanizuotos struktūros , uždėtos ant silicio plokštelių, duomenų lapą. Polisilicio spyruoklės pakabina konstrukciją ant plokštelės paviršiaus ir suteikia atsparumą pagreičio jėgoms. Konstrukcijos deformacija matuojama naudojant diferencialinį kondensatorių, kuriame yra nepriklausomos fiksuotos plokštės ir plokštės, pritvirtintos prie judančios masės. Fiksuotas plokštes valdo 180 ° fazinės kvadratinės bangos. Pagreitis nukreipia judančią masę ir išbalansuoja diferencinį kondensatorių, todėl gaunama jutiklio išvestis, kurios amplitudė yra proporcinga pagreičiui. Tada nustatomi pagreičio dydžiui ir krypčiai jautrūs fazėms demoduliavimo metodai.
Smeigtukas Akselerometro aprašymas
- Prie šio kaiščio turėtų prisijungti 5 V voltų maitinimas.
- X-OUT Šis kaištis suteikia analoginę išvestį x kryptimi
- Y-OUT Šis kaištis suteikia analoginę išvestį y kryptimi
- Z-OUT Šis kaištis suteikia analoginę išvestį z kryptimi
- BND žemė
- ST Šis kaištis naudojamas nustatyti jutiklio jautrumą
Grandinės schema ir paaiškinimas
Robotas, valdomas gestais, yra padalintas į dvi dalis:
- Siųstuvo dalis
- Imtuvo dalis
Siųstuvo dalyje naudojamas akselerometras ir RF siųstuvas. Kaip mes jau aptarėme, kad akselerometras suteikia analoginę išvestį, todėl čia turime konvertuoti šiuos analoginius duomenis į skaitmeninius. Šiuo tikslu vietoj bet kurios ADC mes panaudojome 4 kanalų palyginamąją grandinę. Nustatydami etaloninę įtampą, gauname skaitmeninį signalą ir tada pritaikome šį signalą HT12E kodavimo įrenginiui, kad užkoduotume duomenis arba paverstume juos į serijinę formą, o tada naudodamiesi radijo siųstuvu siunčiame šiuos duomenis į aplinką.
Imtuvo gale mes naudojome RF imtuvą duomenims priimti, tada pritaikėme HT12D dekoderį. Šis dekoderio IC konvertuoja gautus nuoseklius duomenis lygiagrečiai ir tada skaito naudodamas „arduino“. Pagal gautus duomenis mes vairuojame robotą naudodami du nuolatinės srovės variklius pirmyn, atgal, kairėn, dešinėn ir sustojimo kryptimi.
Dirba
Gestu valdomas robotas juda pagal rankos judesį, kai dedame siųstuvą į ranką. Kai pakreipiame ranką į priekį, robotas pradeda judėti į priekį ir tęsia judėjimą į priekį, kol bus pateikta kita komanda.
Kai pakreipiame ranką atgal, robotas pakeičia būseną ir pradeda judėti atgal, kol bus duota kita komanda.
Kai pakreipsime jį kairėje pusėje, robotas pasisuks kairėn iki kitos komandos.
Kai pakreipiame ranką į dešinę pusę, robotas pasuko į dešinę.
Norėdami sustabdyti robotą, mes laikome ranką stabiliai.
Siųstuvo sekcijos schema
Imtuvo sekcijos schema
Šio rankos gestais valdomo roboto grandinė yra gana paprasta. Kaip parodyta aukščiau pateiktose schemose, ryšiui naudojama RF pora ir sujungta su „arduino“. Variklio tvarkyklė yra prijungta prie „arduino“, kad paleistų robotą. Variklio vairuotojo įvesties kaiščiai 2, 7, 10 ir 15 yra prijungti prie „Arduino“ skaitmeninių kaiščių, atitinkamai 6, 5, 4 ir 3. Robotui vairuoti panaudojome du nuolatinės srovės variklius, kuriuose vienas variklis prijungtas prie 3 ir 6 variklio vairuotojo išvesties kaiščių, o kitas variklis prijungtas 11 ir 14 taškuose..
Programos paaiškinimas
Pirmiausia programoje mes nustatėme variklių išvesties kaiščius.
Tada nustatydami nurodėme, kaip prisegti.
Po to mes perskaitėme įvestį naudodami „if teiginį“ ir atlikome santykinę operaciją.
Iš viso yra penkios šio gestais valdomo roboto sąlygos:
Rankos judesys |
„Arduino“ įvestis iš gestų |
||||
Šoninė |
D3 |
D2 |
D1 |
D0 |
Kryptis |
Stabilus |
0 |
0 |
0 |
0 |
Sustabdyti |
Pakreipkite į dešinę |
0 |
0 |
0 |
1 |
Pasukite į dešinę |
Pakreipkite į kairę |
0 |
0 |
1 |
0 |
Pasukite į kairę |
Pakreipkite atgal |
1 |
0 |
0 |
0 |
Atgal |
Pakreipkite į priekį |
0 |
1 |
0 |
0 |
Persiųsti |
Mes parašėme visą programą pagal aukščiau pateiktas lentelės sąlygas. Žemiau yra visas kodas.