- Componentes requeridos:
- Creación de una interfaz para Robot usando la aplicación RemoteXY:
- Diagrama de circuito y explicación:
- Explicación del código:
- Cómo ejecutarlo:
En este artículo vamos a Controlar el Coche Robot a través del sensor G de nuestro teléfono móvil y podrás mover el Robot con solo inclinar el Teléfono. También usaremos la aplicación Arduino y RemoteXY para este robot controlado por sensor G. La aplicación RemoteXY se utiliza para crear la interfaz en el teléfono inteligente para controlar el robot. Agregaremos el joystick en la interfaz para que Robot también pueda ser controlado por Joystick así como inclinando el teléfono.
G-Sensor o sensor de gravedad es básicamente un acelerómetro en un teléfono inteligente que se utiliza para controlar la orientación de la pantalla del teléfono. El acelerómetro detecta las direcciones X, Y, Z de la fuerza gravitacional y gira la pantalla de acuerdo con la alineación del teléfono. Hoy en día, los teléfonos móviles utilizan un sensor de giroscopio más sensible y preciso para decidir la orientación de la pantalla. En nuestro proyecto, el automóvil robot se moverá, de acuerdo con la dirección en la que se inclina el teléfono, como cuando inclinamos el teléfono hacia adelante, luego el automóvil se moverá hacia adelante y lo inclinamos hacia abajo y luego el automóvil se moverá hacia atrás. Esto es lo mismo que cuando jugamos algunos juegos de autos en Mobile, también usan el sensor G para mover el auto en consecuencia. Vea el video al final, también vea nuestros otros proyectos de robótica aquí.
Componentes requeridos:
- Chasis de coche robot de dos ruedas
- Arduino UNO
- Controlador de motor L298N
- Módulo Bluetooth HC-06 (HC-05 también funcionará)
- Fuente de alimentación o celdas
- Cables de conexión
Creación de una interfaz para Robot usando la aplicación RemoteXY:
Para crear la interfaz para controlar el Robot Car usando la aplicación RemoteXY, deberá ir al siguiente enlace
remotexy.com/en/editor/ La página web se verá así
Luego, desde el lado izquierdo de la pantalla, levante el botón de cambio y el joystick y colóquelo en la interfaz móvil. El botón encenderá la luz en el pin 13 que está conectado internamente en el Arduino y el joystick moverá el carro robot. La página web después de colocar el interruptor y el joystick se verá así.
Luego tendremos que colocar el botón de habilitar / deshabilitar el sensor G junto con el joystick, para que podamos mover el Robot Car inclinando el teléfono hacia la izquierda, derecha, arriba y abajo. Usando ese botón podemos habilitar y deshabilitar el sensor G, cuando el sensor G está deshabilitado, el automóvil se puede controlar moviendo el Joystick. Entonces, para colocar el botón de activación / desactivación del sensor G, haga clic en el joystick que colocó en la interfaz y en el lado izquierdo habrá una sección de propiedades, habrá una opción al final para colocar el botón del sensor G cerca del joystick, así que coloque el botón del sensor G donde quiera. La página web que sigue a esta se verá así.
Después de eso, haga clic en el botón "Obtener código fuente" y guárdelo en su computadora. Descargue la biblioteca desde aquí y guárdela en la carpeta de la biblioteca Arduino. Compile el código descargado para verificar que no haya errores. Este no es el código que ejecutará el robot, pero ayudará a usar la aplicación con Arduino. Descargue la aplicación desde aquí o vaya a Play Store y descargue la aplicación RemoteXY desde allí para su teléfono inteligente Android.
Diagrama de circuito y explicación:
En primer lugar, conectaremos el controlador de motor L298N con el Arduino. Conecte el pin ENA y ENB del controlador del motor al pin 12 y 11 de Arduino respectivamente. Estos dos pines son para el control PWM del motor. Usando estos pines, podemos aumentar o disminuir la velocidad del automóvil. Luego conecte el IN1, IN2, IN3 e IN4 a los pines 10, 9, 8 y 7 de Arduino respectivamente. Estos pines harán girar los motores en ambas direcciones (en sentido horario y antihorario).
Para alimentar el motor, conecte el positivo y el negativo de la batería a los 12V y la tierra del controlador del motor. Luego conecte los 5V y la tierra desde el controlador del motor al Arduino Vin y la tierra.
Luego conectaremos el módulo Bluetooth HC-06 con el arduino. Si tiene HC-05, también funcionará. Conecte el VCC y la tierra del módulo Bluetooth al 5V y la tierra del Arduino. Luego conecte el pin TX del Módulo Bluetooth al pin 2 de Arduino y el pin RX al pin 3 de Arduino. También consulte Coche de juguete controlado por Bluetooth usando Arduino para obtener más información sobre el uso de Bluetooth con Arduino.
Explicación del código:
El código completo de Arduino para este coche robot controlado por móvil se proporciona a continuación en la sección Código, aquí entenderemos cómo funciona este código.
En primer lugar, hemos incluido las bibliotecas para Software Serial y RemoteXY. La biblioteca RemoteXY nos ayudará a configurar la aplicación con Arduino, a través del cual controlaremos el automóvil robot. Después de eso, hemos definido los pines para el módulo Bluetooth, TX del módulo Bluetooth está conectado al pin 2 de Arduino que es el pin RX de Arduino y el RX del módulo Bluetooth está conectado al pin 3 del Arduino que es el pin TX de Arduino y establece la velocidad en baudios del módulo Bluetooth en 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL #include
El siguiente código aumentará o disminuirá la velocidad del motor. Cuando el joystick esté en el centro, la velocidad será cero y cuando esté en la dirección de avance, la velocidad aumentará de cero a 100. La velocidad disminuirá de 0 a -100 cuando el automóvil se mueva en el direccion contraria. El automóvil también se puede mover a una velocidad específica, esto se puede hacer dando la señal PWM. La señal pwm se dará a los motores según la rotación del joystick.
if (motor_speed> 100) motor_speed = 100; if (motor_speed <-100) motor_speed = -100; if (motor_speed> 0) {digitalWrite (puntero, ALTO); digitalWrite (puntero, BAJO); analogWrite (puntero, motor_speed * 2.55); } else if (motor_speed <0) {digitalWrite (puntero, BAJO); digitalWrite (puntero, ALTO); analogWrite (puntero, (-motor_speed) * 2.55); } else {digitalWrite (puntero, BAJO); digitalWrite (puntero, BAJO); analogWrite (puntero, 0); }
En el siguiente código, hemos definido la función a la que se llamará cada vez que movamos el joystick en la aplicación. Cuando encienda el interruptor en la aplicación, entonces se le dará el 1 lógico al pin 13 del Arduino que enciende el pin LED. Mientras mueve el carro robot en dirección hacia adelante y hacia atrás, se llamará a la función Velocidad .
bucle vacío () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Velocidad (primer_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Velocidad (segundo_motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }
Cómo ejecutarlo:
Agregue la biblioteca de RemoteXY a las bibliotecas de Arduino y cargue el código en el IDE de Arduino. Luego descargue la aplicación en su teléfono móvil y luego encienda el Bluetooth. La interfaz de la aplicación se verá así
Luego vaya a Bluetooth y encienda el Bluetooth allí. Después de encenderlo, le mostrará los dispositivos Bluetooth. Seleccione su módulo Bluetooth HC-06 desde allí, lo llevará a la interfaz, desde donde puede controlar el Robot Car.
Así es como podemos usar el sensor de gravedad dentro de nuestro teléfono móvil para mover el robot. Puede experimentar más y encontrar un uso más interesante del sensor G para controlar las cosas externas mediante la interfaz de un Microcontorlador en el medio (como Arduino).