Seguinte, ja comentei em algumas discussões anteriores o problema que venho enfrentando com minha ethernet w5100 da china.. Eu cheguei utiliza-la sem problemas por pouquissimo tempo.. Ela ficou um tempo parada e agora não consigo mais utiliza-la.

Ela começou a esquentar muito.. não consigo ficar 1 segundo com o dedo sobre o chipset. 

Como não sabia se isso tinha danificado ou não a placa resolvi começar os testes. 

Rodei 2 codigos: 

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xAB, 0xCD, 0x12, 0x34, 0xFF, 0xCA };

IPAddress ip(192,168,0,100);         //Define o endereço IP
IPAddress gateway(192,168,0,1);     //Define o gateway
IPAddress subnet(255, 255, 255, 0); //Define a máscara de rede

void setup() 
{
  Ethernet.begin(mac, ip); 
}

void loop() {}

Fiz o teste de ping e tive sucesso, 0% de perdas..

Tentei então o WebServer (codigo de exemplo da biblioteca Ethernet) - Não tive resposta no navegador. 

Mudei o MAC da placa para o { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED } mas tambem não funcionou.

Tentei rodar outro codigo simples de leds com botões:

//Programa : Webserver com aviso de acionamento de botoes
//Autor : Arduino e Cia
//Baseado no programa exemplo Webserver, de David Mellis e Tom Igoe

#include <SPI.h>
#include <Ethernet.h>

//A linha abaixo permite que voce defina o endereço fisico (MAC ADDRESS) da placa de rede
byte mac[] = { 0xAB, 0xCD, 0x12, 0x34, 0xFF, 0xCA };

//Os valores abaixo definem o endereço IP, gateway e máscara. Configure de acordo com a sua rede.
IPAddress ip(192,168,0,100);         //Define o endereço IP
IPAddress gateway(192,168,0,1);     //Define o gateway
IPAddress subnet(255, 255, 255, 0); //Define a máscara de rede

//Inicializa a biblioteca da placa ethernet com as configurações de IP fornecidas
EthernetServer server(80);

int botao1 = 6;   //Botao que aciona o led vermelho
int botao2 = 7;   //Botao que aciona o led verde
int pinoled=4;    //Pino ligado ao led vermelho
int pinoled2=5;   //Pino ligado ao led verde
int leitura = 0;  //Armazena o valor de leitura do botao1
int leitura2 = 0; //Armazena o valor de leitura do botao2
char mensagem[20];   //Mensagem a ser apresentada para o botao1
char mensagem2[20];  //Mensagem a ser apresentada para o botao2

void setup()
{
  pinMode(pinoled, OUTPUT); //Led
  pinMode(pinoled2, OUTPUT); //Led
  pinMode(botao1, INPUT);
  digitalWrite(botao1, HIGH);
  pinMode(botao2, INPUT);
  digitalWrite(botao2, HIGH);

  //Inicializa a conexao ethernet e o servidor web na porta 80
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}

void loop()
{
   leitura=digitalRead(botao1);   //Verifica o status do Botao1 e imprime mensagem no browser
   if (leitura == 0)
     { 
       digitalWrite(pinoled,1);
       char mensagem[] = "Botao 1 acionado !!!";
       char mensagem2[] = "Aguardando...";
       apresentadados(mensagem,mensagem2);
       delay(5000);   //Mantem o led aceso por 5 segundos
       apresentadados("Aguardando...", "Aguardando...");  //Imprime mensagem padrao, aguardando novo acionamento
       digitalWrite(pinoled,0);
     }
  
   leitura2=digitalRead(botao2); //Verifica o status do Botao2 e imprime mensagem no browser
   if (leitura2 == 0)
     { 
       digitalWrite(pinoled2,1);
       char mensagem[] = "Aguardando...";
       char mensagem2[] = "Botao 2 acionado !!!";
       apresentadados(mensagem,mensagem2);   
       delay(5000);  //Mantem o led aceso por 5 segundos
       apresentadados("Aguardando...", "Aguardando...");  //Imprime mensagem padrao, aguardando novo acionamento
    digitalWrite(pinoled2,0);   
     }
 }

//Rotina que recebe os valores de Mensagem e Mensagem2, imprimindo o resultado no browser
void apresentadados(char msg[], char msg2[])  
{
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
  client.println("Refresh: 0");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          client.print("Estado Botao 1 : ");
          client.print(msg);
          client.println("<br />");
          client.print("Estado Botao 2 : ");
          client.print(msg2);
          client.println("<br />");
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        } 
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disonnected");
  }
 }

Não tive sucesso tambme..

Não sei se isso tem alguma coisa a ver com o problema, e não lembro se ela acendia antes.. Mais no conector RJ45, somente o led da direita esta acendendo.. 

Ajuda??

Exibições: 2177

Responder esta

Respostas a este tópico

Ninguem ?? 

Sugiro ler algum registrador de configuração do chip para ver se ele esta vivo....

Desculpe, pode explicar melhor??

Estude a library Ethernet e veja se tem algum registrador que possa ser lido...

 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço