InicioTarjetas de DesarrolloArduinoCómo cargar los comandos AT al módulo IOT-GA6

Cómo cargar los comandos AT al módulo IOT-GA6

En el siguiente tutorial aprenderás a cargar los comandos AT directamente al módulo IOT-GA6 GSM/GPRS y así comprobar rápidamente si se encuentra en perfectas condiciones. Para este tutorial no se programará ningún código solamente se utilizará el IDE de Arduino y la placa de Arduino Uno para proporcionar la interfaz de comunicación con entre el módulo IOT-GA6 y el monitor serie para mandar los comandos AT.

Lista de materiales:

  1. Batería de litio 3.7v a 1000mAh
  2. Modulo Iot G A6
  3. Mini Protoboard 170 Pts
  4. MicroSwitch 2 pines
  5. Dupont´s

¿Cómo cargar directamente los comandos AT al  IOT-GA6?

Lo primero que debes conocer es que este módulo para que pueda recibir y tener respuestas a los comandos AT debe estar en modo “chip enable” que en español es “Chip Habilitado”, de lo contrario no cargará ni tendrá respuesta a los comandos AT. Para activar el modo “chip enable”, debes de conectar el Pin PWR_KEY del IOT-GA6 a Vcc: 5v, esto lo debes de hacer cuando el módulo esté sin voltaje(Apagado), después enciende el módulo, deja por lo menos 5 segundos pasar y después desconecta únicamente el Pin PWR_KEY de los 5v, de esta manera el módulo cargará los comando AT. En la siguiente imagen tendrás un diagrama de conexiones que te recomendamos hacer entre el Arduino Uno y el módulo IOT-GA6 se integró un MicroSwitch de dos pines, para conectar el pin PWR_KEY a 5v, esto te ayudará a poner el módulo en “chip enable”. Las conexiones son las siguientes:

Arduino UNO –  IOT-GA6 – MicroSwitch

GND————— GND——————/

5V ——————VCC——-Pin 1 MicroSwitch

TX0—————–UTX—————–/

RX0—————–URX—————-/

/———————-PWR —–Pin 2 MicroSwitch

 
Comunicación UART – Arduino Uno y Modulo IOT GA6 Gsm
Ya que se explico como habilitar el módulo para que carguen los comandos AT y las respectivas conexiones con el Arduino Uno sigue los siguientes pasos:
  1. Realizar las conexiones entre el Arduino y el módulo IOT-GA6
  2. Oprimir el MicroSwitch
  3. Conectar el Arduino Uno al PC
  4. Esperar 5 segundos y dejar de oprimir el MicroSwitch
  5. Abrir el Arduino IDE
  6. Verificar que tengas seleccionada la placa de Arduino Uno
  7. Seleccionar el Puerto COM que a asignado el PC al Arduino Uno
  8. Abrir el monitor serie y poner 9600 baudios y Ambos NL & CR
  9. Mandar el comando “AT” dos veces
  10. Tendrás repuesta del modulo con un “OK”
  11. Mandar los comandos AT que necesites
El resultado que obtendrás será el siguiente:
IOT GA6
Comunicación UART – Arduino IDE y Módulo IOT GA6 Gsm
Nota: Si no tienes respuesta por los comando AT, verifica que realizaste bien las conexiones, el Arduino no necesita tener un código para enviar los comandos AT al módulo, pero de igual manera no debe de tener un código que esté usando una lectura UART, por TX y RX, así que tendrás que quitar ese código y cargar un ejemplo de BLINK para que no afecte la comunicación AT, recuerda que antes de cargar el BLINK, debes de desconectar lo cables de TX1 y RX0 para que cargue el programa. Si no tienes respuestas con comandos AT a 9600 baudios cambiar la velocidad a 115200.

Hacer llamadas y enviar mensajes con el módulo mini IOT-GA6 y Arduino Uno

Lo siguiente será definir en un código de Arduino los comando AT para enviar SMS y hacer llamadas, sin la necesidad de poner en modo “chip enable” el módulo, se utilizara el monitor serie para enviar la letra “s” para enviar un SMS y “c” para realizar una llamada. Solo realiza las siguientes conexiones, el modulo IOT-GA6 debe tener soldada la antena de igual forma tener SIM de manera correcta, cabe mencionar que se utilizo una batería de 3.3v a 1000mA para que el módulo tenga la suficiente corriente ya que al conectarse a una red celular, enviar mensajes y hacer llamadas demandara mas consumo de corriente. Puedes utilizar otra fuente de alimentación con un voltaje de 5V y por mínimo 1 A máximo 2A.
Arduino IOT GA6 SMS y Llamadas
Arduino IOT GA6 SMS y Llamadas
Por ultimo copia y pega el siguiente código en un archivo nuevo de Arduino, debes agregar el numero telefónico, cambiar el texto que enviara el mensaje, compila y carga el código a tu Arduino, después abre el monitor serie y envía una “s” para enviar el mensaje y c para llamar.
*El siguiente código permite enviar mensajes de SMS y hacer llamadas. 
Conexión entre Arduino Uno el módulo IOT GA6*/ 
/****************************************
*Definir librerías, instancias y constantes
*Para el módulo IOT-GA6
****************************************/ 
#include <SoftwareSerial.h> //Se incluye la librería de SoftwareSerial
SoftwareSerial IOTGA6(2, 3); //Se define los pines para la comunicación serial UART
/****************************************
*Funciones principales
****************************************/
void setup()
{
IOTGA6.begin(9600); //Configuración de la velocidad en baudios del módulo GSM
Serial.begin(9600); //Configuración de la velocidad en baudios del monitor serie (Arduino) 
}
void loop()
{
  if (Serial.available()>0) //  Verifica si hay datos en el puerto serie de Arduino.
   switch(Serial.read())   
  {
    case 's': // Si hay algo en el monitor serie, si es una letra "s" se ejecutara los comando AT que se definen en la función "envio_sms"
      envio_sms();
      break;
    case 'c': // Pero si una letra "c" se ejecutara los comando AT que se definen en la función "hacer_llamada"
      hacer_llamada();
      break;
  }
if (IOTGA6.available()>0)
   Serial.write(IOTGA6.read()); // Imprime los datos recopilados del puerto serie
}
/****************************************
*Función para enviar SMS
****************************************/
void envio_sms()
{
Serial.println("Enviado sms...");
IOTGA6.print("AT+CMGF=1\r"); // Establecer en modo envio de sms
delay(100);
IOTGA6.print("AT+CMGS=\"+52155-------\"\r"); // Ingresa el numero al que se enviara el sms
delay(200);
IOTGA6.print("Hola, Saludos de CDMXELECTRONICA"); // Contenido que llevara el sms
IOTGA6.print("\r"); 
delay(500);
IOTGA6.print((char)26);
delay(100);
IOTGA6.println();
Serial.println("SMS Enviado.");
delay(500);
}
/****************************************
*Función para hacer llamadas
****************************************/
void hacer_llamada()
{
IOTGA6.println("ATD+52155-------;"); //Ingresa el numero al que se llamara
delay(100);
IOTGA6.println();
}

TUTORIALES RELACIONADOS