Medidor de energia.... Nao esta recebendo informações... Ajuda

Ola galera estou fazendo um medidor de energia, que simula o recebimento de creditos, nesse caso é um medidor pre pago... e estou com uma dificuldade de juntar dois codigos que eu fiz separados, um que é do medidor e outro que é do shield GSM,.. Fiz uma programação, o GSM inicializa e tambem consigo visualizar os valores do medidor, mas quando eu enviou um SMS para o meu shield ele nao aparece na tela, e ai que esta o problema, caso alguem consiga me ajudar, fico grato 

Programaçao a seguir


//Programa : Medidor de energia elétrica com Arduino e SCT-013


//Baseado no programa exemplo da biblioteca EmonLib

//Carrega as bibliotecas
#include "EmonLib.h"
#include <LiquidCrystal.h>
#include<SPI.h>
//SMS receiver // libraries
#include <GSM.h>


EnergyMonitor emon1;
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

float consumo;
float consumo_aux;
float tarifa = 0.58; //0,58 kW.h
float kwhTotal;
float kwhacumulado;
//*************** gsm variaveis ****************
float desconto;
float resul_desconto;
float resul;
char c;

// PIN Number
#define PINNUMBER ""

// initialize the library instance
GSM gsmAccess; // include a 'true' parameter for debug enabled
GSM_SMS sms;

char remoteNumber[20]; // Holds the emitting number

String TextoAcumulado = "";
// ****************************************

//Tensao da rede eletrica
int rede = 220.0;

//Pino do sensor SCT
int pino_sct = 1;

void setup()
{
// ****************** setup gsm **********************
Serial.begin(9600);
Serial.println("SMS Concessionaria");
// connection state
boolean notConnected = true;

// Start GSM shield
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Não Conectado");
delay(1000);
}
}

Serial.println("GSM Inicializado");
//Serial.println("Waiting for messages");
resul_desconto=0;
//******************************************************

//******************** lcd ****************************
lcd.begin(16, 2);
lcd.clear();
//Serial.begin(9600);
//Pino, calibracao - Cur Const= Ratio/BurdenR. 1800/62 = 29.
emon1.current(pino_sct, 29);
//Informacoes iniciais display
lcd.setCursor(0,0);
lcd.print("Corr.(A):");
lcd.setCursor(0,1);
lcd.print("Pot. (W):");
}

void loop()
{
//Calcula a corrente
double Irms = emon1.calcIrms(1480);
char c;
//Mostra o valor da corrente
Serial.print("Corrente : ");
Serial.print(Irms); // Irms
lcd.setCursor(10,0);
lcd.print(Irms);

//Calcula e mostra o valor da potencia
Serial.print(" Potencia (W) : ");
Serial.println(Irms*rede);
lcd.setCursor(10,1);
lcd.print(" ");
lcd.setCursor(10,1);
lcd.print(Irms*rede,1);

//Calculo kWh
kwhTotal = (((Irms*220.0)/1000.0) * (1/3600.0 )); // calculo o khw gastos
kwhacumulado = kwhacumulado + kwhTotal;

Serial.print("kwhTotal Acumulado: ");
Serial.println(kwhacumulado,10);

//Calculo do consumo
consumo_aux = (kwhTotal) * 0.58;
consumo = consumo + consumo_aux;
Serial.print ("R$: ");
Serial.println (consumo,10); // imprime valor em reais
c = 'aa';
Serial.println(c);

//************ gsm ******************************************
// If there are any SMSs available()
if (sms.available())
{
Serial.println("Mensagem Recebida");

// Get remote number
sms.remoteNumber(remoteNumber, 20);
Serial.println(remoteNumber);

// Messages starting with # should be discarded
if(sms.peek()=='#')
{
//Serial.println("Discarded SMS");
sms.flush();
}

// Read message bytes and print them
Serial.println("Voce Recarregou (R$):");
while(c=sms.read())
{
Serial.print(c);
TextoAcumulado += c;
delay(10);
}
sms.flush();

// Desconto do valor da msg
int resul = TextoAcumulado.toInt();
desconto = (resul-5);
resul_desconto = resul_desconto + desconto;
Serial.print("Valor recebido com 5 reais descontado: ");
Serial.println(desconto,10);
Serial.print("Valor acumulado: ");
Serial.println(resul_desconto,10);

}
else{
Serial.println("Sem mensagem recebida");
}

delay(1000);
TextoAcumulado = "";
//************************************************************
}

Exibições: 244

Responder esta

Respostas a este tópico

Ah, mas vc vai ter que dar mais detalhes dessa ideia pois é muito legal. Qual o shield gsm você usa?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço