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();
}








Comentários

Postagens mais visitadas