Potenciômetro Digital X9C104: Como Usar ?
Olá, caro(a) leitor(a)! o Potenciômetro Digital X9C104, assim como outros potenciômetros digitais, pode ser útil em vários tipos de circuito, como no controle de volume de um sistema de som, ou controle de luminosidade de um display, exatamente como um potenciômetro analógico comum, mas com algumas vantagens, como a possibilidade de controle à distância, de automação e maior acurácia.
Porém, é importante conhecer seu funcionamento e as ter noções básicas de como programar o seu, para colocar suas ideias em prática. E é justamente para isso que fizemos esse post!
Então vamos lá… como ele funciona ?
O Potenciômetro Digital X9C104 é um Circuito Integrado (CI) de uma linha de vários potenciômetros digitais, a diferença entre eles é basicamente a resistência máxima que cada um pode oferecer, nesse caso 100kΩ! Aliás, nossa loja também tem o modelo X9C103S, de 10kΩ.
1. Alimentação:
![A imagem mostra as ligações de alimentação do Módulo Potenciômetro Digital X9C104](https://i0.wp.com/autocorerobotica.blog.br/wp-content/uploads/2025/01/6.png?resize=300%2C300&ssl=1)
2. Controle
Seu funcionamento consiste em 99 resistores em série, e o controle se baseia em selecionar por quantos desses resistores a corrente irá passar, podemos então pedir que se acrescente 1 a mais ou a menos nessa “fila”.
Imagem 3 – Pinos de Controle do Potenciômetro Digital X9C104
Os pinos de controle servem justamente para realizar essa alteração no circuito interno, o pino INC significa incremento, mas nesse contexto essa palavra tem sentido de “mudança”. O pino U/D (Up or Down) irá decidir se essa mudança será um acréscimo ou um decréscimo de resistência, de acordo com seu estado, HIGH ou LOW, e finalmente, o pino CS (Chip Select), que existe para selecionar que as alterações serão feitas em uma placa específica, para facilitar aplicações de mais de um Potenciômetro Digital X9C104. Esses pinos devem ser ligados em portas lógicas digitais do microcontrolador, no modo OUTPUT.
Além disso, o Potenciômetro Digital X9C104 possui memória não volátil!!! O que significa que, mesmo que o Potenciômetro Digital X9C104 seja desligado, ao restaurar a energia, o módulo retornará à última posição salva. O módulo salva a posição sempre que o CS transita para HIGH enquanto a entrada INC também está HIGH. No nosso código de exemplo, a posição será salva a cada alteração! mas você pode adicionar um botão para isso, ou controlar esse processo de outras formas.
3. O potenciômetro
Imagem 4 – Pinos de Uso do Potenciômetro Digital X9C104
Essa parte é o potenciômetro em si, temos os pinos RH, RW e RL, podemos ignorar o R para entender melhor esses pinos, RH simboliza HIGH, ou seja, que recebe a alimentação positiva, o pino RL simboliza LOW, que é ligado ao GND, e o pino RW é o chamado “Wiper” ou “Varredor” (pois ele pode fazer a varredura na sequência de resistores), ele vai ser a saída do potenciômetro, com a tensão aplicada em RH, sendo alterada pelos resistores, podemos fazer uma analogia direta com potenciômetros lineares, da seguinte forma:
Imagem 5 – Analogia entre os pinos de um potenciômetro analógico e o Potenciômetro Digital X9C104
Também vale comentar que a tensão deve ser menor ou igual que a inserida em VCC, ou seja, 5V
Pronto! Vamos colocar a mão na massa
Agora que temos essas informações todas, podemos fazer um circuito para controlar e verificar a resistência:
Imagem 6 – Circuito Básico com Potenciômetro Digital X9C104
Vamos usar um ohmímetro/multímetro para verificar as mudanças na resistência, abaixo também vamos listar as conexões dos pinos:
- VCC -> 5V
- RH -> + do ohmímetro
- RW -> – do ohmímetro
- RL -> GND
- GND -> GND
- VCC -> 5V
- GND -> GND
- INC -> D4
- U/D -> D5
- CS -> D6
Você pode usar o código a seguir para fazer essa aplicação:
// Definindo os pinos const int CS_PIN = 6; // Pino de seleção do chip const int INC_PIN = 4; // Pino de incremento const int UD_PIN = 5; // Pino de Up/Down const int BTN_INC_PIN = 2; // Pino do botão de incremento const int BTN_DEC_PIN = 3; // Pino do botão de decremento void setup() { pinMode(CS_PIN, OUTPUT); pinMode(INC_PIN, OUTPUT); pinMode(UD_PIN, OUTPUT); pinMode(BTN_INC_PIN, INPUT_PULLUP); pinMode(BTN_DEC_PIN, INPUT_PULLUP); Serial.begin(9600); // Estado inicial dos pinos digitalWrite(CS_PIN, HIGH); digitalWrite(INC_PIN, HIGH); digitalWrite(UD_PIN, LOW); } void loop() { // Ler os estados dos botões bool botaoInc = (digitalRead(BTN_INC_PIN) == LOW); bool botaoDec = (digitalRead(BTN_DEC_PIN) == LOW); if (botaoInc) { digitalWrite(UD_PIN, HIGH); // Direção: incremento digitalWrite(CS_PIN, LOW); // Seleciona o chip // Pulso no INC digitalWrite(INC_PIN, LOW); delay(20); digitalWrite(INC_PIN, HIGH); delay(20); digitalWrite(CS_PIN, HIGH); // Desseleciona o chip Serial.println("Aumentando resistência."); delay(500); // Evita múltiplos acionamentos } if (botaoDec) { digitalWrite(UD_PIN, LOW); // Direção: decremento digitalWrite(CS_PIN, LOW); // Seleciona o chip // Pulso negativo no INC (HIGH -> LOW -> HIGH) digitalWrite(INC_PIN, LOW); delay(20); digitalWrite(INC_PIN, HIGH); delay(20); digitalWrite(CS_PIN, HIGH); // Desseleciona o chip Serial.println("Diminuindo resistência."); delay(500); // Evita múltiplos acionamentos } }
Veja na prática:
Vídeo 1 – Funcionamento do Potenciômetro Digital X9C104
E ai ? Gostou do post ?
Comente aqui embaixo sua opinião, assim como suas dúvidas sobre o Potenciômetro Digital X9C104!