ESP32 - Chave DIP
As chaves DIP (Dual In-line Package) são frequentemente usadas em eletrônica para fins de configuração, como definir endereços de dispositivos, ativar ou desativar funções e muito mais. Neste tutorial, vamos explorar o uso da chave DIP com o ESP32. Especificamente, vamos abordar os seguintes tópicos:
- Entender o que é uma chave DIP e seus princípios de funcionamento.
- Conectar a chave DIP ao ESP32.
- Programar o ESP32 para detectar o estado ON/OFF da chave DIP.
- Programar o ESP32 para interpretar o valor inteiro definido pela chave DIP.

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre a Chave DIP
As chaves DIP são componentes fundamentais para a configuração de dispositivos, permitindo que os usuários ajustem parâmetros como endereços de dispositivos, configurações de comunicação, códigos de segurança, modos de operação e preferências do sistema em diversos setores e aplicações.
Uma chave DIP é composta por várias pequenas chaves deslizantes agrupadas, e cada chave é chamada de "posição". Existem vários tipos de chaves DIP, definidos pelo número de posições que oferecem. As opções incluem chaves DIP de 2 posições, 4 posições, 5 posições, 6 posições, 8 posições e 10 posições...
Cada posição de uma chave DIP corresponde a um bit de um número configurável. Alternando as posições entre ON e OFF, os usuários podem definir o valor numérico desejado. Essa flexibilidade permite uma configuração precisa dos parâmetros de acordo com necessidades específicas.
Pinagem

Uma chave DIP é composta por duas fileiras de pinos, e o número de pinos em cada fileira corresponde ao número de posições disponíveis. Por exemplo, uma chave DIP de 4 posições tem um total de 8 pinos, distribuídos igualmente com 4 pinos de cada lado. Na estrutura da chave DIP, cada par de pinos opostos forma uma chave deslizante. É importante observar que não é necessário diferenciar os pinos dos dois lados, pois eles são intercambiáveis.
Como Funciona
Nas chaves DIP, quando uma chave está na posição ON, isso indica que a chave está fechada, estabelecendo uma conexão elétrica que permite a passagem de corrente.
Por outro lado, quando uma chave está na posição OFF, isso significa que a chave está aberta. Nesse estado, a conexão elétrica é interrompida, impedindo a passagem de corrente pela chave.
Para esclarecer:
- Posição ON: forma um circuito fechado, permitindo a passagem de corrente.
- Posição OFF: resulta em um circuito aberto, bloqueando a passagem de corrente.
Ao conectar um lado da chave ao GND e o outro a um pino do ESP32, e configurar o pino do ESP32 como entrada digital com pull-up, a tabela a seguir mostra a relação entre a posição da chave e os valores lidos pelo ESP32:
| Posição da chave DIP | Representação binária | Estado do circuito | Estado do pino do ESP32 |
|---|---|---|---|
| ON | 1 | FECHADO | LOW |
| OFF | 0 | ABERTO | HIGH |
Nas próximas partes, vamos usar uma chave DIP de 4 posições como exemplo. Você pode adaptar facilmente para chaves DIP de 2 posições, 3 posições, 5 posições, 6 posições, 8 posições e 10 posições...
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.
Código ESP32 - Chave DIP
Vamos aprender com dois códigos:
- Lendo o estado ON/OFF de cada posição da chave DIP.
- Codificando as posições em um número.
Código ESP32 - Lendo o estado ON/OFF da chave DIP
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 no Arduino IDE.
- Faça a ligação como na imagem acima.
- Conecte a placa ESP32 ao seu PC por um cabo USB Type-C
- Abra o Arduino IDE no seu PC.
- Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
- Clique no botão Upload no Arduino IDE para carregar o código no ESP32
- Coloque cada posição da chave DIP em ON, uma por uma.
- Veja o resultado no Serial Monitor.
Código ESP32 - Codificando os estados da chave DIP em um número
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 no Arduino IDE.
- Faça a ligação como na imagem acima.
- Conecte a placa ESP32 ao seu PC por um cabo USB Type-C
- Abra o Arduino IDE no seu PC.
- Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
- Faça upload do código acima para o ESP32
- Coloque cada posição da chave DIP em ON, uma por uma.
- Veja o resultado no Serial Monitor. Ele se parece com o abaixo.
Observe que o valor depende das posições de cada chave deslizante. A tabela abaixo mostra a relação entre as posições ON/OFF e o valor inteiro para uma chave DIP de 4 posições:
| Posição-1 | Posição-2 | Posição-3 | Posição-4 | Valor Binário | Valor Decimal |
|---|---|---|---|---|---|
| OFF | OFF | OFF | OFF | 0000 | 0 |
| OFF | OFF | OFF | ON | 0001 | 1 |
| OFF | OFF | ON | OFF | 0010 | 2 |
| OFF | OFF | ON | ON | 0011 | 3 |
| OFF | ON | OFF | OFF | 0100 | 4 |
| OFF | ON | OFF | ON | 0101 | 5 |
| OFF | ON | ON | OFF | 0110 | 6 |
| OFF | ON | ON | ON | 0111 | 7 |
| ON | OFF | OFF | OFF | 1000 | 8 |
| ON | OFF | OFF | ON | 1001 | 9 |
| ON | OFF | ON | OFF | 1010 | 10 |
| ON | OFF | ON | ON | 1011 | 11 |
| ON | ON | OFF | OFF | 1100 | 12 |
| ON | ON | OFF | ON | 1101 | 13 |
| ON | ON | ON | OFF | 1110 | 14 |
| ON | ON | ON | ON | 1111 | 15 |