O sensor de umidade do solo comercial mais conhecido para embarcados é simplesmente um divisor de tensão resistivo.
Poucos sabem, mas podemos fazer nosso próprio sensor de umidade do solo DIY, vejamos:
Com relação ao Firmware, utilizei os seguintes códigos:
int sensorPin = A0;
int sensorValue;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
}
void loop() {
sensorValue = analogRead(sensorPin);
delay(1000);
Serial.println(sensorValue);
}
Com base nisso, podemos construir um sensor de umidade do solo muito simples, precisamos apenas de uma pequena protoboard, fios e um resistor de 10KOhms (Ainda sim utilizaria um conector sindal para separar os terminais, e uma sonda metálica mais rígida (como um garfo) como terminais do sensor).
Segundo Rovai (2016), a equação para o calculo da tensão se dá:
Vin = R2 / (R1 + R2) * VCC ou Vin / VCC = 10K / (R1 + 10K) * 100 [%]
Caso queira entender matematicamente:
Calculando Divisor de tensão - KhanAcademy
Seguindo o circuito deste Divisor de tensão, chegamos ao sensor DIY da foto abaixo que foi construído por Michele Meattini, não se esqueça de conectar os terminais do lado direito, portanto, 1 com GND, o 2 com 5v e o 3 em A0.
Obs: Apenas certifique-se de que o a tensão do VCC vá ser 5V, essa tensão pode variar o valor final do resultado, cuidado.
Outra coisa importante é... não ficar com o sensor ligado o tempo todo, mesmo os sensores comerciais acumulam cargas com o tempo, ocasionando o acumulo de pequenos erros na leitura (ligue o sensor como ligaria uma LED esporadicamente).
Uma maneira de fazer isto descrito acima é alimentar o sensor como é alimentado uma Led, dessa forma, ao invés de alimentar na porta de 5V, alimente em outra porta GPIO, como por exemplo, a porta 12.
int sensorPin = A0;
int sensorValue;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(12, OUTPUT);
}
void loop() {
digitalWrite(12, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
delay(1000);
digitalWrite(12, LOW); // turn the LED off by making the voltage LOW
}
ROVAI, Marcelo. ArduFarmBot: Controlando um tomateiro com a ajuda de um Arduino e Internet das coisas (IoT). 2016. Disponível em <https://mjrobot.org/2016/09/02/ardufarmbot-controlando-um-tomateiro-com-a-ajuda-de-um-arduino-e-internet-das-coisas-iot/>. Acesso em 08 marc. 2022.


Nenhum comentário:
Postar um comentário