Bom dia pessoal.

Meu nome é Renato e sou novo no site. Enfim..

Ontem comprei um Shield de Ethernet baseado no Enc28j60 e estou tentando ligar ele no meu Arduino Mega (2560), usando o exemplo Hello World (com esta biblioteca: link), porém ele funciona somente na primeira requisição (estou usando ip fixo) e nas outras ele para de responder (isto é visível também pelo ping, ou seja, quando ligo o arduino ele pinga normal até a primeira requisição, depois para de pingar).

Para entender melhor, o que acontece é o seguinte: 

- Enviei o exemplo para o Arduino, fiz as ligações conforme a imagem: 

- Pinguei o ip que setei estático e ele respondeu.

- Acessei o ip via browser e ele me retornou a pagina que está como resposta (apenas um Hello World).

- Quando tento acessar novamente ele para de responder (inclusive para de pingar também).

Ou seja, só funciona quando eu envio a primeira requisição ao ip, depois ele para de responder..

Segue o código do exemplo do hello world da biblioteca acima (que estou usando):

// A simple web server that always just says "Hello World"

#include "etherShield.h"
#include "ETHER_28J60.h"

static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24}; // this just needs to be unique for your network,
// so unless you have more than one of these boards
// connected, you should be fine with this value.

static uint8_t ip[4] = {192, 168, 100, 50}; // the IP address for your board. Check your home hub
// to find an IP address not in use and pick that
// this or 10.0.0.15 are likely formats for an address
// that will work.

static uint16_t port = 80; // Use port 80 - the standard for HTTP

ETHER_28J60 ethernet;

void setup()
{
ethernet.setup(mac, ip, port);
}

void loop()
{
if (ethernet.serviceRequest())
{
ethernet.print("<H1>Hello World</H1>");
ethernet.respond();
}
delay(100);
}

Desculpem, não achei a tag de códigos..

Alguém pode me ajudar?

Agradeço desde já.

Exibições: 2272

Responder esta

Respostas a este tópico

O que da pra você fazer pra usar do um gnd, é teoricamente assim.

o fio que sai do componente de 3v você "tranforma" ele em 5v, mais pra isso você tem que saber quanto um componente 5v manda em 0 e 1, e depois fazer com que o final da saída de um componente 3v se iguale a esse.

 

Isso na TEORIA da certo.

Felizmente não precisarei fazer esta transformação, conforme minha resposta acima, mas tem um conversor de nível lógico vendido aqui no Lab que serve justamente pra isto. 

Manja e ir?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço