Índice:

Robô controlado por gestos usando Arduino: 7 etapas
Robô controlado por gestos usando Arduino: 7 etapas

Vídeo: Robô controlado por gestos usando Arduino: 7 etapas

Vídeo: Robô controlado por gestos usando Arduino: 7 etapas
Vídeo: How to make a gesture controlled robot without micro controller | diy robot | do it yourself robot 2024, Julho
Anonim
Robô controlado por gestos usando Arduino
Robô controlado por gestos usando Arduino

Os robôs são usados em muitos setores como construção, militar, manufatura, montagem, etc. Os robôs podem ser autônomos ou semi-autônomos. Robôs autônomos não requerem nenhuma intervenção humana e podem agir por conta própria de acordo com a situação. Robôs semi-autônomos trabalham de acordo com instruções dadas por humanos. Esses semi-autônomos podem ser controlados por controle remoto, telefone, gestos, etc. Anteriormente, construímos poucos robôs baseados em IoT, que podem ser controlados a partir do servidor da web.

No artigo de hoje, vamos construir um robô controlado por gestos usando Arduino, acelerômetro MPU6050, par de transceptor nRF24L01 e módulo de driver de motor L293D. Vamos projetar este robô em duas partes. Um é o transmissor e o outro é o receptor. A seção do transmissor consiste em um Arduino Uno, acelerômetro e giroscópio MPU6050 e nRF24L01, enquanto a seção do receptor consiste em um Arduino Uno, nRF24L01, dois motores DC e um driver de motor L293D. O transmissor atuará como remoto para controlar o robô por onde o robô se moverá de acordo com os gestos.

Etapa 1: Componentes necessários

Componentes necessários
Componentes necessários
Componentes necessários
Componentes necessários
  • Arduino Uno (2)
  • NRF24L01 (2)
  • Motor MPU6050DC (2)
  • Módulo Motor L293D Motor
  • Massa

Acelerômetro e giroscópio MPU6050 O módulo sensor MPU6050 é um sistema microeletromecânico completo de 6 eixos (acelerômetro de 3 eixos e giroscópio de 3 eixos). O módulo do sensor MPU6050 também possui um sensor de temperatura no chip. Ele tem um barramento I2C e uma interface de barramento I2C auxiliar para se comunicar com os microcontroladores e outros dispositivos sensores, como magnetômetro de 3 eixos, sensor de pressão, etc. O módulo do sensor MPU6050 é usado para medir aceleração, velocidade, orientação, deslocamento e alguns outros movimentos parâmetros relacionados. Este módulo de sensor também possui um processador de movimento digital integrado que pode realizar cálculos complexos.

Módulo Transceptor NRF24L01

nRF24L01 é um transceptor de rádio de chip único para a banda ISM de 2,4 - 2,5 GHz em todo o mundo. O transceptor consiste em um sintetizador de frequência totalmente integrado, um amplificador de potência, um oscilador de cristal, um demodulador, um modulador e um mecanismo de protocolo ShockBurs aprimorado. Potência de saída, canais de frequência e configuração de protocolo são facilmente programáveis por meio de uma interface SPI. A faixa de tensão de operação deste módulo transceptor é de 1,9 V a 3,6 V. Possui modos integrados de desligamento e espera que o tornam econômico e facilmente realizável.

Etapa 2: Trabalho do robô controlado por gestos manuais usando o Arduino

Trabalho de robô controlado por gestos manuais usando Arduino
Trabalho de robô controlado por gestos manuais usando Arduino
Trabalho de robô controlado por gestos manuais usando Arduino
Trabalho de robô controlado por gestos manuais usando Arduino

Para entender o funcionamento deste carro de controle por gestos Arduino, vamos dividir este projeto em duas partes. A primeira parte é a parte do transmissor (remota) na qual o sensor do Acelerômetro MPU6050 envia sinais continuamente para o receptor (Robô) através do Arduino e do transmissor nRF.

A segunda parte é a parte do receptor (carro robô) em que o receptor nRF recebe os dados transmitidos e os envia ao Arduino, que os processa posteriormente e move o robô de acordo.

