I cant get my computer to communicate with the ethernet shield

I am using an ethernet shield for a project currently.

I dont know why when I tried to use the web server code to check the shied the connection time out occurs on the web page

I when try to assign an IP for the computer automatically get an ip 169.254.x.x which I have read might be the problem

But even I tried to change the settings to 192.168.x.x Ip in properties of tcp/ip4 I still dont get it work

Please help

Its urgent

Please help

Not possible. You've posted no code. You have not described what the Arduino with ethernet shield is physically connected to. You have not described whether you are using a static IP address for the Arduino or using DHCP to get a dynamic address. If using DHCP, you have not said what is serving up the address. You have not said anything about port forwarding, or what address you are trying to use to connect to the Arduino.

I am using DHCP

In the network and sharing center I chose to automatically assign an IP4 ip address

The code I am using is the Web Server example code

#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(169, 254, 173, 240);

// 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() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}

// 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(“Connection: close”); // the connection will be closed after completion of the response
client.println(“Refresh: 5”); // refresh the page automatically every 5 sec
client.println();
client.println("");
client.println("");
// 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 disconnected”);
}
}

I just changed the last digits of the IP address and it does work on the other PCs

The ethernet shield is directly connected with my PC using an ethernet cable.

I have also tried to change mac addresses or ports but it does not work

I don't know if this is your only problem, but it is one of them. If you are going to use a 169.254.x.x ip, you must assign all the other network settings too.

IPAddress ip(169, 254, 173, 240);
IPAddress gateway(169,254,0,1);
IPAddress subnet(255,255,0,0);

  Ethernet.begin(mac, ip, gateway, gateway, subnet);

The ethernet shield is directly connected with my PC using an ethernet cable.

Why? The whole reason for using an ethernet shield is so that the Arduino does NOT need to be connected to the PC. Connect the cable to the router!

Adding subnet and dns did not help

I am using my pc to send data over to MATLAB

It's possible right ?

Which ethernet shield are you using? There are a few different shields. They have w5100, w5200, w5500 and enc28j60 ethernet controllers. A link to your shield might help.

w5500

Its working on a mac but It didnt work on my pc

My pc has windows 10

Are you using a library written for the w5500? The standard ethernet library is written for the w5100 only.

Here is the library I am using. https://github.com/Wiznet/WIZ_Ethernet_Library

Thank you so much It works now You have been of great help

I am using arduino eth shield w5500 and using tcp/ip communication to send data to matlab

using arduino as client and matlab as server

i am not able to connect to matlab

similarly the fopen doesnot work on the matlab either

it gets stuck

what is wrong with the code?

#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, 0xE2
};
IPAddress server(169,254,173,248);
IPAddress ip(169, 254, 173, 240);

EthernetClient client;

void setup() {
Serial.begin(115200);
//Serial.print("server is at ");
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
if (client.connect(server, 30000)) {
Serial.println(“connected”);
// Make a HTTP request:
} else {
// if you didn’t get a connection to the server:
Serial.println(“connection failed”);
}

//Serial.println(“connected”);
}

void loop{
if (client.available()) {
char c = client.read();
Serial.print(c);
}
}

No point in repeating what you have already posted http://forum.arduino.cc/index.php?topic=410218.msg2823237#msg2823237

Its not the same post

Could be anything. Do you have that port open on your server firewall? Can you connect to the server using a PC?