O que você vai ver neste post:
Objetivo
O objetivo deste post é o de desenvolver um projeto que faz a leitura de três potenciômetros e acende um LED RGB, fazendo com que sua cor seja determinada por tais leituras.
Caso queira entender mais e dar os primeiros passos com o Arduino, deixo como sugestão a leitura do post: “Primeiros passos com o Arduino“.
Montagem do circuito
Para montar o nosso circuito precisaremos de:
- 1 LED RGB;
- 3 potenciômetros de 10kΩ;
- 1 Arduino Uno R3;
- 3 resistores de 220Ω;
- 1 Protoboard;
- Fios para conexão.
Com o intuito de facilitar a compreensão na hora da montagem, segui um padrão de cores, conforme segue abaixo:
- Marrom – Tensão de 5V
- Cinza – Terra (GND – Ground)
- Vermelho – Passagem de dados referente a cor vermelha
- Verde – Passagem de dados referente a cor verde
- Azul – Passagem de dados referente a cor azul
Com isso em mente, o nosso circuito deverá ficar assim:
Começaremos com as conexões para energizar a placa protoboard. Fio marrom, na saída 5V até a linha + da protoboard. Fio cinza saindo do GND até a linha – da protoboard.
Os potenciômetros possuem três terminais. Eu defini que o terminal esquerdo de qualquer potenciômetro neste projeto será conectado ao positivo (+) da protoboard, já o terminal direito de cada potenciômetro será conectado ao negativo (-) da protoboard. Caso você inverta esta sequência, não tem problema, o que acontecerá é que o sentido de rotação do potenciômetro irá inverter. Neste caso, ao rotacionar o pino do potenciômetro no sentido anti-horário seus valores aumentarão, de 0 até 1023.
Já o terminal central será conectado na porta de entrada de dados, que farão a leitura obtida pelo potenciômetro em funcionamento.
Já para o LED RGB seguiremos o seguinte esquema:
Iremos conectar um resistor de 220Ω para os terminais Vermelho, Azul e Verde.
Depois disso é só conectar o outro terminal de cada resistor na porta correspondente:
- Vermelho – Porta A3;
- Verde – Porta A5;
- Azul – Porta A4;
- GND – Linha de potencial zero (-) do protoboard.
A ideia é que cada potenciômetro altere o valor atrelado a um dos terminais do LED RGB, com isso, o resultado será:
Agora, com o nosso circuito montado podemos passar para a programação.
Programação
A lógica de programação utilizada para a nossa programação será:
INÍCIO
Fazer a leitura do potenciômetro A0 e dividir o valor obtido por 4;
Fazer a leitura do potenciômetro A1 e dividir o valor obtido por 4;
Fazer a leitura do potenciômetro A2 e dividir o valor obtido por 4;
Enviar o resultado da leitura A0, A1 e A2, respectivamente para as portas A4, A5 e A3;
Fazer o LED RGB acender conforme os valores recebidos.
FIM
Com isto, nossa programação ficara assim:
Observação I: A função “analogRead()” faz leituras que podem varias de 0 a 1023, já a função “analogWrite()” trabalha em uma faixa que varia de 0 a 255, portanto se dividirmos o valor recebido do “analogRead()” por 4 ele poderá ser recebido sem problemas pelo “analogWrite()“.
Observação II: Ao programar é comum fazermos comentários sobre cada parte do seu programa, isso facilita tanto a sua vida quanto a vida de uma outra pessoa que poderá ler seu código. No caso da IDE do Arduino, tudo o que estiver escrito depois de “//” não será interpretado pelo programa, portanto serve como comentário.
Para baixar a programação do LED RGB controlado por potenciômetros, clique aqui.
Simulando no TinkerCad
Interaja com a simulação abaixo.
Uma vez que a programação for enviada ao Arduino e depois o Arduino for ligado você verá:
Dica: Que tal trabalhar conceitos de Teoria das cores muito utilizado em Arte, Física e Design? Fale sobre as diferenças de formação de cores com pigmentos e com luz. Esse tópico irá deixar seus alunos com a máxima atenção, afinal de contas, quem não gosta de cores?
E ai, tem alguma sugestão para implementar utilizando este projeto ou até mesmo melhorando este projeto?
Deixe seus comentários, bora compartilhar!
Como referenciar este post: LED RGB controlado por potenciômetros. Rodrigo R. Terra. Publicado em: 23/11/2020. Link da postagem: (http://www.makerzine.com.br/educacao/led-rgb-controlado-por-potenciometros/).