ARDUINO MEGA
SIM 800L GSM
RELE

MONTAJE DE CONEXIONES
CODIGO ARDUINO
String mensaje;
String mensajeenviado;
void setup()
{
pinMode(8,OUTPUT); //Iniciamos el pin 8 como salida para conectar el Rele
Serial2.begin(19200);
delay(9000);
Serial2.println("AT+CMGF=1"); //Configuramos el módulo para trabajar con los SMS en modo texto
delay(1000);
Serial2.print("AT+CNMI=2,2,0,0,0\r"); //El módulo enviará los mensaje directamente al puerto serial del dispositivo
delay(500);
}
void loop()
{
recibirmesanje();
}
void EnviaSMS(){
Serial2.println("AT+CMGS=\"+346********\""); // Definimos el numero del destinatario en formato internacional
delay(100); // Pequeña pausa
Serial2.print( mensajeenviado); // Ponemos las variable String para su envio
delay(500); // Pequeña pausa
Serial2.print(char(26)); // Enviamos el equivalente a Control+Z
delay(100); // Pequeña pausa
Serial2.println(""); // Enviamos un fin de linea
delay(100); // Pequeña pausa
}
void recibirmesanje(){
if(Serial2.available()){
mensaje=Serial2.readString();
delay(500);
}
if(mensaje.indexOf("Encender")>=0) {
digitalWrite(8,HIGH);
mensaje = "";
mensajeenviado="RELE ENCENDIDO";
EnviaSMS();
}
if(mensaje.indexOf("Apagar")>=0) { //Si la variable mensaje contiene la palabra Apagar
digitalWrite(8,LOW);
mensaje = "";
mensajeenviado="RELE APAGADO";
EnviaSMS();
}
mensaje = "";
}
CÓDIGO ARDUINO COMPROBACIÓN MÓDULO GSM 800L Y DIFERENTES COMANDOS AT
void setup()
{
Serial.begin(9600);//INICAMOS
EL PUERTO SERIE
Serial2.begin(9600);//INICIAMOS
EL PUERTO GSM SIM 800L
delay(1000);
Serial.println("ESPERANDO COMANDOS AT");//MANDAMADOS
UN MENSAJE AL PUERTO SERIE
}
void loop() {
if(
Serial2.available()){
Serial.write(Serial2.read());
}
if(Serial.available()){
Serial2.write(Serial.read());
}
}
AT Sirve
para verificar si el módulo SIM800 está funcionando adecuadamente
ATZ Resetear el módulo de fabrica.
AT+CGMI Veremos en nombre del fabricante
AT+CGMI Veremos en nombre del fabricante
AT+COPS? Nombre de la compañía telefónica
AT+CGSN Visualizar el IMEI del chip
utilizado
AT+CMGF=1 Configuramos
el módulo para trabajar con los SMS en modo texto
AT+CNMI=2,2,0,0,0 El módulo
enviará los mensaje directamente al puerto serial del dispositivo
AT+CSQ Este comando sirve para conocer la calidad de señal recibida
ATD6XXXXXXXX; Hacer una llamada.
ATH Colgar llamada.
AT+CSQ Este comando sirve para conocer la calidad de señal recibida
ATD6XXXXXXXX; Hacer una llamada.
ATH Colgar llamada.
ResponderEliminarHola, buenas tardes, mi nombre es Wellington y estoy en Brasil. Como Intendo no mucho de Arduino, pero me gustó mucho, me gustaría hacer este proyecto y me gustaría saber qué código de pulso en el Arduino, la parte superior o la parte inferior. Lo que necesita cambiar el código, es sólo el número de teléfono? Gracias. spxjulio@hotmail.com
Buenas tardes, sería el código de arriba, el código de abajo es para probar que el módulo gsm funciona correctamente . Primero comprobaría con el código de abajo que funciona correctamente el modulo gsm luego pondría el código de arriba y debería funcionar para cualquier duda me tienes a tu disposión
ResponderEliminarBuenas tardes
ResponderEliminarMe podría decir por favor en que pines del Arduino Mega es colocado el Reset, TX y el RX
Buenas tardes el TXD del GSM al RX2 del arduino mega y el RXD del GSM al TX2 del arduino
ResponderEliminarMe parece muy interesante. Se podría hacer para que se activaran dos relés uno después del otro y que el segundo se desconectara tras unos segundos? Gracias!!!
ResponderEliminarBuenas Tardes, si el código a poner es muy sencillo
ResponderEliminarMuchas gracias Santiago. voy a ver si ya para después de las fiestas de navidad me pongo con ello si necesito un cable te iré preguntando.
ResponderEliminarYo tengo el proyecto terminado, con gusto puedo apoyarlos
ResponderEliminarME PODRIAS FACILITAR EL CODIGO? das_audio@hotmail.com
EliminarBuenas tardes que código te hace falta, para el arduino uno
EliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarUn saludos y gracias por tu aporte.
ResponderEliminarPero tengo un problema y es que no puedo COMUNICAR LA SIM800L CON el arduino mega, es como si no se comunicaran a travez del puerto serial he verificado las conexiones y todo bien, pero al escribir el comando "AT" aunque me sale en pantalla no me arroja ninguna respuesta.
MI pregunta es, ¿usaste algún convertidor para conectar el arduino mega con la sim800l?
Con este código tiene que conectarlo en el Serial 2, el arduino Mega tiene tres. El TX2 del arduino al RX del SIM800L, y el RX2 del arduino a TX SIM800L.
Eliminarvoid setup()
{
Serial.begin(9600);//INICAMOS EL PUERTO SERIE
Serial2.begin(9600);//INICIAMOS EL PUERTO GSM SIM 800L
delay(1000);
Serial.println("ESPERANDO COMANDOS AT");//MANDAMADOS UN MENSAJE AL PUERTO SERIE
}
void loop() {
if( Serial2.available()){
Serial.write(Serial2.read());
}
if(Serial.available()){
Serial2.write(Serial.read());
}
}
Para cualquier duda estoy por aqui
No utilizé ningún convertidor
EliminarCon este código tiene que conectarlo en el Serial 2, el arduino Mega tiene tres. El TX2 del arduino al RX del SIM800L, y el RX2 del arduino a TX SIM800L.
ResponderEliminarvoid setup()
{
Serial.begin(9600);//INICAMOS EL PUERTO SERIE
Serial2.begin(9600);//INICIAMOS EL PUERTO GSM SIM 800L
delay(1000);
Serial.println("ESPERANDO COMANDOS AT");//MANDAMADOS UN MENSAJE AL PUERTO SERIE
}
void loop() {
if( Serial2.available()){
Serial.write(Serial2.read());
}
if(Serial.available()){
Serial2.write(Serial.read());
}
}
Para cualquier duda estoy por aqui
Utilizo este codigo y conecto los cables segun indicas pero el modulo no me devuelve respuesta
Eliminarbuenas como esata
ResponderEliminarme explicas porfa esta linea
if(mensaje.indexOf("6********")>=0){
es un codigo o un numero de telefono
ResponderEliminarBuenas tardes es un error lo modifico. Eso lo utilizaba para verificar el número de móvil de donde se envía el mensaje pero le falta código.
ResponderEliminarGracias
ResponderEliminarcordial saudo espero estes bien.
ResponderEliminarte esplico mi caso llevo mese buscando que funcione este modulo sim800l pero sin tener el cable usba conectado al pc, meintras lo tengo los mendajes entran bien y me funciona, pero mientras lo desconecto no funcionan, alimento el modulo con una fuente de 4.2 se qu e funciona porque me manda mensajes sin estar conectado la pc pero, se que los resive pues cuando los mando desde mi celular o movil parpadea el les mas rapido. he eliminado tosos los serial y dejo solo los serial2 y nada mi arduino es un mega y esta conectado asi como dices, me puedes colaborar te agradesco
Buenos días, prueba a alimentar el sim800L con una fuente aparte solo para SIM800L y le conectas GND al arduino. Si no se soluciona me envias un mensaje privado a domoticamayca@gmail.com para tener un dia un Skype y solucionar el problema.
EliminarBuenas a todos,
ResponderEliminarEstoy probando el código de arriba y me establece la conecxion, pero antes de que pueda mandar algún comando AT en el terminal empiezan a aparecer espacios en blanco por el loop y no para.
¿Alguien sabe por que puede pasar?
Gracias de antemano.
Un saludo
El codigo lo hago tal cual pero mando at y no me parece nada, otros codigos si pero en pantalla no me arroja respuesta aparte no se si la conexion va al arduino o fte externa me podrias enviar el diagrama de conexion mi correo es jdavid17t@gmail.com
ResponderEliminar