Manual
do
Maker
.
com
Esse post é o primeiro da série de LED RGB com Arduino. Quase todo mundo nessa galáxia sabe o que é um LED, uma parte pequena das pessoas desse planeta sabem o que é RGB e uma infima parte sabe o que é um LED RGB. Então, vamos aos exclarecimentos.
A palavra LED significa Light Emissor Diode, ou em portuguẽs, Diodo Emissor de Luz. Nesse post explico em detalhes o que é um LED.
A palavra RGB significa Red Green Blue, que são as cores luz que compõe todas as outras. As cores vão de 0x00 a 0xFF, ou de 0 a 255. As combinações possíveis são de 256^3, ou 16.777.216 cores. Claro que nossos olhos não podem perceber todas as tonalidades dessas cores, mas elas existem.
Como pode-se notar na imagem, esse LED se diferencía de um led tradicional pela diferente forma que emite luz; não apenas anodo e catodo, mas nesse caso:
1 - Red
2 - Cathod
3 - Blue
4 - Green
Para se controlar as cores é necessário controlar a frequência em cada uma das pernas do LED. No catodo, temos o aterramento.
Invés de escrever o código randômico proposto, sugiro a leitura do artigo do Bruno Soares, que escreveu um código bem elaborado para se selecionar cores e é bastante intuitivo.
Para manipular o LED Bruno está utilizando processing, que não é nosso objetivo, então minhas recomendações para testar o código descrito são as seguintes:
^395743$
Isso gerará uma cor verde no LED. Envie outros valores para testar. Ao fechar a interface do monitor serial, o LED se apagará.
No código é feito deslocamento de bits - algo muito avançado em C. Refarei a explicação quando criar um seletor RGB com potenciômetro.
Seguindo a partir desse modelo, no próximo post faremos as cores variarem conforme a temperatura em cada um dos três sensores que colocaremos. Posteriormente faremos a conexão com um sensor de distância, iniciando o LED em verde, passando ao amarelo e encerrando no vermelho, conforme a distância proposta.
Link sugerido: LED RGB com Arduino e Android
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.