Índice:

Carro de controle por gestos MPU6050 e NRF24L01: 4 etapas
Carro de controle por gestos MPU6050 e NRF24L01: 4 etapas

Vídeo: Carro de controle por gestos MPU6050 e NRF24L01: 4 etapas

Vídeo: Carro de controle por gestos MPU6050 e NRF24L01: 4 etapas
Vídeo: Сделай сам | Автомобиль, управляемый жестами рук с помощью Arduino | nRF24l01 | МПУ6050 2024, Julho
Anonim

O robô de controle de gestos é um tipo comum de projetos feito por amadores. O conceito por trás disso é simples: a orientação da palma da mão controla o movimento do carro do robô. MPU6050 para detectar a orientação do pulso e transmiti-la ao arduino em valor digital. A faixa de valores é de -32768 a +32767 para cada eixo. Módulo baseado no chip NRF24L01 com comunicação bidirecional na banda de 2,4 GHz. A placa de circuito possui uma antena embutida. O módulo se comunica com microcontroladores por meio de referência SPI. O alcance de tal módulo, em teoria, é de até 100 metros. Além disso, você pode controlar a potência do transmissor para reduzir o consumo de energia. Os motores são controlados pelo módulo L298N alimentado por seis baterias AA / R6.

Etapa 1: Listar elementos

Elementos da lista
Elementos da lista

Etapa 2: Transmissor e código de esquema

Transmissor e código de esquema
Transmissor e código de esquema

Sketch DOWNLOAD

Etapa 3: receptor e código do esquema

Receptor e código de esquema
Receptor e código de esquema

Sketch DOWNLOAD

Etapa 4: configurar

Após fazer o upload dos esboços para os arduinos, conecte o receptor ao computador e abra o MONITOR SERIAL. Ligue o transmissor e veja os valores do eixo X e do eixo Y. Agora defina os valores para cada direção de viagem. Valor STOP: se o valor FORWARD for AcX 6000. O valor STOP será o intervalo entre estes valores AcX -6000.

Faça o mesmo para o eixo Y. Se o seu receptor agora estiver bem configurado, remova este código e carregue o programa.

// EXCLUIR // -----------------------------

Serial.print ("AcX:");

Serial.print (ACX);

Serial.print ("");

Serial.print ("AcY:");

Serial.print (ACY);

atraso (300);

// -----------------------------

Recomendado: