Tenho realizado vários testes com os exemplos disponíveis no ambiente de desenvolvimento do Arduino, e me deparei com a seguinte situação.

Depois de fazer o upload do exemplo de WebServer, resolvi desmontar as ligações e retirar a Ethernet Shield W5100 da Atemega2560, desliguei o cabo USB do Arduino, desconectei a Ethernet Shield, voltei a ligar o cabo USB, tentei fazer um upload de outro exemplo e simplesmente não obtive nenhuma resposta da Atemega2560.

Depois de várias tentativas resolvi remontar a Ethernet Shield na Atemega2560 e depois de inicializar as configuração obtive uma resposta da mesma, então consegui fazer upload de outro exemplo, em seguida resolvi desmontar novamente a Ethernet Shield da Atemega2560, assim que religuei o cabo USB a Atemega2560 ela inicializou sem problemas e consegui fazer upload de outros exemplos também.

Não sei se mais alguém se deparou com a mesma situação então fica aqui registrado minha experiência.

Até o próximo post.

Testando o SD Card da Ethernet Shield W5100

Neste projeto de automação residencial que estou desenvolvendo, pretendo acessar os comandos via browser de internet, então vou precisar de uma página html neste projeto.
 
Uma boa prática em programação é saber verificar que alguns dados necessitam alteração constante, e sendo estes não intrínsecos ao fonte do sistema o mais correto seria armazená-los num banco de dados, mas como não dispomos de tal suporte de acesso direto a uma base de dados pelo Arduino podemos então utilizar o SD Card disponível na Ethernet Shield W5100 para armazenar o fonte html.

Realizando alguns testes com o cartão SD, me deparei que em algumas vezes o Arduino não conseguiu inicializar o SD e para resolver esta situação implementei a seguinte função.

const int chipSelect = 4;

void setup()
 

{

   Serial.begin(9600);
   iniciaSD();

}

void iniciaSD()
{
 

   while (!SD.begin(chipSelect)) {
   Serial.println("SD Falhou, ou não presente...");
   delay(1000);


}
 
Serial.println("SD inicializado...");
}

Esta função tenta inicializar o SD, caso não consiga, é dado um delay de 1 segundo até tentar novamente, outro ponto importante é que esta função fica em loop eterno se o SD não for inicializado.


Até o próximo post.

Ethernet Shield W5100 com Arduino Mega2560

Como encaixar a Ethernet Shield W5100 na Arduino Mega2560.

Modelos utilizados:
 * Ethernet Shield W5100 - HanRun HR911105A
 * Arduino Mega2560

Encontrei algumas dificuldades para fazer funcionar a Ethernet Shield na Mega2560, uma delas foi como de como ligar coretamente os pinos das portas SPI 11,12 e 13 que na Atemega2560 as portas SPI são as 50,51 e 52.