-
Como funciona o potenciômetro
-
Como fazer a interface do ESP32 com um potenciômetro
-
Como programar o ESP32 para ler o valor de um potenciômetro
- Como converter o valor lido de um potenciômetro para o valor útil
Hardware usado neste tutorial
1 | × | Módulo de desenvolvimento ESP-WROOM-32 | |
1 | × | Cabo Micro USB | |
1 | × | Potenciômetro | |
1 | × | Protoboard | |
3 | × | Fios de ligação |
Introdução ao potenciômetro
O potenciômetro (também conhecido como sensor de ângulo rotativo) é usado para alterar as configurações (por exemplo, o volume do alto-falante, a temperatura da sala, o brilho da lâmpada...)
Pinagem do potenciômetro
Um potenciômetro geralmente tem 3 pinos:
-
Pino VCC: conecte este pino ao VCC (5V ou 3.3v)
-
Pino GND: conecte este pino ao GND (0V)
-
Pino de saÃda: envia a tensão para o pino de entrada do ESP32.
ESP32 - Potenciômetro Rotativo
O pino de entrada analógica do ESP32 converte a tensão (entre 0v e 3,3V) em valores inteiros (entre 0 e 4095), chamados de valor ADC ou valor analógico.
Podemos conectar o pino de saÃda do potenciômetro ao pino de entrada analógica de um ESP32 e, em seguida, ler o valor analógico do pino.
O valor analógico do pino de entrada pode ser redimensionado para outro valor. Vamos ver os casos de uso:
-
Redimensione o valor analógico para o ângulo do potenciômetro.
-
Reescalone o valor analógico para a tensão do potenciômetro.
-
Redimensione o valor analógico para o valor de configuração (por exemplo, o volume do alto-falante, a temperatura da sala, o brilho da lâmpada...)
Redimensionar intervalo
A PARTIR DE | PARA | |||
---|---|---|---|---|
Ângulo | girado pelo usuário | 0° | → | ANGLE_MAX° |
Tensão | do pino do potenciômetro | 0V | → | 3,3 V |
Valor ADC | lido pelo ESP32 | 0 | → | 4095 |
Valor de configuração | convertido por ESP32 | VALUE_MIN | → | VALUE_MAX |
Diagrama de fiação entre potenciômetro e ESP32
Esta imagem é criada usando Fritzing . Clique para ampliar a imagem
Como programar o potenciômetro
-
Leia o valor de um pino de entrada, que se conectou ao pino de saÃda do potenciômetro usando a função analogRead() .
-
Redimensione para o ângulo do potenciômetro usando a função map() .
-
Reescala para a tensão do potenciômetro:
-
Reescalonar para o valor controlável (por exemplo, volume do estéreo, brilho, velocidade do motor DC...)
-
Por exemplo, redimensionar para o brilho do LED. Conforme mencionado neste tutorial, o brilho do LED pode ser controlado usando o valor PWM de 0 (sempre OFF ) a 255 (sempre ON ). Portanto, podemos mapear o valor analógico para o brilho do LED (de OFF para o mais brilhante) da seguinte forma:
Se você quiser escurecer o LED da luz noturna para o mais brilhante,