Microcontroladores , Open Hardware , Open Software e Tecnologia em Geral
Blog do Je » Page 'Teste do Shield Ethernet Seeeduino'

Teste do Shield Ethernet Seeeduino

Há algum tempo estava interessado em adquirir um shield Ethernet. Pesquisei as opções do shield oficial e dos clones que utilizassem o chip W5100 da WIZNET. Optei por comprar o clone fabricado pela SeeedStudio, em virtude da boa qualidade dos produtos que eles fazem, a boa experiencia que tive em comprar outros produtos deles. O preço e frete barato para o Brasil tambem contribuiram para a escolha. Esta placa é um clone da ethernet shield oficial do Arduino mas com algumas modificações, principalmente para baratear o custo:

  • Ausência do conector para memoria SD
  • Ausência dos soquetes e conectores para replicação dos sinais do Arduino. Para ter acesso a estes sinais é necessário soldar os soquetes e pinos nos pontos mais convenientes .
  • O design da placa foi refeito , colocando todos os leds indicativos de atividade, alinhado em apenas um lado da placa

A placa é bem construída e com acabamento branco. Todos os exemplos presentes no ambiente do Arduino 0018 para o shield Ethernet, funcionaram direto sem problemas. Este shield por usar o chip Wiznet5100 e estar ligado ao Arduino da mesma forma que no shield oficial, usa os exemplos do Ethernet Shield sem modificação.

Para testar o shield , construi um sketch que cria um web-server e montei um ambiente de teste com um led e um sensor de temperatura.

O programa em execução no Arduino cria um web-server, disponibiliza o formulario abaixo, e através de um browser ( firefox, internet explorer, etc), possibilita ligar e desligar o led e tambem visualizar a temperatura lida de um sensor.

Para isso, fiz uma adaptação no programa do exemplo web-server, existente na ide arduino-0018 e usei um outro exemplo do blog “http://www.scienceprog.com/” , resultando em um pequeno formulário. O programa guarda o estado do led e o mantem aceso até ser clicada a opção de desliga-lo.

O programa tem trechos de código que merecem explicação.

A definição dos endereços ip e mac para a interface e a porta onde escutará as requisições estão definidas abaixo:


byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 169, 1, 201 };
Server server(80);

Lembre-se de alterar o endereço ip para a faixa utilizada na sua rede. No trecho abaixo, é feita a inicialização da interface e inicializada a execução do web-server


Serial.begin(9600) ;
Ethernet.begin(mac, ip);
server.begin();

Note que todo o codigo HTML transmitido para o browser é escrito via client.println.


client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
// começa a enviar o formulário
client.print("<html>") ;
client.print("<body>");


/* le sensor de temperatura , ele fornece uma resistencia
que é função da temperatura */
int analogValue = analogRead(0);
temperatura = converteTemp( analogValue) ;
client.println("<h2>TEMPERATURA AMBIENTE</h2><hr/>");
client.println(temperatura) ;
client.println("<br>") ;
client.println("<h2>CONTROLE DO LED</h2><hr/>");
client.println("<form method=get name=LED>") ;


client.println("LIGA <input ")  ;
/* verifica o status do led e ativa o radio button
correspondente */
if(LEDON) {
client.println("checked='checked'") ;
}
client.println("name='LED' value='ON' type='radio' >");
client.println("DESLIGA <input ")  ;
if(!LEDON) {
client.println("checked='checked'") ;
}
client.println("name='LED' value='OFF' type='radio' >");

Não tem JSP, ASP, PHP e outras abstrações e facilidades oferecidas por linguagens para web. Tudo é feito na unha.
O chip W5100 esquenta  e na primeira vez que liguei pensei que tinha feito algo errado, mas consultando na internet vi que é “normal” esquentar.

O programa pode ser modificado facilmente para controlar outros pinos e exibir outras informações desejadas.

Divirtam-se.

Download:
Sketch do Web Server: ExemploDeWebServer

Links:
Exemplo de WEbServer do site Arduino.cchttp://arduino.cc/en/Reference/Ethernet
Exemplo de Formulário no site ScienceProg http://www.scienceprog.com/getting-hands-on-arduino-ethernet-shield/

Posts Relacionados:
Ethernet Shield Oficial para o Arduino

Gostou deste post ? Divulgue !
delicious digg google
stumbleupon technorati Yahoo!

Deixe um comentario

XHTML - Voce pode usar:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Topo da página / Assinar para receber novos Posts (RSS)