Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Enquanto trabalhava em um novo projeto, encontrei um problema em que queria controlar a luz de fundo e o contraste de uma tela LCD 1602 por meio de um Arduino, mas a tela estava realmente piscando.
Etapa 1: Caso de uso típico
Em um caso de uso típico, o contraste da tela é ajustado por meio de um resistor variável de acordo com a folha de dados. Nesse caso, através do resistor podemos ajustar a tensão que é vista no pino V0 e o contraste é ajustado de acordo. Com o Arduino, a melhor coisa que podemos gerar é um sinal PWM com um ciclo diferente, mas infelizmente o módulo não fica feliz em exibi-lo.
Etapa 2: Código usado no exemplo
Antes de entrar no esquema como podemos consertar isso, deixe-me explicar o código que estou usando.
A primeira coisa que precisamos fazer é incluir a biblioteca de cristal líquido para que possamos conectar ao monitor. Em seguida, configuramos o LCD com os pinos aos quais temos nosso monitor conectado e, adicionalmente, definimos os pinos aos quais temos nossa luz de fundo e os pinos de contraste conectados. O pino de controle de contraste na tela é V0 e está conectado ao pino 6 no Arduino e o pino de controle da luz de fundo é marcado como A e, como é basicamente um LED, ele é conectado por meio de um resistor de 220 Ohm ao pino 10 no Arduino.
Na função de configuração, primeiro definimos o brilho da tela para o máximo e, em seguida, iniciamos a comunicação com o LCD. Para ter certeza de que está funcionando corretamente, exibimos uma mensagem de “olá, mundo” e esperamos cerca de meio segundo para verificarmos se a saída está OK.
Muitas vezes, dependendo do estado do pino V0, você pode enfrentar o problema de não ter nada exibido, embora a expectativa fosse diferente. A razão para isso é o valor do pino de contraste. Se o contraste estiver muito alto, a tela quase não será visível, portanto, precisamos diminuí-lo.
Na seção de loop do código, primeiro limpamos o conteúdo do LCD e, como vamos alterar programaticamente o contraste, exibimos um texto e, em um loop, atualizamos a saída do pino e exibimos o valor atual na tela da segunda linha.
Etapa 3: Implementar Filtro RC passa-baixo
Como você pode ver, isso parece estar funcionando, mas a tela está piscando. A razão para isso é que a tela espera uma tensão fixa, mas, em vez disso, recebe um sinal PWM do Arduino. Para corrigir isso, adicionamos um filtro RC passa-baixo muito simples para que a tensão de saída possa ser filtrada e tenhamos uma saída relativamente estável.
O filtro passa-baixa é composto por um resistor de 1 kOhm que de um lado é conectado ao pino 6 no Arduino e depois ao V0 no display. O capacitor 10 uF é conectado com seu lado negativo ao terra e o positivo é conectado ao pino V0. O resistor carrega o capacitor com os pulsos PWM e, dependendo dos ciclos de trabalho, ele é carregado com uma tensão diferente.
Etapa 4: controlar programaticamente a luz de fundo
Semelhante à forma como definimos o contraste, podemos fazer o mesmo com o pino da luz de fundo, mas sem a necessidade de adicionar um filtro passa-baixo, já que o LED da luz de fundo não fica visível ao ser ligado e desligado tão rápido.
Etapa 5: Divirta-se
Espero que este truque muito simples o ajude em seu próximo projeto. Se você gostou deste Instructable, por favor, considere me seguir e se inscrever no meu canal no YouTube.
Experimente o código no YouTube!
Saúde!