TecnoConCiencia

Comunidad electrónica

El SIM800L

February 19, 2018 Uncategorized 0

Hoy día las comunicaciones son parte fundamental de nuestra vida diaria, los teléfonos celulares son de un día a la semana. Ahora bien, imagina aplicar esa tecnología a otras áreas tan diversas como sistemas de seguridad en el hogar por ejemplo, pero más allá allá. En algunos procesos es vital el monitoreo en tiempo real de las variables ya sean de temperatura, humedad, presión, voltaje, etc. Con este módulo es posible tener una alerta temprana en los cambios significativos que se monitorean a través de los mensajes de texto de llamada y hasta con un requerimiento GPRS. El voltaje de funcionamiento del SIM800L va de 3.7v – 4.2vy su consumo es de 2 amp, se manipula con comandos AT a través de un puerto serie lo que indica que requiere de un procesadorarduino , pic,  ESp8266 ) para generar los requisitos y procesar la información que se ha recibido desde el nuestro SIM800L .

Por la precisión en el voltaje que requiere se recomienda el uso de un convertidor DC-DC como el LM2596 o el MP1584 . Estos módulos son muy versátiles al momento de ejecutar su función entregando 3amp en la salida.

Las aplicaciones son muy grandes con muy pocos recursos. Aquí un pequeño ejemplo desde el IDE Arduino de cómo enviar un mensaje de texto desde el SIM800L.

 

#include <SoftwareSerial.h> // Incluimos la librería SoftwareSerial
SoftwareSerial mySerial(8, 9); // Declaramos los pines RX(8) y TX(9) para la comunicación

void setup(){
Serial.begin(9600); // Iniciamos la comunicación puerto serie
mySerial.begin(9600); // Iniciamos una nueva comunicación serie
delay(1000); // Pausa
Enviar(); // Llamada a la funcion que envia el SMS
}

void loop(){
if (mySerial.available()){ // Si hay datos
Serial.write(mySerial.read()); // Los sacamos por la comunicacion serie normal
}

if (Serial.available()){ // Si la comunicacion serie normal tiene datos
while(Serial.available()) { // y mientras tenga datos que mostrar
mySerial.write(Serial.read()); // Los sacamos por la comunicacion SoftwareSerial
}
mySerial.println(); // Enviamos fin de linea
}
}

// Función para el envío de mensajes
void Enviar(){
mySerial.println(“AT+CMGF=1”); // Activamos la funcion de envio de SMS
delay(100); // pausa
mySerial.println(“AT+CMGS=\”+58XXXXXXXXX\””); // Definimos el numero del destinatario
delay(100); // Pequeña pausa
mySerial.print(“Hola Mundo!”); // Definimos el mensaje
delay(500); // pausa
mySerial.print(char(26)); // Enviamos el equivalente a Control+Z
delay(100); // pausa
mySerial.println(“”); // Enviamos un fin de línea
delay(100); //pausa
}

Leave a Reply

Your email address will not be published. Required fields are marked *