Hey there,
i have written an programm to communicate between my PC and the Arduino Ethernet. But after a few successful conections, something break and the board accept no connections. (Timeout). Is there a mistake in my code?
#include <Ethernet.h>
#include <SPI.h>
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0xDD, 0x5C };
byte ip[] = { 192, 168, 87, 201 };
byte gateway[] = { 192, 168, 87, 254 };
byte subnet[] = { 255, 255, 255, 0 };
int val = 0;
EthernetServer server(8765);
void setup()
{
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
/*pinMode(10, INPUT);
pinMode(11, INPUT);*/
}
void loop()
{
// if an incoming client connects, there will be bytes available to read:
EthernetClient client = server.available();
if (client == true)
{
byte input = client.read();
if(input == 110) //Tor 1 Hoch
{
digitalWrite(0, HIGH);
delay(500);
digitalWrite(0, LOW);
server.write(input);
}
else if(input == 111) //Tor 1 Runter
{
digitalWrite(1, HIGH);
delay(500);
digitalWrite(1, LOW);
server.write(input);
}
else if(input == 112) //Tor Status Up
{
val = digitalRead(2);
if(val == HIGH)
server.write(200);
else
server.write(100);
}
else if(input == 113) //Tor Status Down
{
val = digitalRead(3);
if(val == HIGH)
server.write(200);
else
server.write(100);
}
//#######################################
else if(input == 120) //Tor 2 Hoch
{
digitalWrite(4, HIGH);
delay(500);
digitalWrite(4, LOW);
server.write(input);
}
else if(input == 121) //Tor 2 Runter
{
digitalWrite(5, HIGH);
delay(500);
digitalWrite(5, LOW);
server.write(input);
}
else if(input == 122) //Tor Status Up
{
val = digitalRead(6);
if(val == HIGH)
server.write(200);
else
server.write(100);
}
else if(input == 123) //Tor Status Down
{
val = digitalRead(7);
if(val == HIGH)
server.write(200);
else
server.write(100);
}
//#######################################
else if(input == 130) //Tor 3 Hoch
{
digitalWrite(8, HIGH);
delay(500);
digitalWrite(8, LOW);
server.write(input);
}
else if(input == 131) //Tor 3 Runter
{
digitalWrite(9, HIGH);
delay(500);
digitalWrite(9, LOW);
server.write(input);
}
else
{
server.write(44);
}
}
}