Vez em quando consigo umas coisas bem legais na sucata, alguns já conhecem o meu problema com esse tipo de coisa e fornecem aparelhos para que eu possa assimilar. Algum tempo atrás ganhei de uma professora uma impressora/Scanner Lexmark quebrada, desmontei-a e guardei a eletrônica e algumas partes da mecânica e joguei a carcaça e o o que sobrou fora. Entre os componentes da parte eletrônica estava o sensor do Scanner, que guardei sem imaginar algo bacana pra fazer.
Esses dias estava fazendo scan de umas provas para estudar pra uma final, mas em outra impressora é claro, e reparei quando levantei a tampa que o sensor do scanner emitia uma luz verde, isso me fez pensar que em um hack do Sprite_tm, em ele falava que esses sensores possuem um LED RGB para iluminação além do sensor para scan da imagem, isso em scanners mais modernos, nos antigos o que você vai encontrar é um monte de espelhos e uma lâmpada fluorescente (O que não deixa de ser legal, ainda mais por fornecer um conversor boost de bandeja).
Bacana, só precisava achar agora onde eu havia colocado esse sensor e esperar que fosse desse tipo, já que nem lembrava como era.
Bom, depois de uma boa procura na minha bagunça eu consegui encontrá-lo, mas era bom esperar acabar a última semana de aula pra poder passar um tempo entendendo a pinagem do sensor e coisa do tipo. Depois de encerrado o semestre, descobri com o uso de um multímetro que no encaixe do cabo, quatro dos contatos são ligados diretamente ao LED RGB, nada de resistores, só o LED, que era ânodo comum aliás.
Como o LED RGB contínua sendo um LED, este foi ligado ao Arduino da maneira usual, a diferença é que como este LED é ânodo comum o mesmo deve ser ligado ao 5V e não no GND, e para acender uma das cores o pino relativo aquela cor deve ser colocado em LOW.
Feito isso, bastava criar um código bacana pra mostrar umas cores bonitas.
Esse código pode ser usado para qualquer LED RGB, desde que ânodo comum, talvez aquele que está jogado na sua maleta seja cátodo comum e algumas pequenas alterações sejam necessárias, mas é coisa pouca. Segue abaixo o código Arduino:
//Escrito por Robson Couto //Dezembro de 2014 //www.dragaosemchama.com.br //definição dos pinos utilizados #define blue 9 #define red 10 #define green 11 int bluevalue,greenvalue,redvalue,i,j,k; //variáveis a conter o valor //da onda em cada pino void setup(){ pinMode(blue,OUTPUT);//pinos como saída pinMode(red,OUTPUT); pinMode(green,OUTPUT); redvalue=128; //primeira cor =vermelho+verde=amarelo greenvalue=128; bluevalue=0; i=-1; j=1; k=0; } void loop(){ redvalue=redvalue+i;// mudanças no valor em cada pino a cada ciclo do loop greenvalue=greenvalue+j; bluevalue=bluevalue+k; analogWrite(red,255-redvalue);//atuaização dos valores em cada pino analogWrite(green,255-greenvalue); analogWrite(blue,255-bluevalue); delay(50);//pode ser variado para troca mais rápida ou lenta de cores. if(redvalue==255){ //define se uma cor vai ser aumentada, decrescida ou zerada. i=-1; //confira imagem ilustrativa no post para mais detalhes. j=1; k=0; } if(greenvalue==255){ i=0; j=-1; k=1; } if(bluevalue==255){ i=1; j=0; k=-1; } }
O que esse código faz, em suma, é trocar os valores entre vermelho, verde a azul. Você pode ver como os valores são passados ao LED a partir da função analogWrite() na onda representada na imagem abaixo:
Quando as cores são misturadas, essas são origem a novas cores, por exemplo, vermelho e verde resultam na cor amarela, enquanto vermelho e azul resultam em magenta.
Abaixo um vídeo da coisa funcionando, as cores vão sendo trocadas lentamente mas você pode deixar ao seu gosta apenas mudando o valor do delay() no loop do código.
Então é isso, obrigado por ler e qualquer dúvida é só deixar nos comentários que a gente ajuda. Não esquece de curtir a página do Dragão no Facebook também. Até outro post sobre tecnologia/ Arduino/DIY/ Sucata/tanto faz.
Olá Robson! Gostei muito do seu tutorial; tenho alguns desses módulos, tirados de impressoras; mas, gostaria de saber uma coisa: qual a voltagem e, principalmente a corrente que esses Leds podem ser submetidos pois, eu liguei um em uma fonte de 5V de 4A e, parece que queimou o Vermelho… Obrigado
Poxa Daniel. Eu fiz esse tutorial há um tempinho e noobei nessa questão dos resistores. Cada terminal (R,G e B) tem que ter um resistor. Como não se tem datasheet desse LED fica difícil saber a corrente que eles precisam e a queda de tensão no mesmo. Sugiro algo em torno de 220 ou 330 ohm.
Que pena :( Mas pelo menos se as componentes verde e azul ainda funcionam dá pra fazer algo legal.
Abraço.
Obrigado por me responder Robson!
Fiz como vc falou: coloquei resistores de 330 ohm e funcionou!
Outra coisa: vc já tentou tirar a lâmpada (Led) do invólucro de plástico preto? Pois, acho que fica mais fácil de se fazer (montar) algo mais estético não é?
Abçs
Oi Daniel.
Eu lembro que abri e era até bem fácil. Mas a parte transparente que difunde a luz ficava presa nesse plástico preto que você vê na imagem. Como já tinha LEDs RGB aqui eu deixei coberto mesmo.
Abraço.