Vedi così
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = {
192, 168, 1, 5 }; // ip in lan
byte gateway[] = {
192, 168, 1, 1 }; // internet access via router
byte subnet[] = {
255, 255, 255, 0 }; //subnet mask
EthernetServer server(80); //server port
String readString;
const byte ButtonPinuno = 3; //pin pulsante incremento
const byte ButtonPindue = 5; //pin pulsante decremento
byte CurrentStateuno; //variabile per lo stato uno corrente
byte LastStateuno = 0; //variabile per l'ultimo stato uno
byte CurrentStatedue; //variabile per lo stato due corrente
byte LastStatedue = 0; //variabile per l'ultimo stato due
const byte ButtonPintre = 6; //pin pulsante incremento
const byte ButtonPinquattro = 7; //pin pulsante decremento
byte CurrentStatetre; //variabile per lo stato uno corrente
byte LastStatetre = 0; //variabile per l'ultimo stato uno
byte CurrentStatequattro; //variabile per lo stato due corrente
byte LastStatequattro = 0; //variabile per l'ultimo stato due //Holds number of button presses
const byte ButtonPincinque =8 ; //pin pulsante incremento
const byte ButtonPinsei = 9; //pin pulsante decremento
byte CurrentStatecinque; //variabile per lo stato uno corrente
byte LastStatecinque = 0; //variabile per l'ultimo stato uno
byte CurrentStatesei; //variabile per lo stato due corrente
byte LastStatesei = 0; //variabile per l'ultimo stato due
int contprima = 0; //Holds number of button presses.
int contseconda = 0; //Holds number of button presses
int short contterza = 0; //Holds number of button presses
//////////////////////
void setup(){
pinMode(ButtonPinuno,INPUT);
pinMode(ButtonPindue,INPUT);
pinMode(ButtonPintre,INPUT);
pinMode(ButtonPinquattro,INPUT);
pinMode(ButtonPincinque,INPUT);
pinMode(ButtonPinsei,INPUT);
//start Ethernet
Ethernet.begin(mac, ip, gateway, gateway, subnet);
server.begin();
//enable serial data print
Serial.begin(9600);
Serial.println(F("server LED test 1.0")); // so I can keep track of what is loaded
}
void loop(){
CheckButton();
// Create a client connection
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
if (readString.length() < 100) {
//store characters to string
readString += c;
//Serial.print(c);
}
//if HTTP request has ended
if (c == '\n') {
///////////////
Serial.println(readString); //print to serial monitor for debuging
client.println(F("HTTP/1.1 200 OK")); //send new page
client.println(F("Content-Type: text/html"));
client.println();
client.println(F("<HTML>"));
client.println(F("<HEAD>"));
client.println(F("<meta name='apple-mobile-web-app-capable' content='yes' />"));
client.println(F("<meta name='apple-mobile-web-app-status-bar-style' content='black-translucent' />"));
client.print(F("<meta http-equiv=\"refresh\" content=\"2\">"));
client.println(F("<link rel='stylesheet' type='text/css' href='http://homeautocss.net84.net/a.css' />"));
client.println(F("<TITLE>Home Automation</TITLE>"));
client.println(F("</HEAD>"));
client.println(F("<BODY>"));
client.println(F("<H1>Home Automation</H1>"));
client.println(F("<hr />"));
client.println(F("
"));
client.println(F("<a href=\"/?lighton\"\">Turn On Light</a>"));
client.println(F("<a href=\"/?lightoff\"\">Turn Off Light</a>
"));
client.println(F("<hr />"));
client.println(F("<H1>Dati Micro</H1>"));
client.println(contprima);
client.println(contseconda);
client.println(contterza);
client.println(F("
"));
client.println(F("<hr />"));
client.println(F("<H1>Questa pagina si aggiorna ogni 2 secondi</H1>"));
client.println(F("</BODY>"));
client.println(F("</HTML>"));
delay(1);
//stopping client
client.stop();
///////////////////// control arduino pin
if(readString.indexOf("?lighton") >0)//checks for on
{
digitalWrite(6, HIGH); // set pin 4 high
Serial.println(F("Led On"));
}
else{
if(readString.indexOf("?lightoff") >0)//checks for off
{
digitalWrite(6, LOW); // set pin 4 low
Serial.println(F("Led Off"));
}
}
//clearing string for next read
readString="";
}
}
}
}
}
void CheckButton(void){
CurrentStateuno = digitalRead(ButtonPinuno);
CurrentStatedue = digitalRead(ButtonPindue);
CurrentStatetre = digitalRead(ButtonPintre);
CurrentStatequattro = digitalRead(ButtonPinquattro);
CurrentStatecinque = digitalRead(ButtonPincinque);
CurrentStatesei = digitalRead(ButtonPinsei);
delay(10); // debounce
if(CurrentStateuno != LastStateuno)
{
if(CurrentStateuno == LOW)
{
contprima++;
}
}
LastStateuno = CurrentStateuno;
if(CurrentStatedue != LastStatedue)
{
if(CurrentStatedue == LOW)
{
contprima--;
}
}
LastStatedue = CurrentStatedue;
if(CurrentStatetre != LastStatetre)
{
if(CurrentStatetre == LOW)
{
contseconda++;
}
}
LastStatetre = CurrentStatetre;
if(CurrentStatequattro != LastStatequattro)
{
if(CurrentStatequattro == LOW)
{
contseconda--;
}
}
LastStatequattro = CurrentStatequattro;
if(CurrentStatecinque != LastStatecinque)
{
if(CurrentStatecinque == LOW)
{
contterza++;
}
}
LastStatecinque = CurrentStatecinque;
if(CurrentStatesei != LastStatesei)
{
if(CurrentStatesei == LOW)
{
contterza--;
}
}
LastStatesei = CurrentStatesei;
}