EN ESTE TUTORIAL EXPLICO COMO MEDIR EL VOLTAJE DE 0 A 24 VOLTIOS EN CONTINUA. NOS ENVIARÁ UN MENSAJE CUANDO EL VOLTAJE BAJE DE UNA VALOR PREDEFINIDO Y CUANDO SE VUELA A ESTABILIZAR.
POR EJEMPLO PODRÍAS TENERLO PARA UNA INSTALACIÓN FOTOVOLTÁICA Y QUE NOS ENVÍE UN MENSAJE CUANDO EL VOLTAJE CAMBIE DE UN VALOR PREDEFINIDO, PARA SABER SI UNA FUENTE DE ALIMENTACIÓN SE HA AVERIADO, QUE ENCENDIERA UN GRUPO ELECTRÓGENO HASTA QUE EL VOLTAJE SE HAYA ESTABILIZADO,ETC.
POR EJEMPLO PODRÍAS TENERLO PARA UNA INSTALACIÓN FOTOVOLTÁICA Y QUE NOS ENVÍE UN MENSAJE CUANDO EL VOLTAJE CAMBIE DE UN VALOR PREDEFINIDO, PARA SABER SI UNA FUENTE DE ALIMENTACIÓN SE HA AVERIADO, QUE ENCENDIERA UN GRUPO ELECTRÓGENO HASTA QUE EL VOLTAJE SE HAYA ESTABILIZADO,ETC.
ARDUINO MEGA
MODULO SENSOR DE VOLTAJE
SIM 800L GSM
CONEXIONES:
1º PASO VAMOS A CALIBRAR EN SENSOR DE VOLTAJE
CONECTAREMOS EL SENSOR POR LA PARTE DE LECTURA AL A NEGATIVO(GND) Y EL POSITIVO AL 3.3 V.
CÓDIGO ARDUINO:
int sensorPin = A0;
int sensorValue = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);//LEEMOS LA LECTURA DEL SENSOR
Serial.print("EL VARLOR ES: ");
Serial.print(sensorValue);// MOSTRAMOS LA LECTURA DE SENSOR
Serial.print(" voltaje es: ");
Serial.println(sensorValue*0.024);//MULTIPLICAMOS PARA SABER EL VOLTAJE
delay(1000);
}
COMO LA SALIDA QUE HEMOS CONECTADO ES DE 3.3 , Y EL VALOR DE LECTURA ES DE 135. DIVIDIMOS 3.3/135 QUE NOS DA UN RESULTADO DE 0.0244, ESTE VALOR ES QUE PONEMOS PARA MULTIPLICAR PARA SABER EL VOLTAJE, HA CADA UNO DE DARÁ UN VALOR DIFERENTE . 3.3 DIVIDO ENTRE EL VALOR OBTENIDO .
2º PASO PONER EL DATO OBTENIDO EL LA VARIABLE FLOAT calibracion he introducir el teléfono del destinatario. Si tenéis dudas sobre el código del gsm ver el tutorial.
EN MI CASO ES DE 0.0244, Y SUBIR ESTE CÓDIGO AL ARDUINO
int sensorValue = 0;
boolean a=false;
String mensajeenviado;
float voltaje;
float calibracion=0.024;
void setup() {
Serial.begin(9600);
Serial1.begin(19200);
//delay(9000);
Serial1.println("AT+CMGF=1"); //Configuramos el módulo para trabajar con los SMS en modo texto
delay(1000);
Serial1.print("AT+CNMI=2,2,0,0,0\r");//El módulo enviará los mensaje directamente al puerto serial //del dispositivo
delay(500);
a=false;
}
void loop() {
sensorValue = analogRead(sensorPin);//LEEMOS LA LECTURA DEL SENSOR
Serial.print("EL VARLOR ES: ");
Serial.print(sensorValue);// MOSTRAMOS LA LECTURA DE SENSOR
Serial.print(" voltaje es: ");
voltaje=sensorValue*calibracion;
Serial.println(voltaje);//MULTIPLICAMOS PARA SABER EL VOLTAJE
delay(1000);
if (voltaje<2){ //SI EL VOLTAJE ES INFERIOR A 2
if (a==false){ //SI LA VARIABLE ESTA EN FALSO
Serial.println("no hay voltaje");//MOSTRAMOS EL MENSAJE POR EL PUERTO SERIE
mensajeenviado="EL SISTEMA NO HA DETECTADO VOLTAJE";
EnviaSMS(); //ENVIAMOS EL MENSAJE
a=true; // PONEMOS LA VARIABLE EN VERDADERO PARA QUE NO ENVIÉ MAS SMS
}
}
if (voltaje>2){
if (a==true){
Serial.println("hay voltaje");
mensajeenviado="EL SISTEMA HA ESTABLECIDO EL VOLTAJE";
a=false; //PONEMOS LAS VARIABLE EN FALSO PARA QUE NO ENVIÉ MAS SMS
EnviaSMS(); //ENVIAMOS EL MENSAJE
}
}
}
void EnviaSMS(){
Serial1.println("AT+CMGS=\"+34------\""); // Definimos el numero del destinatario en formato internacional
delay(100); // Pequeña pausa
Serial1.print( mensajeenviado); // Ponemos las variable String para su envio
delay(500); // Pequeña pausa
Serial1.print(char(26)); // Enviamos el equivalente a Control+Z
delay(100); // Pequeña pausa
Serial1.println(""); // Enviamos un fin de linea
delay(100); // Pequeña pausa
}
magnifico proyecto!!
ResponderEliminarhola estoy trabajando con una placa arduino uno y claro que me da problemas al subir el codigo, me pudieras indicar el cambio que debo hacer para trabajar este mismo codigo con una placa de arduino uno ???
ResponderEliminarsaludos
Buenas tardes
ResponderEliminartiene que incluir la librería softwareSerial y cambiar lo siguiente
#include
SoftwareSerial gsm(10, 11); // RX, TX
donde dice Serial1. tiene que poner gsm. Tienes que cambiarlo en toda las partes de código
Este comentario ha sido eliminado por el autor.
ResponderEliminarhola buenas me gustaría contactarme con vosotros gracias
ResponderEliminarBuenas tardes enviame un correo electrónico para tener su dirección. Un saludo
Eliminar