Coche robot controlado por teléfono móvil con módulo DTMF

Coche robot controlado por teléfono móvil con módulo DTMF

En este proyecto vamos a controlar un robot manual a través de nuestro celular usando módulo DTMF y Arduino.

Por: Ankit Negi, Kanishk Godiyal y Navneet Singh sajwan



Coche robot controlado por teléfono móvil con módulo DTMF

INTRODUCCIÓN

En este proyecto se utilizan dos teléfonos móviles, uno para llamar y otro para recibir la llamada. El teléfono que recibe la llamada está conectado al robot a través de un conector de audio.



La persona que llama puede controlar el robot con solo presionar las teclas del teclado de marcación. (es decir, el robot se puede operar desde cualquier rincón del mundo).

COMPONENTES REQUERIDOS

1 - Arduino UNO



2 - Robot manual

3-4 motores (aquí usamos 300 r.p.m cada uno)

4 - módulo DTMF



5 - Controlador de motor

Batería de 6 a 12 voltios

7 - Interruptor

8 - Conector para auriculares

9 - Dos teléfonos móviles

10 - Conexión de cables

ACERCA DEL ROBOT MANUAL

Un robot manual consta de un chasis (carrocería) en el que se pueden acoplar tres o cuatro motores (que están atornillados con neumáticos) según los requisitos.

Los motores que se utilizarán dependen de nuestros requisitos, es decir, pueden proporcionar alta velocidad o alto par o una buena combinación de ambos. Las aplicaciones como el helicóptero cuádruple requieren motores de muy alta velocidad para levantarse contra la gravedad, mientras que aplicaciones como mover un brazo mecánico o subir una pendiente empinada requieren motores de alto par.

Ambos motores en el lado izquierdo y derecho del robot están conectados en paralelo por separado. Por lo general, están conectados a una batería de 12 voltios a través de interruptores DPDT (dos clavijas y dos posiciones).

Pero en este proyecto usaremos teléfonos móviles en lugar de DPDT para controlar el bot.

ACERCA DE MOTOR DRIVER

Arduino proporciona una corriente máxima de 40 mA utilizando pines GPIO (salida de entrada de propósito general), mientras que proporciona 200 mA utilizando Vcc y tierra.

Los motores requieren una gran corriente para funcionar. No podemos usar arduino directamente para alimentar nuestros motores, por lo que usamos un controlador de motor.

El controlador del motor contiene H Bridge (que es una combinación de transistores). El IC (L298) del controlador del motor es impulsado por 5v que es suministrado por arduino.

Para alimentar los motores, se necesita una entrada de 12v de arduino que, en última instancia, es suministrada por una batería de 12 v. Entonces, el arduino solo toma energía de la batería y se la da al controlador del motor.

Nos permite controlar la velocidad y dirección de los motores dando una corriente máxima de 2 amperios.

INTRODUCCIÓN AL MÓDULO DTMF

DTMF son las siglas de multifrecuencia de tono dual. Nuestro teclado de marcación es una frecuencia múltiple de dos tóner, es decir, un botón ofrece una mezcla de dos tonos con diferente frecuencia.

Un tono se genera a partir de un grupo de tonos de alta frecuencia, mientras que otro de un grupo de baja frecuencia. Está hecho para que ningún tipo de voz pueda imitar los tonos.

Entonces, simplemente decodifica la entrada del teclado del teléfono en un código binario de cuatro bits. Las frecuencias de los números de teclado que hemos utilizado en nuestro proyecto se muestran en la siguiente tabla.

Dígitos Baja frecuencia (hercios) Alta frecuencia (hercios) 2697133647701209677014778852133609411336

La secuencia binaria decodificada de los dígitos del teclado de marcación se muestra en la siguiente tabla.

dígito D3 D2 D1 D0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 0 1 0 1 0 * 1 0 1 1 # 1 1 0 0

DIAGRAMA DE CIRCUITO

CONEXIONES

Controlador de motor -

  • Los pines 'A' y 'B' controlan el motor del lado izquierdo, mientras que los pines 'C' y 'D' controlan el lado derecho del motor. Estos cuatro pines están conectados a los cuatro motores.
  • El pin 'E' es para alimentar IC (L298) que se toma de arduino (5v).
  • El pin 'F' está conectado a tierra.
  • El pin 'G' toma 12 voltios de energía de la batería a través del pin Vin de arduino.
  • Los pines 'H', 'I', 'J' y 'K' reciben lógica de arduino.

