ESP8266 - Teclado - Servo Motor
Este tutorial ensina você a usar o ESP8266 e um teclado para controlar um servo motor. Em detalhes:
- Se o usuário digitar uma senha aceita no teclado, o ESP8266 gira o servo motor para 90°.
- Após um certo tempo, o servo motor volta a girar para 0°.
O código ESP8266 também aceita várias senhas.
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 o Teclado e o Servo Motor
Se você não conhece o teclado e o servo motor (incluindo pinagem, funcionamento e como programar), os tutoriais a seguir podem ajudar:
- Tutorial ESP8266 - Teclado
- Tutorial ESP8266 - Servo Motor
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, uma fonte de alimentação externa deve ser utilizada para fornecer mais energia ao servo motor. O diagrama abaixo demonstra a ligação com uma fonte de alimentação externa para o servo motor.
TO BE ADD IMAGE
Não se esqueça de conectar o GND da fonte externa ao GND do ESP8266.
Código ESP8266 - gira o Servo Motor se a senha estiver correta
Se a senha estiver correta, o servo motor será ajustado para 90° por um período de 5 segundos. Em seguida, ele voltará a girar para 0°.
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.
- Ligue os componentes como mostrado no diagrama.
- Conecte a placa ESP8266 ao seu 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.
- Conecte um cabo USB ao ESP8266 e ao PC.
- Abra o Arduino IDE e escolha a placa e a porta corretas.
- Clique no ícone Libraries na barra lateral esquerda do Arduino IDE.
- Pesquise por “keypad” e localize a biblioteca de teclado criada por Mark Stanley e Alexander Brevig.
- Pressione o botão Install para instalar a biblioteca de teclado.

- Copie o código e abra-o com o Arduino IDE.
- Clique no botão Upload no Arduino IDE para compilar e fazer upload do código para o ESP8266.

- Digite 12345# no teclado.
- Em seguida, digite 5642B#.
- Confira o Serial Monitor e observe o estado do servo motor.
Explicação do Código
As senhas válidas são pré-definidas no código ESP8266. Uma string, chamada input_password, é usada para armazenar a senha digitada pelo usuário. O teclado tem duas teclas (* e #) usadas para fins especiais: apagar a senha e finalizar a senha. Quando uma tecla do teclado é pressionada:
- Se não for uma das duas teclas especiais, ela será adicionada à input_password.
- Se a tecla pressionada for *, a input_password será apagada, permitindo que o usuário comece ou recomece a digitar a senha.
- Se a tecla pressionada for #:
- O ESP8266 verifica se a senha é válida comparando a input_password com as senhas pré-definidas. Se corresponder a uma delas, o ESP8266 gira o servo motor para 90°.
- Independentemente de a senha estar correta ou não, a input_password será apagada para a próxima entrada.
- Após um timeout, o ESP8266 gira o servo motor para 0°.