Dúvidas comuns sobre o shield ethernet Wiznet W5100

O que é esse “HanRun” e esses códigos em cima do conector ethernet? 

Esse conector é especial. É fabricado pela HanRun e dentro dele existem dois LEDs e um componente essencial chamado de “magnetics”. O código HR911105A é o modelo do conjunto. Datasheet abaixo.

Por quê você chama de “Wiznet W5100”?

Porque Wiznet é o fabricante do componente principal do shield, cujo modelo é W5100. É para ele que você tem que procurar exemplos. Veja o que está escrito no quadrado preto no centro da placa.

Por que o arduino não aparece na lista de dispositivos conectados do meu roteador?

Aquela lista não é de dispositivos “conectados” nem “detectados”. É uma lista de dispositivos que pediram um endereço IP ao roteador, através de DHCP.  Se seu sketch não usa DHCP (a maioria usa IP fixo), o seu arduino não vai aparecer na lista de nenhum roteador.

Qual o endereço MAC do shield?

Nem o shield nem o chip tem endereço MAC. O MAC é definido no seu sketch, geralmente desta forma:

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

Por um lado, isso te dá liberdade de usar o endereço que quiser. Por outro, pode dar uma baita dor de cabeça por causa da regra inviolável que diz que não podem existir dois MACs iguais em uma mesma rede. Enquanto você estiver brincando apenas com um shield não há problema, mas ao adicionar o segundo você vai ter que estar permanentemente alerta.  Por exemplo, se você já tem um Arduino em rede na sua casa e quiser debugar o programa usando um arduino na sua mesa, precisa se lembrar que o sketch de teste não pode ter o mesmo MAC do que está “em produção” (nem o mesmo IP) e também precisa lembrar que ao fazer o upload do código que  estava em teste para o arduino em produção, tem que alterar o MAC (e o IP).

O melhor modo de evitar dor de cabeça com isso é fazer seus sketches lerem o MAC de uma memória externa, que pode ser um cartão SD (perceba que o shield wiznet tem um slot) ou uma EEPROM. Você grava as memórias com MACs diferentes, bota uma etiqueta em cada uma dizendo qual é (só por organização), e esquece o problema.

Que LEDs precisam estar acesos?

Mesmo que o shield não esteja sendo usado (nenhum sketch que o use carregado), ao plugar o cabo de uma rede de 100Mbps devem acender-se quatro LEDs: PWR, LINK, 100M e FULLD. Se não acenderam esses quatro, o problema pode estar no shield ou no cabo.

Que pinos são usados pelo shield?

D4 (apenas para o SD), D10, D11,D12, D13, alimentação e o conector ICSP.

Por que o shield 1602 com keypad não funciona em conjunto com o Wiznet?

Porque o desenvolvedor do shield escolheu o pino 10 para desligar o backlight, colidindo com o requerido pelo shield Wiznet. Entorte o pino 10 do shield 1602 para que ele não entre e assim ambos vão funcionar.

Por que o sensor ultrassônico não funciona quando conecto o shield Wiznet?

Não sei. Não é defeito do sensor, nem do shield. Basta o shield estar plugado para que o sensor ultrassônico sempre retorne uma distância de 2-4cm. É como se a simples presença do shield interferisse com a temporização da função que mede o tempo de resposta do sensor. Ainda não tenho uma explicação e muito menos solução para isso.

Por que ao desligar a alimentação do arduino, quando a alimentação volta ele “sumiu” da rede?

Esse é um problema curioso que depende da sua placa base (seu arduino). Com algumas nunca acontece e com outras, você sempre precisa apertar o botão RESET   para que a rede volte a responder. É um problema que ocorre com todos os shields da mesma versão, incluindo os fabricados pela Sparkfun e pela Adafruit. Existem artifícios de hardware que podem ser usados para contornar isso, caso ocorra com você.

Ao energizar, os LEDs PWR e FULLD acendem. Plugar o cabo de rede não faz efeito.

