Lo primero que se debe
hacer es soldar las regletas a tu módulo, te recomendamos hacerlo con mucho
cuidado porque sólo tienes una oportunidad para que una soldadura quede
perfecta. Lo segundo a tener en cuenta es que mientras se hace uso de ciertas
funciones del módulo SIM800L, este puede llegar a hacer circular por su
circuito de alimentación hasta 2A, por lo tanto el módulo no debe ser conectado
a ninguna fuente de alimentación que no esté preparada para tales
requerimientos, mucho menos a los pines de tu tarjeta Arduino. Lo tercero a
tener en cuenta es que este módulo trabaja con un voltaje de 3.4V a 4.4V; esta
es otra razón para no conectarlo a tu Arduino pues las tensiones que este
usualmente maneja son: 3.3V, que es muy poco, y 5V que es demasiado. Una fuente
de alimentación recomendada para este dispositivo es el conversor DC-DC LM2596,
al cual podrías ajustar a estas especificaciones.
Lo siguiente a tener en
cuenta es la conexión a la red GSM. Una vez insertes tu Simcard correctamente en
el módulo notarás que la luz roja parpadea cada 2 segundos aproximadamente (con
o sin Simcard); una vez el módulo se conecte exitosamente a la red la luz
empezará a parpadear cada 5 segundos aproximadamente, seguro notarás la
diferencia.
Finalmente, lo último y
no menos importante a tener en cuenta es que este módulo se comunica con
nuestro Arduino por medio de comandos AT. Los comandos AT son unas
instrucciones codificadas en un leguaje especialmente diseñado para configurar
módems. Existe una lista extremadamente extensa de las instrucciones que le
pueden se dadas al módulo por medio de estos comandos, tal lista podrás
encontrarla fácilmente en internet en el manual de comandos AT para la serie
SIM800.
Este modo de
comunicación por comandos AT con la placa Arduino permite también que sea
necesario un reducido número de pines para el control del módulo, los más
esenciales son la alimentación positiva y negativa, antena y los pines TXD y
RXD, para transmisión y recepción de datos y comandos.
Pines
del Módulo:
NET = Conexión de la Antena
VCC = Alimentación
positiva
RST = Entrada de reset
del módulo
RXD = Comunicación
TXD = Comunicación
GND = Referencia
negativa
RING = Indicador de que
está sonando
DTR = Control para el
modo sleep
MICP = Entrada
diferencial de audio
MICN = Entrada
diferencial de audio
SPKP = Salida diferencial de audio
SPKN = Salida
diferencial de audio
Conexión
con Arduino UNO:
A continuación
mostraremos un programa con el que podremos controlar el módulo SIM800L por medio
del módulo serial y comandos AT. Y
daremos una lista ilustrativa de los comandos a ingresar para enviar y leer
mensajes SMS, fíjate que tu Simcard tenga deshabilitado el código PIN.
-------------------------------------------------------------------------------------
Código:
#include <SoftwareSerial.h> // Incluimos la libreria SoftwareSerial que
nos permitirá la comunicación por un nuevo puerto serial
SoftwareSerial mySerial(8, 9); //
Declaramos los pines RX(8) y TX(7) que vamos a usar
int count
= 0;
unsigned
char buffer_o[64];
void setup() {
Serial.begin(9600); // Iniciamos la comunicacion serie
mySerial.begin(9600); //
Iniciamos una segunda comunicacion serie
}
void loop() {
// Si hay datos del módulo
while (mySerial.available()) {
buffer_o[count++] = mySerial.read(); // Los desplegamos en el monitor serial
if (count == 64) break;
}
Serial.write(buffer_o,count);
clearBufferArray();
count = 0;
// Si se han ingresado datos por el monitor serial
if (Serial.available())
{
byte b = Serial.read();
if (b == '*')
mySerial.write(char(26));
else
mySerial.write(b);
}
}
void
clearBufferArray()
{
for (int i = 0; i < count; i++)
{
buffer_o[i] = NULL;
}
}
--------------------------------------------------------------------------------------
LISTA
DE COMANDOS AT EJECUTAR EN EL PUERTO
SERIAL:
Nota: cuando veas “<ENTER>” significa
que debes presionar la tecla Enter
- ¿Cómo enviar un mensaje de texto con comandos AT desde el puerto serial?:
Escribes
: AT+CMGF=1 <ENTER>
El
Sistema responde : OK
Escribes
: AT+CMGS="+573010000000"
<ENTER>
(Reemplaza el número con tu número de celular en
formato internacional)
El
sistema responde : >
Escribes
: Arca electronica*
(ojo el sms debe ir terminado en asterisco *)
El
sistema responde : +CMGS: 62
Unos segundos después recibirás el mensaje de texto
en el celular programado
- ¿Cómo leer un mensaje de texto con comandos AT desde el puerto serial?
Escribes
: AT+CMGF=1 <ENTER>
El
Sistema responde : OK
Escribes : AT+CMGL="ALL"
<ENTER>
El sistema responde :
+CMGL: 1,"REC
UNREAD","+31625012354",,"07/07/05,09:55:16+08"
Test message 1
OK
En la respuesta del sistema
puedes ver que dice primero el número del mensaje en el listado : “1” ; luego
el estado :“REC UNREAD” ; seguido del número de remitente : “+31625012354” ;
seguido de la fecha y hora de recepción : “07/07/05,09:55:16+08”; por último el
texto del mensaje recibido: “Test message 1” y finaliza con un OK, que muestra
que no hay más mensajes.
- ¿Cómo borrar un SMS con comandos AT desde el puerto serial?
Escribes: AT+CMGD=1 <ENTER>
Donde el número 1 representa la
ubicación del SMS en la memoria, reemplaza este número por el número de la
ubicación del SMS que deseas borrar.
FIN DEL POST
0 comentarios:
Publicar un comentario