Olá pessoal, estou tentando conectar o arduino ethernet shield com o pc, estou usando este exemplo; http://arduino.cc/en/Tutorial/WebServer
Na conexão de rede local aparece cabo desconectado ja reconfigurei o ip porém nem o led de conexão acende, o que será que pode estar errado?
Eu diria que está a acontecer uma de milhentas coisas.
É que a qualidade da ajuda que podemos dar é proporcional à quantidade de informacão que dás. Nenhuma informacão, nenhuma qualidade.
Ah sim com certeza, bom vamos lá, estou usando um arduino ethernet shield original com o arduino mega 1280, conectei o shield no arduino, transferi o sketch baixado desse link: http://arduino.cc/en/Tutorial/WebServer
Fiz as alerações de ip e mac conforme descrito, estou usando alimentação usb. O problema é o seguinte quando plugo o cabo de rede no arduino ethernet shield o led de status do shield e placa de rede não acendem, como se estivesse desconectados, o que pode estar causando esta falha, shield com defeito?
Segue o codigo:
/*
Web Server
A simple web server that shows the value of the analog input pins.
using an Arduino Wiznet Ethernet shield.
Circuit:
- Ethernet shield attached to pins 10, 11, 12, 13
- Analog inputs attached to pins A0 through A5 (optional)
created 18 Dec 2009
by David A. Mellis
modified 20 Mar 2012
by Tom Igoe
*/
#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1, 177);
// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);
void setup() {
Serial.begin(9600);
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}
void loop() {
// 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("Connnection: close");
client.println();
client.println("");
client.println("");
// add a meta refresh tag, so the browser pulls again every 5 seconds:
client.println("<meta http-equiv="refresh" content="5">");
// output the value of each analog input pin
for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
int sensorReading = analogRead(analogChannel);
client.print("analog input ");
client.print(analogChannel);
client.print(" is ");
client.print(sensorReading);
client.println("
");
}
client.println("");
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");
}
}
Assim de repente e sem saber qual é a versão do Arduino e do Shield (principalmente do shield), diria que pode ser um problema de compatibilidade.
O Arduino normal e o Mega têm a porta SPI em locais diferentes, o que faz com que as primeiras placas do Arduino mega não fossem compatíveis com o shield Ethernet da altura.
Actualmente o shield the Ethernet deve ter um conector que liga a 6 pinos que estão localizados no centro do Mega com a inscrição ICSP. Consegues confirmar que existe essa ligação na tua placa?
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1239058804
Isso parece ser o mais óbvio uma vez que ligando a placa o W5100 (chip de Ethernet) vai activar alguns leds. Como não vês actividade nenhuma, é provável que seja algo assim.
Isto não acontece nas placas oficiais do Arduino na última geração. Mas se compraste uma placa baseada no Mega ou um clone, pode ser que esses pinos não estejam soldados. :\
Estou usando o arduino mega original, e sim realmente o problema e incompatibilidade mesmo, com o arduino uno o shield funciona normal, só que usando o sketch do site a rede não é reconhecida, poderia alguma configuração?
Já viste se o shield está a ser alimentado?
Sim está alimentado pela usb.
Da última vez que vi, o shield de Ethernet não tinha uma porta USB para o alimentar.
A alimentacão do shield é feita através do Arduino... e é exactamente aí que pode estar o problema. Na alimentacão do shield pelo Arduino... pensei que tinha sido claro acerca disso uns posts atrás.
Já encontrei o problema, está no arduino mega que é a primeira versão. No arduino uno está funcionando normalmente. Obrigado pela ajuda, agora é aprender a programar.
Boa sorte.
Olá, pessoal estou com o mesmo problema, tenho arduino mega e já que o Luis disse que não são compatíveis tem alugam coisa eu eu possa fazer para poder usa-lo assim mesmo?
Obrigado
Olá Hugobav tá sofrendo aí com o mega, da uma olhada nesse link, talvez te ajude.
http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/