Nem é preciso plugar o cabo para perceber que há algo errado, porque apenas PWR devia estar aceso sem um cabo de rede conectado. Apertando o botão RESET funciona? Se sim, o shield está com um problema de inicialização. Os shields com esse problema são rejeitados pelo meu controle de qualidade e reservados para meu uso apenas. Se acontecer com você no período de garantia, solicite a troca.

Datasheet HR911105A
Datasheet HR911105A
HR911105A.pdf
304.6 KiB
792 Downloads
Detalhes...
This entry was posted in Informação and tagged , . Bookmark the permalink.

10 Responses to Dúvidas comuns sobre o shield ethernet Wiznet W5100

  1. Aureo says:

    Parabéns muito bom seu trabalho, Estou usando o shield Wiznet também configurei um servidor telnet que obtêm o ip do DHCP, meu problema esta em: Como descobrir o IP que foi atribuído para minha placa em diferentes redes que a placa for instalada?
    Ps.: Pensei em um programa delphi que solicita-se em broacast, e a placa informa seu ip atual, mas não tenho ideia de como fazer isso.

    • Jefferson says:

      É dessa forma que eu faço: broadcasts UDP.

      No meu caso como os arduinos fazem telemetria e a comunicação por UDP basta, assim que são ligados começam a transmitir os valores por broadcast UDP. Um outro arduino apenas fica escutando esses broadcasts e exibe os valores em um display.

      Mas você também pode fazer um broadcast perguntando “onde você está?”, pegar o IP da resposta e conectar por Telnet com ele.

      Pesquise sobre como fazer broadcasts UDP com Delphi. É mais difícil fazer o programa lidar com computadores que tem mais de uma interface de rede do que fazer o broadcast.

  2. Douglas Simon Camargo says:

    O shield funciona com a alimentação via USB, ou só com alimentação externa ?
    Pois alimento meu Arduíno+shield e somente os leds PWR e FULLD acendem, colocar o cabo de rede não acontece nada, mesmo apertando o botão RESET, não funciona.
    Tem alguma coisa que eu possa fazer como contornar esse problema ?

    • Jefferson says:

      O Wiznet W5100 é muito fresco com alimentação e usar fonte externa é recomendado. Porém conforme eu digo no meu texto eu considero esse sintoma defeito do shield.

  3. Ademilton S.Leite says:

    Estou com problemas no meu Shield W5100 + Arduino UNO R3

    Carreguei o exemplo de webserver do Arduino, alterando somente o IP, inicialmente funcionou as portas Analógicas flutuando os valores, e após algum tempo ( 2min) as portas analógicas pararam de flutuar.
    Consultei um amigo, ele me pediu para filmar os estados da placa e da tela do browser para ver.
    Segundo ele há um problema, o LED amarelo próximo ao AREF/GND fica aceso direto, mesmo sem nenhum Sketch gravado nele.
    Com um Sketch webserver gravado neles eu não estou conseguindo mais ver no browser da internet as portas Analógicas flutuarem, a mensagem agora é ” A página Expirou “.
    Comecei a procurar na internet algo para resolver ou que me desse uma luz, e num forum dizia : ” se estiver acontecendo isto verifique a ponte resistiva próximo ao RJ45 de 49R9 ohms, se tiver em seu lugar uma ponte de 511 ao invés de 49R9 ou 510 faça o seguinte ( coloque 2 resistores de 100 ohms soldados entre os pinos 1 e 2 e 3 e 6 do conector RJ45 que o problema desaparece……eu fiz…mas não mudou nada piorou…..então retirei tudo novamente…
    Em contato com o amigo que identificou a falha, eu mencionei à ele ” Como posso saber se o problema está na Shield ou no Arduino” , ele falou: ” Teste as portas Analógicas individualmente com um trimpot e veja seu funcionamento” eu testei com um Sketch de teste para portas analógicas e o resultado foi positivo a” as portas Analógicas estão funcionando perfeitamente no Arduino UNO.

    Minha dúvida agora é: ” Posso condenar a placa Shield W5100, estaria ela com defeito mesmo ou não? ”

    Por favor me ajudem!!!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *