Taula de continguts:

Robot controlat per gestos mitjançant Arduino: 7 passos
Robot controlat per gestos mitjançant Arduino: 7 passos

Vídeo: Robot controlat per gestos mitjançant Arduino: 7 passos

Vídeo: Robot controlat per gestos mitjançant Arduino: 7 passos
Vídeo: Braç robòtic controlat per intel·ligència artificial emprant Raspberry Pi i Arduino 2024, De novembre
Anonim
Robot controlat per gestos mitjançant Arduino
Robot controlat per gestos mitjançant Arduino

Els robots s'utilitzen en molts sectors com la construcció, el militar, la fabricació, el muntatge, etc. Els robots poden ser autònoms o semi-autònoms. Els robots autònoms no requereixen cap intervenció humana i poden actuar sols segons la situació. Els robots semi-autònoms funcionen segons les instruccions donades pels humans. Aquests semi-autònoms es poden controlar mitjançant control remot, telèfon, gestos, etc. Anteriorment vam construir pocs robots basats en IoT, que es poden controlar des del servidor web.

A l’article d’avui, crearem un robot controlat per gestos amb Arduino, accelerador MPU6050, parell de transceptors nRF24L01 i mòdul de controlador de motor L293D. Dissenyarem aquest robot en dues parts. Un és el transmissor i l’altre és el receptor. La secció del transmissor està formada per un Arduino Uno, l’acceleròmetre i el giroscopi MPU6050 i nRF24L01, mentre que la secció del receptor consta d’un Arduino Uno, nRF24L01, dos motors de corrent continu i un controlador de motor L293D. El transmissor actuarà com a control remot per controlar el robot on el robot es mourà segons els gestos.

Pas 1: components necessaris

Components necessaris
Components necessaris
Components necessaris
Components necessaris
  • Arduino Uno (2)
  • NRF24L01 (2)
  • Motor MPU6050DC (2)
  • Mòdul de controlador de motor L293D
  • Arrebossat

Acceleròmetre i giroscopi MPU6050 El mòdul de sensor MPU6050 és un sistema micro-electromecànic complet de 6 eixos (acceleròmetre de 3 eixos i giroscopi de 3 eixos). El mòdul de sensor MPU6050 també té un sensor de temperatura al xip. Té un bus I2C i una interfície auxiliar de bus I2C per comunicar-se amb els microcontroladors i altres dispositius sensorials com magnetòmetre de 3 eixos, sensor de pressió, etc. El mòdul sensor MPU6050 s’utilitza per mesurar l’acceleració, la velocitat, l’orientació, el desplaçament i algun altre moviment -paràmetres relacionats. Aquest mòdul de sensor també té un processador de moviment digital incorporat que pot realitzar càlculs complexos.

Mòdul de transceptor NRF24L01

nRF24L01 és un transceptor de ràdio d’un sol xip per a la banda ISM mundial de 2,4 - 2,5 GHz. El transceptor consisteix en un sintetitzador de freqüències totalment integrat, un amplificador de potència, un oscil·lador de cristall, un demodulador, un modulador i un motor de protocol ShockBurs millorat. La potència de sortida, els canals de freqüència i la configuració del protocol es poden programar fàcilment mitjançant una interfície SPI. El rang de tensió de funcionament d’aquest mòdul de transceptor és d’1,9 V a 3,6 V. Té modes d’apagat i d’espera integrats que el fan estalviar energia i fàcilment realitzable.

Pas 2: Funcionament del robot controlat amb gestos manuals mitjançant Arduino

Funcionament del robot controlat amb gestos manuals mitjançant Arduino
Funcionament del robot controlat amb gestos manuals mitjançant Arduino
Funcionament del robot controlat per gest manual mitjançant Arduino
Funcionament del robot controlat per gest manual mitjançant Arduino

Per entendre el funcionament d’aquest cotxe de control de gestos Arduino, dividim aquest projecte en dues parts. La primera part és la part del transmissor (remota) en què el sensor acceleròmetre MPU6050 envia senyals contínuament al receptor (robot) a través del transmissor Arduino i nRF.

La segona part és la part del receptor (cotxe robot) en què el receptor nRF rep les dades transmeses i les envia a Arduino, que les processa més i mou el robot en conseqüència.

