Bom dia,
Programei o arduino UNO para abrir e fechar um portão através da rede, porém depois de algum tempo o sistema trava, e só reiniciando para normalizar, acredito ser um problema no arduino UNO, porém irei postar a programação para que possam dar suas opiniões.
Obrigado.
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 0, 212 };
EthernetServer server(80);
String readString;
int Abrir = 2;
int Fechar = 3;
void setup(){
pinMode(Abrir, OUTPUT);
pinMode(Fechar, OUTPUT);
digitalWrite(Abrir, HIGH);
digitalWrite(Fechar, HIGH);
Ethernet.begin(mac, ip);
server.begin();
}
void loop(){
EthernetClient client = server.available();
if (client) {
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length() < 100) {
readString += c;
}
if (c == '\n') {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<HTML>");
client.println("<BODY>");
client.print("<font color=#FF0000><b><u>");
client.println("<H1>Interface de comando do portao</H1>");
client.println("<hr />");
client.println("
");
client.println("<a href=\"/?abrir\"\">Abrir</a>");
client.println("<a href=\"/?fechar\"\">Fechar</a>
");
client.println("</BODY>");
client.println("</HTML>");
delay(1);
client.flush();
client.stop();
if(readString.indexOf("?abrir") > 0)
{
digitalWrite(Abrir, LOW);
delay (250);
digitalWrite(Abrir, HIGH);
}
else {
if(readString.indexOf("?fechar") > 0)
{
digitalWrite(Fechar, LOW);
delay (250);
digitalWrite(Fechar, HIGH);
}
}
//readString="";
}
}
}
client.flush();
client.stop();
}
}