Obsah:

Robot ovládaný gestami pomocou Arduina: 7 krokov
Robot ovládaný gestami pomocou Arduina: 7 krokov

Video: Robot ovládaný gestami pomocou Arduina: 7 krokov

Video: Robot ovládaný gestami pomocou Arduina: 7 krokov
Video: Создание автомата с помощью Micro:bit 2024, Júl
Anonim
Robot ovládaný gestami pomocou Arduina
Robot ovládaný gestami pomocou Arduina

Roboty sa používajú v mnohých odvetviach, ako je stavebníctvo, armáda, výroba, montáž atď. Roboty môžu byť autonómne alebo poloautonómne. Autonómne roboty nevyžadujú žiadny ľudský zásah a môžu podľa situácie konať samy. Poloautonómne roboty pracujú podľa pokynov ľudí. Tieto poloautonómne je možné ovládať diaľkovo, telefónom, gestami atď. Predtým sme postavili niekoľko robotov založených na IoT, ktoré je možné ovládať z webového servera.

V dnešnom článku budeme stavať robota ovládaného gestami pomocou Arduino, akcelerometra MPU6050, dvojice transceiverov nRF24L01 a modulu ovládača motora L293D. Tento robot navrhneme na dve časti. Jeden je vysielač a druhý je prijímač. Sekcia vysielača pozostáva z akcelerometra a gyroskopu Arduino Uno, MPU6050 a nRF24L01, zatiaľ čo sekciu prijímača tvorí Arduino Uno, nRF24L01, dva jednosmerné motory a ovládač motora L293D. Vysielač bude fungovať ako diaľkové ovládanie robota, kde sa robot bude pohybovať podľa gest.

Krok 1: Potrebné súčasti

Vyžadované súčasti
Vyžadované súčasti
Vyžadované súčasti
Vyžadované súčasti
  • Arduino Uno (2)
  • NRF24L01 (2)
  • Motor MPU6050DC (2)
  • Modul ovládača motora L293D
  • Cesto

Akcelerometer a gyroskop MPU6050 Senzorový modul MPU6050 je kompletný 6-osový (3-osový akcelerometer a 3-osový gyroskop) mikroelektromechanický systém. Modul snímača MPU6050 má tiež snímač teploty na čipe. Má zbernicu I2C a pomocné rozhranie zbernice I2C na komunikáciu s mikrokontrolérmi a inými senzorovými zariadeniami, ako sú 3-osový magnetometer, snímač tlaku atď. Senzorový modul MPU6050 sa používa na meranie zrýchlenia, rýchlosti, orientácie, posunu a niektorých ďalších pohybov. -súvisiace parametre. Tento senzorový modul má tiež vstavaný digitálny pohybový procesor, ktorý dokáže vykonávať komplexné výpočty.

Modul prijímača a prijímača NRF24L01

nRF24L01 je jednočipový rádiový transceiver pre celosvetové pásmo ISM 2,4 - 2,5 GHz. Transceiver pozostáva z plne integrovaného frekvenčného syntetizátora, výkonového zosilňovača, kryštálového oscilátora, demodulátora, modulátora a modulu protokolu Enhanced ShockBurs. Výstupný výkon, frekvenčné kanály a nastavenie protokolu sú ľahko programovateľné prostredníctvom rozhrania SPI. Rozsah prevádzkového napätia tohto modulu transceiveru je 1,9 V až 3,6 V. Má vstavané režimy zníženia výkonu a pohotovostný režim, vďaka ktorým je úsporný a ľahko realizovateľný.

Krok 2: Práca ručne ovládaného robota ovládaného gestami pomocou Arduina

Práca ručne ovládaného robota ovládaného gestami pomocou Arduina
Práca ručne ovládaného robota ovládaného gestami pomocou Arduina
Práca ručne ovládaného robota ovládaného gestami pomocou Arduina
Práca ručne ovládaného robota ovládaného gestami pomocou Arduina

Aby sme pochopili fungovanie tohto auta na ovládanie gestami Arduino, rozdeľme tento projekt na dve časti. Prvá časť je časť vysielača (diaľková), v ktorej snímač akcelerometra MPU6050 nepretržite odosiela signály do prijímača (robota) prostredníctvom vysielača Arduino a nRF.

Druhou časťou je časť Receiver (Robot car), v ktorej prijímač nRF prijíma prenášané údaje a odosiela ich do Arduina, ktoré ich ďalej spracúva a podľa toho posúva robota.

