ESP8266 - Botão - Servo Motor
Este tutorial ensina você a usar um ESP8266 e um botão para controlar um servo motor. Em detalhes:
- Se o ESP8266 detectar que o botão foi pressionado, o ESP8266 controla o servo motor para girar até 90 graus.
- Se o ESP8266 detectar que o botão foi pressionado novamente, o ESP8266 controla o servo motor para voltar a 0 grau.
O processo acima é repetido várias e várias vezes.
O tutorial tem duas seções:
- Controlar um servo motor sem fazer o debounce do botão.
- Controlar um servo motor fazendo o debounce do botão.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: For controlling multiple servo motors, use the PCA9685 16 Channel PWM Servo Driver Module to save MCU pins and simplify wiring.
Sobre Servo Motor e Botão
Se você não está familiarizado com servo motores e botões (incluindo pinagens, como funcionam e como programá-los), os tutoriais a seguir podem ajudar:
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.
Observe que o diagrama de ligação mostrado acima é adequado apenas para um servo motor de baixo torque. Caso o motor vibre em vez de girar, é preciso utilizar uma fonte de alimentação externa para fornecer mais energia ao servo motor. Abaixo está o diagrama de ligação com uma fonte de alimentação externa para o servo motor.

This image is created using Fritzing. Click to enlarge image
Não se esqueça de conectar o GND da fonte externa ao GND do ESP8266.
Código ESP8266 - Botão Controla o Servo Motor Sem Debounce
Passos Rápidos
Para começar com o ESP8266 no Arduino IDE, siga estes passos:
- Confira o tutorial como configurar o ambiente para o ESP8266 no Arduino IDE se esta for a sua primeira vez usando o ESP8266.
- Faça a ligação dos componentes conforme mostrado no diagrama.
- Conecte a placa ESP8266 ao seu computador usando um cabo USB.
- Conecte o ESP8266 NodeMCU ao computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
- Copie o código acima e abra-o no Arduino IDE.
- Clique no botão Upload no Arduino IDE para compilar e fazer o upload do código para o ESP8266.
- Pressione o botão várias vezes.
- Confira as mudanças no servo motor.
※ Nota:
Na prática, o código mencionado acima nem sempre funciona corretamente. Para garantir que ele funcione bem, precisamos fazer o debounce do botão. Fazer o debounce do botão pode ser difícil para quem é novo no ESP8266. Felizmente, a biblioteca ezButton torna esse processo muito mais simples.
Código ESP8266 - Botão Controla o Servo Motor Com Debounce
Por que o debounce é necessário?. Veja o tutorial ESP8266 - Debounce de Botão para mais informações.
Passos Rápidos
- Instale a biblioteca ezButton. Consulte o Como Fazer para ver as instruções.
- Copie o código acima e abra-o no Arduino IDE.
- Clique no botão Upload no Arduino IDE para fazer o upload do código para o ESP8266.
- Aperte o botão várias vezes.
- Confira as mudanças no servo motor.