segunda-feira, 8 de julho de 2013

Arduino WebServer - como ler valores dos pinos analógicos no navegador

Este experimento é muito simples, apenas fiz o que está no exemplo incluído junto com a IDE do Arduino (se tiver dificuldades para encontrar veja o caminho no vídeo) para testar a nova placa/shield que acabei de comprar...


Foi tudo muito simples, apenas conectei o Ethernet Shield sobre o Arduino UNO R3 e fiz o upload do código através da entrada USB.  * Fiz apenas algumas adições de codigo html para a página ficasse mais agradável - e em português
Em seguida conectei o cabo de rede que está ligado ao roteador e abri o Serial Monitor na IDE Arduino para acompanhar o resultado de conexão. Na janela ele apresentou o ip e uma mensagem de que a conexão tinha sido feita com sucesso.

O passo seguinte foi digitar este mesmo ip no navegador do notebook (ligado à rede por wireless) e ver a página gerada ser carregada. Conforme programado, ela era atualizada a cada 1 segundo com os valores dos pinos analógicos.

Os valores mostrados pelos pinos no caso deste exemplo não significam nada pois estavam desconectados de qualquer circuito "interessante"... apenas quando é pressionado um botão é que o pino é ligado direto ao terra (ground) e este valor fica igual à ZERO. Quando nada é pressionado o valor varia aleatoriamente.



Material utilizado:
Por não ter feito alterações significativas no código, não irei incluir ele nesta postagem.

domingo, 7 de julho de 2013

TLC5940 + Arduino: Controlando16 LEDs separadamente (independentes)

Utilizando um TLC5940 você pode controlar 16 leds utilizando apenas 5 saídas digitais do Arduino. Ainda é possivel ligar mais TLCs em série, multiplicando o número de saídas para cada IC adicionado.

O exemplo executado no vídeo e descrito com o código fonte abaixo é o "BasicUse" incluído com a library (disponível em https://code.google.com/p/tlc5940arduino/).

Material utilizado:




Faça o download da library do TLC5490 (em: https://code.google.com/p/tlc5940arduino/) e instale utilizando a IDE do Arduino.
Reinicie o programa e verá que já estarão disponíveis outros exemplos clicando em File / Examples / Tlc5490.
A ligação do TLC ao arduino deve ser feita de acordo com as instruções incluídas, mas para facilitar eu fiz esta imagem (utilizando o programa Frizing: http://fritzing.org/download/)

clique na imagem abaixo para ter uma visão das ligações:

O código fonte do exemplo BasicUse tem bastante comentários (em inglês), mas eu criei mais alguns em português para facilitar o entendimento das ações executadas em cada passo. As linhas acabaram ficando um pouco longas para serem mostradas na pequena janela de texto abaixo, mas se você colar na janela do IDE do Arduino e maximizar, poderá ler confortavelmente todos os comentários.
O comando principal desta biblioteca é o "Tlc.set(channel (0-15), value (0-4095))" onde channel é o número do pino para qual você está enviando o comando (de 0 a 15 se for apenas um TLC), e value é o valor enviado à aquele pino. No cado dos LEDs, um valor de 0 seria totalmente apagado e 4095 é aceso com o brilho máximo.
Note que valores intermediários entre 0 e 4095 fazem a dimerização (fade) do led, portanto não é necessário (nem permitido) a utilização de analogWrite() para fazer PWM destes pinos.

Creio que o código está bem comentado, qualquer dúvida utilize os comentários do blog!

 código fonte: copie e cole no IDE do Arduino!