O sensor do acelerômetro MPU6050 lê as coordenadas X Y Z e envia as coordenadas para o Arduino. Para este projeto, precisamos apenas das coordenadas X e Y. O Arduino então verifica os valores das coordenadas e envia os dados para o Transmissor nRF. Os dados transmitidos são recebidos pelo Receptor nRF. O receptor envia os dados para o Arduino do lado do receptor. O Arduino passa os dados para o CI do driver do motor e o driver do motor gira os motores na direção necessária.

Etapa 3: Diagrama de Circuito

Diagrama de circuito
Diagrama de circuito
Diagrama de circuito
Diagrama de circuito

Este robô controlado por gestos manuais usando hardware Arduino é dividido em duas seções

  1. Transmissor
  2. Receptor

Etapa 4: circuito do transmissor para carro controlado por gestos do Arduino

Circuito do transmissor para carro controlado por gestos Arduino
Circuito do transmissor para carro controlado por gestos Arduino
Circuito do transmissor para carro controlado por gestos Arduino
Circuito do transmissor para carro controlado por gestos Arduino
Circuito do transmissor para carro controlado por gestos Arduino
Circuito do transmissor para carro controlado por gestos Arduino

A seção do transmissor deste projeto consiste no acelerômetro e giroscópio MPU6050, nRF24L01Transceiver e Arduino Uno. O Arduino obtém dados continuamente do MPU6050 e os envia para o transmissor nRF. O transmissor de RF transmite os dados para o ambiente.

Etapa 5: circuito receptor para carro controlado por gestos do Arduino

Circuito receptor para carro controlado por gestos Arduino
Circuito receptor para carro controlado por gestos Arduino
Circuito receptor para carro controlado por gestos Arduino
Circuito receptor para carro controlado por gestos Arduino
Circuito receptor para carro controlado por gestos Arduino
Circuito receptor para carro controlado por gestos Arduino

A seção receptora deste robô controlado por gestos consiste em Arduino Uno, transceptor nRF24L01, 2 motores DC e um módulo de driver de motor. O receptor NRF24L01 recebe os dados do transmissor e os envia para o Arduino. Então, de acordo com os sinais recebidos, o Arduino move os motores DC.

Etapa 6: Explicação do programa

Para robôs controlados por Gestos usando Arduino, o código completo está disponível aqui. Abaixo explicamos o programa linha por linha.

Programa do lado do transmissor

Neste programa, o Arduino lê os dados do MPU6050 e os envia para o transmissor nRF 24L01.

1. Inicie o programa adicionando os arquivos de biblioteca necessários. Você pode baixar os arquivos da biblioteca a partir dos links fornecidos.

SPI.h

nRF24L01.h

Wire.h

MPU6050.h

2. Em seguida, defina as variáveis para os dados do giroscópio MPU6050 e do acelerômetro. Aqui, apenas os dados do acelerômetro serão usados.

3. Defina os endereços de tubo de rádio para os pinos de comunicação e transmissores nRF CN e CSN.

4. Dentro da função void setup (), inicie o monitor serial. E também inicialize a comunicação por fio e rádio. radio.setDataRate é usado para definir a taxa de transmissão de dados.

5. Leia os dados do sensor MPU6050. Aqui, estamos usando apenas os dados do acelerômetro de direção X e Y.

6. Finalmente, transmita os dados do sensor usando a função radio.write.

Programa do lado do receptor

1. Como de costume, inicie o programa incluindo os arquivos de biblioteca necessários.

2. Defina os endereços de tubo de rádio para os pinos CN e CSN dos transmissores de comunicação e nRF.

3. Defina os pinos do motor CC esquerdo e direito.

4. Agora verifique se o rádio está disponível ou não. Se for, leia os dados.

5. Agora compare os dados recebidos e acione os motores de acordo com as condições.

Etapa 7: Testar o robô controlado por gestos manuais usando o Arduino

Quando o hardware estiver pronto, conecte os Arduinos do lado do transmissor e do receptor ao seu laptop e faça o upload do código. Em seguida, mova o acelerômetro MPU6050 para controlar o carro robô.

O funcionamento completo do robô controlado por Gestos pode ser encontrado no vídeo.

Recomendado: