# Arduino biblioteca

**URL:** https://forum.fazedores.com/t/arduino-biblioteca/5658
**Category:** Arduino
**Created:** [Agosto 14, 2018, 1:01am UTC](https://forum.fazedores.com/t/arduino-biblioteca/5658 "2018-08-14T01:01:22Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![alesio](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/alesio/32/2568_2.png) [@alesio](https://forum.fazedores.com/u/alesio)
#### Post date: [Agosto 14, 2018, 1:01am UTC](https://forum.fazedores.com/t/arduino-biblioteca/5658/1 "2018-08-14T01:01:22Z")

</div>

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

}

---

<div class="post-metadata">

### Author: ![skullcrusher777](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/skullcrusher777/32/2562_2.png) [@skullcrusher777](https://forum.fazedores.com/u/skullcrusher777)
#### Post date: [Agosto 14, 2018, 11:09am UTC](https://forum.fazedores.com/t/arduino-biblioteca/5658/2 "2018-08-14T11:09:19Z")

</div>

Amigo a boa prática de códificação por mais simples ou obvio que seja seu código sempre deve-se comentár o código assim fica mais fácil te ajudar.

---

<div class="post-metadata">

### Author: ![alesio](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/alesio/32/2568_2.png) [@alesio](https://forum.fazedores.com/u/alesio)
#### Post date: [Agosto 14, 2018, 11:12pm UTC](https://forum.fazedores.com/t/arduino-biblioteca/5658/3 "2018-08-14T23:12:35Z")

</div>

ola comentei algumas partes. O problema do código seria que quando chamo a variável TDS pela função TC o mesmo aparece com valor 0.0

---

<div class="post-metadata">

### Author: ![skullcrusher777](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/skullcrusher777/32/2562_2.png) [@skullcrusher777](https://forum.fazedores.com/u/skullcrusher777)
#### Post date: [Agosto 15, 2018, 10:51am UTC](https://forum.fazedores.com/t/arduino-biblioteca/5658/4 "2018-08-15T10:51:45Z")

</div>

Ora isso é simples, veja bem vc já declarou essa variavel com esse valor de 0.0:

float TDS=0.0; // variavel do tipo float com valor de 0.0 declarado.

Portanto vai sair com esse valor que vc declarou…

---

<div class="post-metadata">

### Author: ![skullcrusher777](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.fazedores.com/skullcrusher777/32/2562_2.png) [@skullcrusher777](https://forum.fazedores.com/u/skullcrusher777)
#### Post date: [Agosto 15, 2018, 10:58am UTC](https://forum.fazedores.com/t/arduino-biblioteca/5658/5 "2018-08-15T10:58:43Z")

</div>

Como variavél global o ideal seria declará-la da seguinte forma:

float TDS; // variavel do tipo float sem valor definido.

Se for utiliza-la em outros locais do programa declare ela como variavel local Ok!