DTMF -

  • El pin 'a' está conectado a 3,5 voltios de arduino para alimentar el IC (SC9270D).
  • El pin 'b' está conectado a tierra.
  • La entrada de DTMF se toma del teléfono a través del conector.
  • La salida en forma de datos binarios a través de los pines (D0 - D3) va a arduino.

ARDUINO –

  • la salida de DTMF de los pines (D0 - D3) llega a los pines digitales de arduino. Podemos conectar esta salida a cualquiera de los cuatro pines digitales que varían de (2 - 13) en arduino. Aquí usamos los pines 8, 9, 10 y 11.
  • Los pines digitales 2 y 3 de arduino están conectados al pin número 'H' e 'I' del controlador del motor, mientras que los pines 12 y 13 de arduino están conectados a 'J' y 'K'.
  • El arduino está conectado a una batería de 12 voltios.

Código de programa-

|_+_|

EXPLICACIÓN DEL CÓDIGO

  1. En primer lugar, inicializamos todas las variables antes de la configuración nula.
  2. En la configuración vacía, todos los pines que se utilizarán se asignan como entrada o salida de acuerdo con su propósito.
  3. Se crea una nueva función “decodificación anulada ()”. En esta función toda la entrada binaria que obtenemos de DTMF es decodificada a decimal por arduino. Y la variable asignada para este valor decimal es a.
  4. Se realiza otra función “anular impresión ()”. Esta función se utiliza para imprimir valores de entrada desde pines DTMF.
  5. Del mismo modo, se requieren cinco funciones para realizar la tarea requerida. Estas funciones son:

void move_left () // el robot gira a la izquierda

void move_right () // el robot gira a la derecha

void move_forward () // el robot avanza

void move_backward () // el robot se mueve hacia atrás

void halt () // el robot se detiene

  1. Ahora, estas funciones se utilizan en la función de bucle vacío para realizar su tarea cada vez que se llaman de acuerdo con la entrada del teclado del teléfono móvil.

Por ejemplo:::

|_+_|

por lo tanto, cuando se presiona el botón 2 o se recibe 0010 en los pines de entrada, arduino decodifica esto y, por lo tanto, estas funciones hacen su trabajo: move_forward ()

leyendo()

descodificación()

impresión()

CIRCUITO DE FUNCIONAMIENTO

Los controles que hemos utilizado en nuestro proyecto son los siguientes:

2 - Para avanzar

4 - Para girar a la izquierda

6 - Para girar a la derecha

8 - Moverse hacia atrás

0 - para detener

Después de hacer una llamada al teléfono conectado al robot, la persona abre su teclado de marcación.

  • Si se presiona '2'. El DTMF recibe la entrada, la decodifica en su número equivalente binario, es decir, '0010' y la envía a los pines digitales de arduino. El arduino luego envía este código al controlador del motor como hemos programado cuando el código será '0010', los motores girarán en el sentido de las agujas del reloj y, por lo tanto, nuestro robot avanzará.
  • Si se presiona '4', entonces su código equivalente es '0100' y, según la programación, los motores del lado izquierdo se detendrán y solo los motores del lado derecho girarán en el sentido de las agujas del reloj y, por lo tanto, nuestro robot girará a la izquierda.
  • Si se presiona '6', el motor del lado derecho se detendrá y solo los motores del lado izquierdo girarán en el sentido de las agujas del reloj y, por lo tanto, nuestro robot girará a la derecha.
  • Si se presiona '8', nuestros motores girarán en sentido antihorario y, por lo tanto, nuestro robot se moverá hacia atrás.
  • Si se presiona '0', todos nuestros motores se detendrán y el robot no se moverá.

En este proyecto, hemos asignado una función a cinco números de teclado de marcación únicamente. Podemos agregar cualquier tipo de otro mecanismo y asignar un número de teclado a ese mecanismo para hacer una versión mejorada de este proyecto.

PUNTOS PARA TENER EN CUENTA

1 - El gato no debe estar suelto.

2 - Los tonos del teclado del teléfono deben ser máximos.

3 - Internet / Wi-Fi del teléfono receptor debe estar cerrado para evitar efectos de interferencia.

4 - El pin izquierdo (es decir, el pin 'b') de DTMF está conectado a tierra y el pin derecho (es decir, el pin 'a') está conectado a 3.3v.

Imágenes de prototipo del circuito de coche robot controlado por teléfono móvil utilizando DTMF
Demostración en vídeo de un coche RC controlado por teléfono móvil utilizando DTMF



Anterior: Introducción a EEPROM en Arduino Siguiente: Haga este robot seguidor de línea para el proyecto de la feria de ciencias