Como fazer chamadas telefônicas a partir do módulo GSM usando Arduino- (Parte 45/49)

Cómo hacer llamadas telefónicas desde el módulo GSM usando Arduino- (Parte 45/49)

Se puede utilizar un teléfono celular con cualquier red celular del mundo si se inserta la tarjeta SIM adecuada. Esto es posible porque dentro del celular hay un dispositivo que sigue un estándar global que permite la conexión a diferentes redes celulares. Este estándar se llama Sistema Global para Comunicaciones Móviles (GSM). Los teléfonos móviles tienen módulos GSM integrados que pueden ser utilizados por el procesador interno del teléfono para realizar una llamada, enviar o recibir mensajes o incluso conectarse a la red GPRS.

En determinadas aplicaciones, los sistemas basados ​​en microcontroladores deben estar conectados a la red GSM, lo que permitirá al usuario controlar el sistema enviando mensajes o realizando una llamada. Los sistemas también pueden enviar mensajes al usuario para alertarlo o informarle sobre el estado del sistema en ejecución. En todos estos casos, se utiliza un módulo GSM independiente en lugar de utilizar teléfonos móviles. Hay módulos GSM disponibles que pueden realizar comunicación en serie con sistemas basados ​​en microcontroladores. La comunicación se realiza enviando o recibiendo comandos AT .

Este proyecto específico demuestra cómo conectar un módulo GSM con Arduino y hacer que llamen a un número de teléfono celular específico. El módulo GSM en este proyecto interactúa con la plataforma de creación de prototipos fácil Arduino, lo que hace que el circuito de hardware sea simple y fácil de escribir código utilizando el entorno de programación basado en C.

El módulo GSM utilizado en este proyecto es un módulo basado en SIM900 que puede comunicarse con otros dispositivos utilizando el puerto de comunicación serie RS232. Funciona con una fuente de alimentación de 9V y su imagen se muestra a continuación:

 Módulo SIM900 GSM conectado ao pino Tx do módulo da placa Arduino através de Max232

Fig. 2: Módulo GSM SIM900 conectado al pin Tx del módulo de la placa Arduino a través de max232

Arduino es un hardware de código abierto donde el esquema del hardware está abierto; cualquiera puede usar este esquema para desarrollar su placa Arduino y distribuirla. El IDE de Arduino también es de código abierto y cualquiera puede contribuir con sus bibliotecas a Arduino. Todas las placas Arduino deben ser compatibles con Arduino IDE, que se puede utilizar para programar placas Arduino.

La placa Arduino utilizada en este proyecto es la placa Arduino pro-mini y la versión IDE de Arduino es 1.0.3 para Windows. La imagen de la placa Arduino pro-mini y el IDE de Arduino se muestra a continuación:

Fig. 3: Placa típica Arduino Pro-Mini

Fig. 4: Ventana del software Arduino IDE

Dado que la placa Arduino pro-mini no tiene circuitos para interactuar con el puerto serie o el puerto USB de la PC, se requiere una placa convertidora USB a TTL externa para conectarla a la PC. Este hardware ayuda a programar la placa Arduino y también ayuda en la comunicación serie con el puerto USB de la PC.

5: Placa convertidora externa de USB a TTL para programación Arduino y comunicación en serie

Se supone que el lector ha leído el plano sobre cómo empezar a utilizar Arduino y ha probado todo lo que allí se comenta.

La placa Arduino puede actuar como un sistema independiente con la capacidad de recibir entradas, procesarlas y luego generar la salida correspondiente. Es a través de estas entradas y salidas que Arduino como sistema puede comunicarse con el entorno. Las placas Arduino se comunican con otros dispositivos mediante puertos de comunicación de entrada/salida digitales estándar como USART, IIC y USB, etc.

En este proyecto en particular, el módulo GSM está conectado a la placa Arduino mediante el puerto de comunicación serie. Dado que el módulo tiene un puerto RS232 y el Arduino pro-mini puede comunicarse utilizando niveles lógicos TTL, se utiliza un IC max232 para realizar una conversión bidireccional entre los niveles lógicos RS232 y TTL. El pin Tx de la placa Arduino está conectado al pin Rx del módulo GSM a través de max232 y el pin Rx del Arduino está conectado al pin Tx del módulo GSM usando el propio max232.

