Ola estou criando uma biblioteca para Arduíno mais estou com alguns problemas o código esta rodando mais o resultado obtido não esta certo alguem poderia me ajudar.
codigo .cpp
#include <tc_condut.h>
////////////////////////////////variaveis//////////////////////////////////////////////////////////////////////
const float ArduinoVoltage = 5.00; // CHANGE THIS FOR 3.3v Arduinos
const float ArduinoResolution = ArduinoVoltage / 1024;
const float resistorValue = 10000.0;
int analogValue=0;
int oldAnalogValue=1000;
float returnVoltage=0.0;
float resistance=0.0;
double Siemens;
float TDS=0.0;
int threshold =3;
int cont=0;
//float tc;
///////////////////////////////////////////////////
tc_condut::tc_condut (int intputPin, int outputPin){ //chama a funcao do aquivo .h
this-> entrada= intputPin;
this-> saida= outputPin;
pinMode(saida, OUTPUT);
pinMode(entrada, INPUT);
while(cont > 30)
{
while(((oldAnalogValue-analogValue)>threshold) || (oldAnalogValue<50))
{
oldAnalogValue = analogValue;
digitalWrite( entrada, HIGH );//aciona o pino
delay(10); // allow ringing to stop
analogValue = analogRead( entrada );
digitalWrite( saida, LOW );//desliga o pino
}
////// Calculo para a resolucao da condutividade///////////////////////////////
returnVoltage = analogValue * ArduinoResolution;
resistance = ((5.00 * resistorValue) / returnVoltage) - resistorValue;
Siemens = 1.0/(resistance/1000000);
TDS = 500 * (Siemens/1000);
cont = cont ++;
}
}
float tc_condut::tc(){///funcao chamada para resceber a variavel TDS que contem o valor obtido
float tc= (TDS);
}
codigo .h
#ifndef tc_condut_H_INCLUDED
#define tc_condut_H_INCLUDED
#include <Arduino.h>
class tc_condut{
public:
tc_condut(int intputPin, int outputPin);
float tc();
private:
int entrada;
int saida;
};
#endif
corpo arduino
#include <tc_condut.h>
#define saida A0
#define entrada A5
float condut;
tc_condut tc_condut1(saida,entrada);
void setup() {
Serial.begin(9600);
}
void loop() {
condut= tc_condut1.tc();/////rescebe o valor da variavel TDS
Serial.println(condut);///imprime o resultado
delay(5000);
}