Projeto 06 - Sensor de umidade
Conceitos
Introdução
Sensores de umidade são usados para detectar a umidade do solo em torno das raízes das plantas. Eles podem ser usados para alertar quando as plantas precisam ser regadas e, portanto, quando a umidade do solo está muito baixa. Eles podem ser usados em um sistema de irrigação automático, em que o solo é regado quando a umidade cai abaixo de um determinado nível ou quando a umidade é mantida em um nível definido.
Para isso, iremos utilizar a seguinte lista de materiais1:
Nome | Componente | Quantidade |
---|---|---|
U1 | Arduino Uno R3 | 1 |
SEN1 | Sensor de umidade do solo | 1 |
D1 | Vermelho LED | 1 |
D2 | Laranja LED | 1 |
D3 | Amarelo LED | 1 |
D4 | Verde LED | 1 |
R1 | 220 Ω Resistor | 1 |
D5 | Azul LED | 1 |
Implementação
Este exemplo mostra como usar um servomotor para controlar a posição de um objeto. Vamos usar o pino 9 para controlar o servomotor. Em suma, o Arduino envia um sinal PWM para o servomotor, que gira para a posição desejada. Veja os comentários do código de exemplo para obter uma boa compreensão de seu funcionamento.
Vamos começar montando o circuito e depois iremos programar o Arduíno.
Simulador Tinkercad
Para a implementação do projeto, iremos utilizar o simulador Tinkercad. Para isso, crie um novo projeto e adicione os componentes conforme a imagem abaixo:
O sensor de humidade possui 3 pinos:
- Potência (VCC): 3,3V a 5V
- Terra (GND): GND
- Sinal (S): Pino analógico
O pino de potência (VCC) é conectado ao pino A0 do Arduíno. O pino de terra (GND) é conectado ao pino GND do Arduíno e pino de sinal (S) é conectado ao pino A1 do Arduíno.
Veja como fica o código abaixo:
int umidade = 0;
void setup()
{
pinMode(A0, OUTPUT);
pinMode(A1, INPUT);
Serial.begin(9600);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
}
void loop()
{
// Aplique energia ao sensor de umidade do solo
digitalWrite(A0, HIGH);
delay(10);
umidade = analogRead(A1);
// Desligue o sensor para reduzir a corrosão do metal ao longo do tempo
digitalWrite(A0, LOW);
Serial.println(umidade);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
if (umidade < 200) {
digitalWrite(12, HIGH);
} else {
if (umidade < 400) {
digitalWrite(11, HIGH);
} else {
if (umidade < 600) {
digitalWrite(10, HIGH);
} else {
if (umidade < 800) {
digitalWrite(9, HIGH);
} else {
digitalWrite(8, HIGH);
}
}
}
}
delay(100);
}
Após ligar o sensor de umidade, o Arduíno irá ler o valor do pino A1 e irá imprimir no monitor serial. Após isso, o Arduíno irá desligar o sensor e irá acender um LED de acordo com o valor lido.
Para abrir o monitor serial, clique no botão 🔌 Monitor serial
no canto inferior esquerdo da janela de código.
Agora, clique no botão ▶️ Iniciar simulação
e veja o resultado.
Este projeto está também disponível em TinkerCad: Projeto 06 - Sensor de umidade
Referências
-
Este projeto foi criado por TinkerCad. O exemplo de código é de domínio público. Modificado em 04 de set. de 2023 pelo autor. ↩