El código escrito en Arduino es capaz de comunicarse con el módulo GSM mediante comandos AT . Los comandos AT se envían o reciben desde el módulo utilizando las funciones de comunicación en serie proporcionadas por la biblioteca Arduino. En este caso se utilizan funciones como Serial.begin que ayuda a inicializar el puerto serie con una determinada velocidad en baudios, Serial.write para enviar datos al puerto serie, Serial.available y Serial.read para leer datos del puerto serie. proyecto y ya se han discutido en proyectos anteriores sobre cómo realizar comunicación en serie con Arduino, cómo enviar y recibir datos en serie usando Arduino y cómo realizar depuración en serie con Arduino.

Los módulos GSM responden "OK" cuando reciben el comando "AT" y es la mejor manera de verificar la comunicación entre el módulo y el microcontrolador. El comando para realizar una llamada a un número es “ATD”;

SINTAXIS: ATD ;(Ingresar)

Por ejemplo,

ATD123456789;

Intente enviar el comando desde la PC con la ayuda de algún software de monitoreo en serie y asegúrese de que el módulo esté realizando una llamada al número especificado. Luego puedes verificar y cargar el código que puede enviar los mismos comandos a la placa Arduino como se explica en el proyecto cómo comenzar a usar Arduino. Una vez que la placa se reinicia después de cargar exitosamente el código, Arduino envía el mismo comando al módulo GSM permitiéndole realizar una llamada de voz al número especificado en el código.

Asegúrese de que el módulo GSM se haya encendido al menos 2 minutos antes de que la placa Arduino comience a enviar comandos para que GSM establezca comunicación con la red celular correspondiente a la tarjeta SIM insertada en ella.

Código fuente del proyecto

 ###




 /*============================= EG LABS ================== ===================//

 Demostración sobre cómo conectar el módulo GSM y realizar una llamada.


 El circuito:

 LCD:

 * Pin LCD RS a pin digital 12

 * LCD habilita pin a pin digital 11

 * Pin LCD D4 a pin digital 7

 * Pin LCD D5 a pin digital 6

 * LCD D6 pin a digital pin 5

 * Pin LCD D7 a pin digital 4

 * LCD R/W pin a tierra

 * Resistencia de 10K:

 * termina en +5V y tierra

 *limpiador al pin 3 del LCD

 * Ánodo LED conectado a la salida digital 9

 * Cátodo LED conectado a tierra a través de una resistencia de 1K


 GSM:

 PIN RX DE GSM AL PIN TX0 DE ARDUINO

 CORTO LOS PINES DE TIERRA DE ARDUINO Y GSM

 =============================== EG LABS ================== = ==================*/


 #incluir
 
// inicializa la biblioteca con los números de los pines de la interfaz

 LCD de cristal líquido (12, 11, 7, 6, 5, 4);


 // le damos un nombre al pin:

 LED int = 9;


 configuración vacía

 {

 pinMode(9, SALIDA);

 lcd.comenzar(16, 2);

 lcd.print("GARAJE PARA INGENIEROS");

 lcd.setCursor(0, 1);

 lcd.print(" LLAMADA GSM ");



 // inicializa el pin del led como salida.

 pinMode(led, SALIDA);

 // inicia el puerto serie a 9600 bps

 Serie.begin(9600);

 //espera un momento hasta que el puerto serie esté listo

 retraso(100);


 Serie.print("ATD09895941988;nr");

 }


 bucle vacío

 {

 escritura digital (led, ALTA);

 retraso(1000);

 escritura digital (led, BAJO);

 retraso(1000);

 }

 ###

Diagramas de circuito

Diagrama de circuito para realizar llamadas telefónicas con Arduino

Componentes del proyecto

  • Arduino Pro Mini
  • Condensador
  • LCD
  • CONDUJO
  • MAX232
  • Potenciómetro
  • Resistor

Vídeo del proyecto

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.