El sensor d’acceleròmetre MPU6050 llegeix les coordenades X Y Z i envia les coordenades a l’Arduino. Per a aquest projecte, només necessitem coordenades X i Y. A continuació, Arduino comprova els valors de les coordenades i envia les dades al transmissor nRF. Les dades transmeses les rep el receptor nRF. El receptor envia les dades a l’Arduino del costat del receptor. Arduino transmet les dades al controlador IC del motor i el conductor gira els motors en la direcció requerida.

Pas 3: diagrama del circuit

Esquema de connexions
Esquema de connexions
Esquema de connexions
Esquema de connexions

Aquest robot controlat amb gestos manuals que utilitza maquinari Arduino es divideix en dues seccions

  1. Emissor
  2. Receptor

Pas 4: Circuit del transmissor per al cotxe controlat per gest Arduino

Circuit de transmissor per a cotxe controlat per gest Arduino
Circuit de transmissor per a cotxe controlat per gest Arduino
Circuit de transmissor per a cotxe controlat per gest Arduino
Circuit de transmissor per a cotxe controlat per gest Arduino
Circuit de transmissor per a cotxe controlat per gest Arduino
Circuit de transmissor per a cotxe controlat per gest Arduino

La secció de transmissors d’aquest projecte consta de l’acceleròmetre i giroscopi MPU6050, el transceptor nRF24L01 i l’Arduino Uno. L'Arduino rep dades contínuament del MPU6050 i les envia al transmissor nRF. El transmissor de RF transmet les dades a l’entorn.

Pas 5: circuit del receptor per al cotxe controlat per gest Arduino

Circuit receptor per a cotxe controlat per gest Arduino
Circuit receptor per a cotxe controlat per gest Arduino
Circuit receptor per a cotxe controlat per gest Arduino
Circuit receptor per a cotxe controlat per gest Arduino
Circuit receptor per a cotxe controlat per gest Arduino
Circuit receptor per a cotxe controlat per gest Arduino

La secció del receptor d’aquest robot controlat per gestos està formada per Arduino Uno, transceptor nRF24L01, 2 motors de corrent continu i un mòdul de controlador de motor. El receptor NRF24L01 rep les dades del transmissor i les envia a Arduino. Després, segons els senyals rebuts, Arduino mou els motors de corrent continu.

Pas 6: explicació del programa

Per al robot controlat per gestos que utilitza Arduino, el codi complet està disponible aquí. A continuació expliquem el programa línia per línia.

Programa lateral del transmissor

En aquest programa, Arduino llegeix les dades del MPU6050 i les envia al transmissor nRF 24L01.

1. Comenceu el programa afegint els fitxers de biblioteca necessaris. Podeu descarregar els fitxers de la biblioteca des dels enllaços indicats.

SPI.h

nRF24L01.h

Wire.h

MPU6050.h

2. A continuació, definiu les variables per a les dades del giroscopi i l’acceleròmetre MPU6050. Aquí només s’utilitzaran les dades de l’acceleròmetre.

3. Definiu les adreces de la canonada de ràdio per a la comunicació i els transmissors nRF dels pins CN i CSN.

4. Dins de la funció void setup (), comenceu el monitor sèrie. I també inicialitzeu la comunicació per cable i per ràdio. radio.setDataRate s’utilitza per establir la velocitat de transmissió de dades.

5. Llegiu les dades del sensor MPU6050. Aquí només fem servir dades de l’acceleròmetre de direcció X i Y.

6. Finalment, transmeteu les dades del sensor mitjançant la funció radio.write.

Programa lateral del receptor

1. Com és habitual, inicieu el programa incloent els fitxers de biblioteca necessaris.

2. Definiu les adreces de la canonada de ràdio per a la comunicació i els transmissors nRF dels pins CN i CSN.

3. Definiu els passadors del motor de corrent continu esquerre i dret.

4. Ara comproveu si la ràdio està disponible o no. Si és així, llegiu les dades.

5. Ara compareu les dades rebudes i conduïu els motors segons les condicions.

Pas 7: provar el robot controlat amb gestos manuals mitjançant Arduino

Quan el maquinari estigui a punt, connecteu el transmissor i el receptor Arduinos al vostre ordinador portàtil i pengeu el codi. A continuació, moveu l’acceleròmetre MPU6050 per controlar el robot Car.

Es pot trobar el funcionament complet del robot controlat per gestos al vídeo.

Recomanat: