- Componentes necessários:
- Criação de interface para o robô usando o aplicativo RemoteXY:
- Diagrama de circuito e explicação:
- Explicação do código:
- Como executá-lo:
Neste artigo, vamos controlar o Robot Car através do sensor G do nosso telemóvel e poderá mover o Robot apenas inclinando o Phone. Também usaremos o aplicativo Arduino e RemoteXY para este robô controlado por G-Sensor. O aplicativo RemoteXY é usado para criar a interface no telefone inteligente para controlar o robô. Vamos adicionar o joystick na interface para que o Robot também possa ser controlado pelo Joystick, bem como pela inclinação do telefone.
G-Sensor ou sensor de gravidade é basicamente um acelerômetro no smartphone que é usado para controlar a orientação da tela do telefone. O acelerômetro detecta as direções X, Y, Z da força gravitacional e gira a tela de acordo com o alinhamento do telefone. Hoje em dia, o sensor de giroscópio mais sensível e preciso é usado em celulares para decidir a orientação da tela. Em nosso projeto, o carro robô se moverá de acordo com a direção na qual o telefone está sendo inclinado, como quando inclinamos o telefone para frente, o carro se moverá para frente e se o inclinarmos para baixo, o carro se moverá para trás. É o mesmo que quando jogamos alguns jogos de carro no celular, eles também usam o sensor G para mover o carro de acordo. Confira o Vídeo ao final, confira também nossos outros Projetos de Robótica aqui.
Componentes necessários:
- Chassi do carro robô de duas rodas
- Arduino UNO
- Controlador de motor L298N
- Módulo Bluetooth HC-06 (HC-05 também funcionará)
- Fonte de alimentação ou células
- Fios de conexão
Criação de interface para o robô usando o aplicativo RemoteXY:
Para criar a interface para controlar o Robot Car usando o aplicativo RemoteXY, você terá que ir ao seguinte link
remotexy.com/en/editor/ A página da web será semelhante a esta
Em seguida, do lado esquerdo da tela, pegue o botão de troca e o joystick e coloque-o na interface móvel. O botão acenderá a luz no pino 13 que está conectado internamente no Arduino e o joystick moverá o carro do robô. A página da Web após colocar o botão e o joystick terá esta aparência.
Em seguida, teremos que colocar o botão de ativação / desativação do sensor G junto com o joystick, de modo que possamos mover o Robot Car inclinando o telefone para a esquerda, direita, para cima e para baixo. Usando esse botão, podemos ativar e desativar o sensor G, quando o sensor G está desativado O carro pode ser controlado movendo o Joystick. Então, para colocar o botão de ativação / desativação do sensor G, clique no joystick que você colocou na interface e do lado esquerdo haverá uma seção de propriedades, haverá uma opção no final para colocar o botão do sensor G próximo ao joystick, então coloque o botão do sensor G onde quiser. A página da Web após esta será semelhante a esta.
Em seguida, clique no botão “Obter código-fonte” e salve em seu computador. Baixe a biblioteca aqui e salve-a na pasta da biblioteca do Arduino. Compile o código baixado para verificar se não há erros. Este não é o código que executará o Robot, mas ajudará no uso do App com o Arduino. Baixe o aplicativo aqui ou vá para a Play Store e baixe o aplicativo RemoteXY de lá para seu smartphone Android.
Diagrama de circuito e explicação:
Em primeiro lugar, faremos a interface do controlador de motor L298N com o Arduino. Conecte o pino ENA e ENB do controlador do motor ao pino 12 e 11 do Arduino, respectivamente. Esses dois pinos são para o controle PWM do motor. Usando esses pinos, podemos aumentar ou diminuir a velocidade do carro. Em seguida, conecte IN1, IN2, IN3 e IN4 aos pinos 10, 9, 8 e 7 do Arduino, respectivamente. Esses pinos irão girar os motores em ambas as direções (sentido horário e anti-horário).
Para alimentar o motor, conecte o positivo e o negativo da bateria aos 12 V e o aterramento do controlador do motor. Em seguida, conecte o 5 V e o aterramento do controlador do motor ao Arduino Vin e o aterramento.
Em seguida, conectaremos o módulo Bluetooth HC-06 com o arduino. Se você tiver o HC-05, ele também funcionará. Conecte o VCC e o aterramento do módulo Bluetooth ao 5V e o aterramento do Arduino. Em seguida, conecte o pino TX do Módulo Bluetooth ao pino 2 do Arduino e o pino RX ao pino 3 do Arduino. Verifique também o carro de brinquedo controlado por Bluetooth usando Arduino para saber mais sobre como usar Bluetooth com Arduino.
Explicação do código:
O código Arduino completo para este carro robô controlado por celular é fornecido abaixo na seção Código, aqui vamos entender como esse código está funcionando.
Em primeiro lugar, incluímos as bibliotecas para Software Serial e RemoteXY. A biblioteca RemoteXY nos ajudará a configurar o aplicativo com o Arduino, através do qual controlaremos o carro robô. Depois disso, definimos os pinos para o módulo Bluetooth, TX do módulo Bluetooth é conectado ao pino 2 do Arduino que é o pino RX do Arduino e o RX do módulo Bluetooth é conectado ao pino 3 do Arduino que é o pino TX do Arduino e defina a taxa de transmissão do módulo Bluetooth em 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL #include
O código a seguir aumentará ou diminuirá a velocidade do motor. Quando o joystick estiver no centro, a velocidade será zero e quando estiver na direção para frente, a velocidade aumentará de zero a 100. A velocidade diminuirá de 0 a -100 quando o carro se mover no direção oposta. O carro também pode ser movido em uma velocidade específica, isso pode ser feito dando o sinal PWM. O sinal pwm será dado aos motores de acordo com a rotação do joystick.
if (velocidade_motor> 100) velocidade_motor = 100; if (velocidade_motor <-100) velocidade_motor = -100; if (velocidade_motor> 0) {digitalWrite (ponteiro, ALTO); digitalWrite (ponteiro, LOW); analogWrite (ponteiro, motor_speed * 2.55); } else if (velocidade_motor <0) {digitalWrite (ponteiro, BAIXO); digitalWrite (ponteiro, HIGH); analogWrite (ponteiro, (-motor_speed) * 2.55); } else {digitalWrite (ponteiro, LOW); digitalWrite (ponteiro, LOW); analogWrite (ponteiro, 0); }
No código a seguir, definimos a função que será chamada sempre que movermos o joystick no aplicativo. Quando ligarmos a chave no aplicativo, a lógica 1 será dada ao pino 13 do Arduino que liga o pino do LED. Ao mover o carro robô para frente e para trás, a função Velocidade será chamada.
loop void () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Velocidade (primeiro_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Velocidade (segundo_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Como executá-lo:
Adicione a biblioteca do RemoteXY às bibliotecas do Arduino e carregue o código no IDE do Arduino. Em seguida, baixe o aplicativo no seu celular e ligue o Bluetooth. A interface do aplicativo será semelhante a esta
Em seguida, vá para Bluetooth e ligue o Bluetooth lá. Depois de ligá-lo, ele mostrará os dispositivos Bluetooth. Selecione seu módulo HC-06 Bluetooth de lá, ele o levará à interface, de onde você pode controlar o Robot Car.
É assim que podemos usar o sensor de gravidade dentro do nosso telefone celular para mover o robô. Você pode experimentar e encontrar um uso mais interessante do sensor G para controlar as coisas externas, fazendo a interface de um Microcontorller (como o Arduino).