Monitoramento de energia
//Progama : Envio de SMS com o GSM Shield SIM900 e monitoramento de energia com sensor SCT não invasivo
//Autor: Gwr Tecnologia
//
//----------------------------------------------------------------------------------------------//
#include "SIM900.h"
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2,3); // RX, TX
#include "sms.h"
#include "EmonLib.h"
#include <SPI.h>
SMSGSM sms;
EnergyMonitor emon1;
//---------------------------------------------------------------------------------------------//
int rede = 110; //tensão da rede elétrica
int pino_sct = A5;
int SensorValue = 0;
char numero[20] = "XXXXXXXXX"; // DIGITE O NUMERO DO CELULAR
char mensagem[30] = "Alerta!Falha de energia!";
boolean started = false;
void GSM ();
//--------------------------------------------------------------------------------------------//
void setup()
{
Serial.begin(9600);
emon1.current(pino_sct, 60);
}
//-------------------------------------------------------------------------------------------//
void loop()
{
double Irms = emon1.calcIrms(1480);
SensorValue = Irms;
if (SensorValue < 2.25)
GSM();
Serial.print("Potencia: ");
Serial.println(Irms*110); // Apparent power
Serial.print("Corrente: ");
Serial.println(Irms); // Irms
delay(1000);
}
//------------------------------------------------------------------------//
void liga_desliga_GSMShield()
{
Serial.print(F("Aguarde..."));
pinMode(6, OUTPUT);
digitalWrite(6, LOW);
delay(1000);
digitalWrite(6, HIGH);
delay(1000);
Serial.println(F("OK!"));
digitalWrite(6, LOW);
delay(500);
}//------------------------------------------------------------------------//
void GSM ()
{
//Inicializa a serial
Serial.begin(9600);
Serial.print("Ligando shield GSM SIM900. ");
liga_desliga_GSMShield();
Serial.println("Testando GSM shield...");
//Comunicacao com o Shield GSM a 2400 bauds
if (gsm.begin(2400))
{
Serial.println("nstatus=READY");
started = true;
}
else Serial.println("nstatus=IDLE");
if (started)
{
//Envia um SMS para o numero selecionado
if (sms.SendSMS(numero, mensagem))
Serial.println("nSMS enviado!");
}
Serial.print("Desligando shield GSM SIM900. ");
liga_desliga_GSMShield();
}
//Autor: Gwr Tecnologia
//
//----------------------------------------------------------------------------------------------//
#include "SIM900.h"
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2,3); // RX, TX
#include "sms.h"
#include "EmonLib.h"
#include <SPI.h>
SMSGSM sms;
EnergyMonitor emon1;
//---------------------------------------------------------------------------------------------//
int rede = 110; //tensão da rede elétrica
int pino_sct = A5;
int SensorValue = 0;
char numero[20] = "XXXXXXXXX"; // DIGITE O NUMERO DO CELULAR
char mensagem[30] = "Alerta!Falha de energia!";
boolean started = false;
void GSM ();
//--------------------------------------------------------------------------------------------//
void setup()
{
Serial.begin(9600);
emon1.current(pino_sct, 60);
}
//-------------------------------------------------------------------------------------------//
void loop()
{
double Irms = emon1.calcIrms(1480);
SensorValue = Irms;
if (SensorValue < 2.25)
GSM();
Serial.print("Potencia: ");
Serial.println(Irms*110); // Apparent power
Serial.print("Corrente: ");
Serial.println(Irms); // Irms
delay(1000);
}
//------------------------------------------------------------------------//
void liga_desliga_GSMShield()
{
Serial.print(F("Aguarde..."));
pinMode(6, OUTPUT);
digitalWrite(6, LOW);
delay(1000);
digitalWrite(6, HIGH);
delay(1000);
Serial.println(F("OK!"));
digitalWrite(6, LOW);
delay(500);
}//------------------------------------------------------------------------//
void GSM ()
{
//Inicializa a serial
Serial.begin(9600);
Serial.print("Ligando shield GSM SIM900. ");
liga_desliga_GSMShield();
Serial.println("Testando GSM shield...");
//Comunicacao com o Shield GSM a 2400 bauds
if (gsm.begin(2400))
{
Serial.println("nstatus=READY");
started = true;
}
else Serial.println("nstatus=IDLE");
if (started)
{
//Envia um SMS para o numero selecionado
if (sms.SendSMS(numero, mensagem))
Serial.println("nSMS enviado!");
}
Serial.print("Desligando shield GSM SIM900. ");
liga_desliga_GSMShield();
}
Comentários
Postar um comentário