ESP8266 - Botão - Bomba
Este tutorial ensina você a usar o ESP8266 para ligar uma bomba por alguns segundos quando um botão é pressionado, e depois desligá-la.
Hardware Necessário
Or you can buy the following kits:
| 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 Botão e a Bomba
Se você não está familiarizado com a bomba e o botão (incluindo pinagem, funcionalidade e programação), os tutoriais a seguir podem ajudar:
- Tutorial ESP8266 - Botão
- Tutorial ESP8266 - controla bomba
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.
Código ESP8266
/*
* Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com
* Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição.
* Para tutoriais completos e diagramas de ligação, visite:
* https://pt.newbiely.com/tutorials/esp8266/esp8266-button-pump
*/
#include <ezButton.h> // include ezButton library
#include <ezOutput.h> // include ezOutput library
ezOutput pump(A5); // create ezOutput object attached to pin A5
ezButton button(12); // create ezButton object attached to pin 12
void setup() {
Serial.begin(9600);
button.setDebounceTime(50); // set debounce time to 50 milliseconds
pump.low(); // turn pump off
}
void loop() {
pump.loop(); // MUST call the loop() function first
button.loop(); // MUST call the loop() function first
if (button.isPressed()) {
Serial.println("Pump is started");
pump.low();
pump.pulse(10000); // turn on for 10000 milliseconds ~ 10 seconds
// after 10 seconds, pump will be turned off by pump.loop() function
}
}
※ Nota:
O código acima realiza as seguintes tarefas:
- Debounce do botão, que é suportado pela biblioteca ezButton. Para saber mais, leia Por que precisamos de debounce?
- Ligar a bomba por 10 segundos quando o botão é pressionado, e depois desligá-la, o que é suportado pela biblioteca ezOutput
- Todo o código é não bloqueante, o que é suportado pelas bibliotecas ezButton e ezOutput
Passos Rápidos
Para começar com o ESP8266 na Arduino IDE, siga estes passos:
- Confira o tutorial como configurar o ambiente para ESP8266 na Arduino IDE se esta for a sua primeira vez usando o ESP8266.
- Faça a ligação dos componentes como mostrado no diagrama.
- Conecte a placa ESP8266 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
- Conecte um cabo USB ao ESP8266 e ao PC.
- Abra a Arduino IDE e selecione a placa e a porta corretas.
- Clique no ícone Libraries na barra esquerda da Arduino IDE.
- Pesquise por “ezButton” e localize a biblioteca de botão fornecida por ArduinoGetStarted.
- Pressione o botão Install para instalar a biblioteca ezButton.

- Procure por “ezOutput” e localize a biblioteca de saída fornecida por ArduinoGetStarted.
- Pressione o botão Install para instalar a biblioteca ezOutput.

- Copie o código e abra-o com a Arduino IDE.
- Depois, pressione o botão Upload para enviar o código ao ESP8266.

- Pressione o botão
- Veja a condição da bomba
Explicação do Código
Confira a explicação linha por linha contida nos comentários do código-fonte!