Arduino - Sensor de Água com Bomba
Neste tutorial, vamos aprender a usar um Arduino para ativar uma bomba e drenar a água quando ela for detectada por um sensor de água. Em outras palavras, vamos descobrir como criar um sistema de drenagem automática usando um Arduino, um sensor de água e uma bomba
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.
Sobre o Sensor de Água e a Bomba
Se você ainda não conhece o sensor de água e a bomba (pinagem, como funcionam, como programar...), aprenda sobre eles nos tutoriais a seguir:
- Tutorial Arduino - Sensor de Água
- Tutorial Arduino - controla bomba
Como o Sistema de Drenagem Automática Funciona
O Arduino lê periodicamente o valor do sensor de água e então:
- Se o valor for maior que um limite predefinido, o Arduino liga o relé para ativar a bomba.
- Caso contrário, o Arduino desliga a bomba.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Código Arduino
/*
* Este código de Arduino foi desenvolvido por pt.newbiely.com
* Este código de Arduino é disponibilizado ao público sem nenhuma restrição.
* Para tutoriais completos e diagramas de ligação, visite:
* https://pt.newbiely.com/tutorials/arduino/arduino-water-sensor-pump
*/
#define RELAY_PIN A0 // The Arduino pin that connects to the relay to control the pump
#define POWER_PIN 7 // The Arduino pin that provides the power to the water sensor
#define SIGNAL_PIN A5 // The Arduino pin that reads the value from the water sensor
#define THRESHOLD 300 // The threshold for water detectiion
void setup() {
Serial.begin(9600);
pinMode(RELAY_PIN, OUTPUT); // configure D2 pin as an OUTPUT
pinMode(POWER_PIN, OUTPUT); // configure D7 pin as an OUTPUT
digitalWrite(POWER_PIN, LOW); // turn the water sensor OFF
digitalWrite(RELAY_PIN, LOW); // turn the pump OFF
}
void loop() {
digitalWrite(POWER_PIN, HIGH); // turn the water sensor's power ON
delay(10); // wait 10 milliseconds
int value = analogRead(SIGNAL_PIN); // read the analog value from sensor
digitalWrite(POWER_PIN, LOW); // turn the water sensor's power OFF
if (value > THRESHOLD) {
Serial.print("The water is detected");
digitalWrite(RELAY_PIN, HIGH); // turn the pump ON
} else {
digitalWrite(RELAY_PIN, LOW); // turn the pump OFF
}
delay(1000); // pause for 1 sec to avoid reading sensors frequently to prolong the sensor lifetime
}
Passos Rápidos
- Conecte o Arduino ao PC com um cabo USB
- Abra o Arduino IDE e selecione a placa e a porta corretas
- Copie o código acima e abra no Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino

- Coloque o sensor de água dentro da água
- Veja o estado da bomba
Explicação do Código
Leia a explicação linha por linha nos comentários do código-fonte!