Índice:
- Etapa 1: Componentes necessários
- Etapa 2: Trabalho do robô controlado por gestos manuais usando o Arduino
- Etapa 3: Diagrama de Circuito
- Etapa 4: circuito do transmissor para carro controlado por gestos do Arduino
- Etapa 5: circuito receptor para carro controlado por gestos do Arduino
- Etapa 6: Explicação do programa
- Etapa 7: Testar o robô controlado por gestos manuais usando o Arduino
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
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
- 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
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
Este robô controlado por gestos manuais usando hardware Arduino é dividido em duas seções
- Transmissor
- Receptor
Etapa 4: circuito do transmissor para carro controlado por gestos do 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
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.