Senzor akcelerometra MPU6050 číta súradnice X Y Z a odosiela ich do Arduina. Na tento projekt potrebujeme iba súradnice X a Y. Arduino potom skontroluje hodnoty súradníc a pošle údaje do vysielača nRF. Prenášané údaje prijíma prijímač nRF. Prijímač odosiela údaje do Arduina na strane prijímača. Arduino odovzdá údaje do IC vodiča motora a vodič motora otočí motory požadovaným smerom.

Krok 3: Schéma zapojenia

Schéma zapojenia
Schéma zapojenia
Schéma zapojenia
Schéma zapojenia

Tento robot ovládaný gestami pomocou hardvéru Arduino je rozdelený do dvoch sekcií

  1. Vysielač
  2. Prijímač

Krok 4: Obvod vysielača pre auto ovládané gestami Arduino

Obvod vysielača pre auto ovládané gestami Arduino
Obvod vysielača pre auto ovládané gestami Arduino
Obvod vysielača pre auto ovládané gestami Arduino
Obvod vysielača pre auto ovládané gestami Arduino
Obvod vysielača pre auto ovládané gestami Arduino
Obvod vysielača pre auto ovládané gestami Arduino

Sekcia vysielača tohto projektu pozostáva z akcelerometra a gyroskopu MPU6050, transceiveru nRF24L01 a Arduino Uno. Arduino nepretržite získava údaje z MPU6050 a odosiela ich do vysielača nRF. RF vysielač prenáša údaje do životného prostredia.

Krok 5: Obvod prijímača pre auto ovládané gestami Arduino

Obvod prijímača pre auto ovládané gestami Arduino
Obvod prijímača pre auto ovládané gestami Arduino
Obvod prijímača pre auto ovládané gestami Arduino
Obvod prijímača pre auto ovládané gestami Arduino
Obvod prijímača pre auto ovládané gestami Arduino
Obvod prijímača pre auto ovládané gestami Arduino

Prijímačová časť tohto gestom ovládaného robota pozostáva z Arduino Uno, transceiveru nRF24L01, 2 jednosmerných motorov a modulu ovládača motora. Prijímač NRF24L01 prijíma údaje z vysielača a odosiela ich do Arduina. Potom podľa prijatých signálov Arduino pohybuje jednosmernými motormi.

Krok 6: Vysvetlenie programu

Kompletný kód pre robota ovládaného gestami pomocou Arduina je k dispozícii tu. Ďalej vysvetľujeme program, riadok po riadku.

Bočný program vysielača

V tomto programe Arduino číta údaje z MPU6050 a odosiela ich do vysielača nRF 24L01.

1. Začnite program pridaním požadovaných súborov knižnice. Súbory knižnice si môžete stiahnuť z uvedených odkazov.

SPI.h

nRF24L01.h

Wire.h

MPU6050.h

2. Potom definujte premenné pre údaje gyroskopu a akcelerometra MPU6050. Tu sa použijú iba údaje akcelerometra.

3. Definujte adresy rádiových rúrok pre kolíky CN a CSN komunikačných a nRF vysielačov.

4. Vo funkcii neplatnosti nastavenia () spustite sériový monitor. A tiež inicializujte drôtovú a rádiovú komunikáciu. radio.setDataRate sa používa na nastavenie rýchlosti prenosu dát.

5. Prečítajte si údaje senzora MPU6050. Tu používame iba údaje akcelerometra smeru X a Y.

6. Nakoniec preneste údaje zo senzora pomocou funkcie radio.write.

Program na strane prijímača

1. Ako obvykle spustite program zahrnutím požadovaných súborov knižnice.

2. Definujte adresy rádiových rúrok pre kolíky CN a CSN komunikačných a nRF vysielačov.

3. Definujte kolíky ľavého a pravého motora DC.

4. Teraz skontrolujte, či je rádio k dispozícii alebo nie. Ak je, prečítajte si údaje.

5. Teraz porovnajte prijaté údaje a poháňajte motory podľa podmienok.

Krok 7: Testovanie robota ovládaného gestami rukou pomocou Arduina

Hneď ako bude hardvér pripravený, pripojte Arduinos na strane vysielača a prijímača a nahrajte kód. Potom pohybom akcelerometra MPU6050 ovládajte auto robota.

Kompletné fungovanie robota ovládaného gestami nájdete vo videu.

Odporúča: