Tutorial do KIT - Para analisar a qualidade da água
1. KIT - Para analisar a qualidade
da água
Kit desenvolvido por: Aplicação por:
Grupo3: Grupo 5:
Alexandre Bértolo Rodrigo Ervilha
Diogo Carvalhana
2. TUTORIAL
I Parte - Ligação LCD 2
Material: 2
Ligações: 2
Código: 2
II Parte - Ligação sensor de temperatura e humidade 3
Material: 3
Ligações: 3
Código: 3
III Parte - Ligação LEDs 4
Material: 4
Ligações: 4
Código: 4
IV Parte - Botão 5
Material: 5
Ligações: 5
Código: 6
V Parte - Sensor de temperatura da água 6
Material: 6
Ligações: 7
Código: 7
VI Parte - Medidor de pH 8
Material: 8
Ligações: 8
Código: 8
VII Parte - Sensor de turbidez 10
Material: 10
Ligações: 11
Código: 11
VIII Parte - Sensor de conductividad 12
Material: 12
Ligações: 12
Código: 12
IX Parte - Juntar todo o codigo 14
Código:
X Final - Incluir as bibliotecas para funcionar 14
1
19. TUTORIAL
// inicia o sensor de temperatura da agua
aguatemp.begin();
// inicia o sensor de turbidez
pinMode(sensor_in, INPUT);
}
// codigo
void loop(void) {
// le o estado do botão e verifica se é precionado ou não
btnEstado = digitalRead(btnPin);
if (btnEstado == HIGH) {
counter = counter + 1;
}
// le os valores do sensor de ar temp/hump
arhum = dht.readHumidity();
artemp = dht.readTemperature();
// le os valores do sensor de temp da agua
aguatemp.requestTemperatures();
// le os valores de ph
static unsigned long samplingTime = millis();
static unsigned long printTime = millis();
static float pHValue, voltage;
if (millis() - samplingTime > samplingInterval)
{
pHArray[pHArrayIndex++] = analogRead(SensorPin);
if (pHArrayIndex == ArrayLenth)pHArrayIndex = 0;
voltage = avergearray(pHArray, ArrayLenth) * 5.0 / 1024;
pHValue = 3.5 * voltage + Offset;
samplingTime = millis();
}
if (millis() - printTime > pI)
{
aguaph = pHValue ;
printTime = millis();
}
// le os valores de turbidez
int aguaturb = analogRead(A4);
// le os valores do sensor de conductividade
if(millis()-AnalogSampleTime>=AnalogSampleInterval)
{
AnalogSampleTime=millis();
AnalogValueTotal = AnalogValueTotal - readings[index];
18
20. TUTORIAL
readings[index] = analogRead(ECsensorPin);
AnalogValueTotal = AnalogValueTotal + readings[index];
index = index + 1;
if (index >= numReadings)
index = 0;
AnalogAverage = AnalogValueTotal / numReadings;
}
if(millis()-tempSampleTime>=tempSampleInterval)
{
tempSampleTime=millis();
temperature = TempProcess(ReadTemperature);
TempProcess(StartConvert);
}
if(millis()-printTime>=printInterval)
{
printTime=millis();
averageVoltage=AnalogAverage*(float)5000/1024;
conducorrent = averageVoltage;
float TempCoefficient=1.0+0.0185*(temperature-25.0);
float CoefficientVolatge=(float)averageVoltage/TempCoefficient;
if(CoefficientVolatge<10)
conductividade = 0.00;
else if(CoefficientVolatge>3300)
conductividade =0.00;
else
{
if(CoefficientVolatge<=448)ECcurrent=6.84*CoefficientVolatge-64.32;
else
if(CoefficientVolatge<=1457)ECcurrent=6.98*CoefficientVolatge-127;
else ECcurrent=5.3*CoefficientVolatge+2278;
ECcurrent/=1000;
conductividade = ECcurrent;
}
}
// menu
switch (counter) {
// lcd temperatura e humdidade do ar
case 1:
lcd.setCursor(0, 0);
lcd.print("Ar-Hum: ");
lcd.print(arhum);
19
26. TUTORIAL
3. Separar as informações
a. Data e Local
b. Dados a guardar
c. Botões
4. Adicionar colunas e linhas
5. Renomear para se poder orientar melhor
No canto inferior direito existe as
opções apagar e renomear.
Podem consultar o tutorial em
https://www.slideshare.net/projetosaeb/tutorial-aplicao-registo-de-dados
25