Projeto Arduino com Sensor de Chuva e LEDs Indicadores de Intensidade
Projeto Arduino com Sensor de Chuva e LEDs Indicadores de Intensidade
Introdução
Neste projeto, vamos criar um sistema de detecção de chuva com Arduino que acende 3 LEDs (vermelho, amarelo e verde) de acordo com a intensidade da precipitação. O sensor de chuva será conectado às portas analógica (A5) e digital (2), enquanto os LEDs serão controlados pelas portas digitais 5, 6 e 7. Esse projeto é ideal para aprender sobre leitura de sensores, saídas digitais e condicionais em programação.
Materiais Necessários
Arduino Uno (ou similar)
Sensor de chuva (com saída analógica e digital)
Protoboard
Jumpers (fios)
3 LEDs (vermelho, amarelo e verde)
3 resistores (220Ω)
Montagem do Circuito
1. Conexão do Sensor de Chuva
Pino do Sensor | Conexão no Arduino |
---|---|
VCC | 5V |
GND | GND |
DO (Digital) | Pino D2 |
AO (Analógico) | Pino A5 |
2. Conexão dos LEDs
Cor do LED | Pino no Arduino | Resistor (220Ω) |
---|---|---|
Verde | D5 | Em série com o LED |
Amarelo | D6 | Em série com o LED |
Vermelho | D7 | Em série com o LED |
📌 Observação: O cátodo (perna menor) do LED deve ser conectado ao GND.
Programação no Arduino
O código abaixo lê o valor analógico do sensor e, dependendo da intensidade da chuva, acende os LEDs seguindo a lógica:
Pouca chuva (0-300) → LED Verde (D5)
Chuva moderada (301-700) → LED Amarelo (D6)
Muita chuva (701-1023) → LED Vermelho (D7)
Código Completo
// Programa : Teste sensor de chuvaint pino_d = 2; //Pino ligado ao D0 do sensorint pino_a = A5; //Pino ligado ao A0 do sensorint val_d = 0; //Armazena o valor lido do pino digitalint val_a = 0; //Armazena o valor lido do pino analogico// Portas ligadas aos ledsint pino_led_verde = 5;int pino_led_amarelo = 6;int pino_led_vermelho = 7;void setup(){// Define os pinos do sensor como entradapinMode(pino_d, INPUT);pinMode(pino_a, INPUT);// Define os pinos dos leds como saidapinMode(pino_led_verde, OUTPUT);pinMode(pino_led_amarelo, OUTPUT);pinMode(pino_led_vermelho, OUTPUT);Serial.begin(9600);}void loop(){//Le e arnazena o valor do pino digitalval_d = digitalRead(pino_d);//Le e armazena o valor do pino analogicoval_a = analogRead(pino_a);//Envia as informacoes para o serial monitorSerial.print("Valor digital : ");Serial.print(val_d);Serial.print(" - Valor analogico : ");Serial.println(val_a);// Acende o led de acordo com a intensidadeif (val_a >900 && val_a <1024){// Acende led verde - intensidade baixadigitalWrite(pino_led_verde, HIGH);digitalWrite(pino_led_amarelo, LOW);digitalWrite(pino_led_vermelho, LOW);}if (val_a >400 && val_a <900){// Acende led amarelo - intensidade moderadadigitalWrite(pino_led_verde, LOW);digitalWrite(pino_led_amarelo, HIGH);digitalWrite(pino_led_vermelho, LOW);}if (val_a > 0 && val_a <400){// Acende led vermelho - intensidade altadigitalWrite(pino_led_verde, LOW);digitalWrite(pino_led_amarelo, LOW);digitalWrite(pino_led_vermelho, HIGH);}delay(1000);}
Funcionamento do Projeto
Sensor Analógico (A5):
Fornece valores entre 0 (seco) e 1023 (muito molhado).
Quanto maior o valor, maior a intensidade da chuva.
Saída Digital (D2 - Opcional):
Pode ser usado para um alerta binário (HIGH/LOW) se a chuva ultrapassar um limiar ajustável no sensor.
LEDs Indicadores:
Verde (D5): Pouca ou nenhuma chuva.
Amarelo (D6): Chuva moderada (alerta).
Vermelho (D7): Chuva forte (perigo).
Aplicações Práticas
Monitoramento meteorológico simples em escolas ou residências.
Sistema de alerta de enchentes em áreas de risco.
Controle automatizado de irrigação (desligar se chover muito).
Conclusão
Este projeto demonstra como ler um sensor de chuva e tomar decisões com base em seus valores, acendendo LEDs conforme a intensidade da precipitação. É uma ótima introdução à eletrônica e programação com Arduino, além de ter aplicações reais em automação e monitoramento ambiental.
🔹 Dica: Experimente modificar os limites (300
e 700
) no código para calibrar melhor a sensibilidade do sensor!
Comentários
Postar um comentário