problema ogni refres mi da imput sul pin 8

rag aho generato uno sketch per accendere e spengere un led fin qui tutt ok pagina web carina ecc ecc pin 2 on ok off ok , pin 3 on ok off ok. ecc ecc. il pin n° 8 l' ho temporizzato , ogni volta che accendo il led si spenge d solo dopo 2 secondi . Fin qui tutto perfetto ed anche molto carino. Il problema sorge quando eseguo il refresh della pagina web xche il pin 8 si accende e si rispegne dopo i 2 secondi, cosa posso aver sbagliato?? posso postare lo sketch??

Certo, senza sketch è dura darti un consiglio. Se è lungo, invece di postarlo allegalo come Attachment (clicca su "Attachments and other options" )

ho sbagliato ho publicato un nuovo post scusatemi

Il problema sorge quando eseguo il refresh della pagina web xche il pin 8 si accende e si rispegne dopo i 2 secondi,

dipende da cosa c'è scritto sulla barra dei link ... se l'ultimo comando era ON pin 8 è ovvio che il refresh ripete l'ultimo comando GET che è sulla barra degli indirizzi

quell'Authorization Required ha un difetto però .... una volta che tu sei entrato con password che quella che hai messo tu è "user:user" hai aperto l'accesso a qualsiasi altro client che vuole entrare

pablos: dipende da cosa c'è scritto sulla barra dei link ... se l'ultimo comando era ON pin 8 è ovvio che il refresh ripete l'ultimo comando GET che è sulla barra degli indirizzi

no xche quando accendo led 1 e poi lo spengo si accende sempre anche il led 8

quello della password e un porblema piu risolvibile !!

void SendOKpage(EthernetClient &client)
{
...
...
digitalWrite(outPin8,HIGH);//spegne ledPin
delay(500);//attende mezzo secondo (500 ms)RESTA ACCESO X
digitalWrite(outPin8,LOW);// accende ledPin
delay(500);//attende mezzo secondo
...
...

ogni volta che fa la connessione esegue questo pezzo ...

pablos: void SendOKpage(EthernetClient &client) { ... ... digitalWrite(outPin8,HIGH);//spegne ledPin delay(500);//attende mezzo secondo (500 ms)RESTA ACCESO X digitalWrite(outPin8,LOW);// accende ledPin delay(500);//attende mezzo secondo ... ...

ogni volta che fa la connessione esegue questo pezzo ...

infatti ma non solo la connessione qualsiasi cosa faccio !!

infatti ma non solo la connessione qualsiasi cosa faccio !!

si infatti va tolto, inoltre ti fa attendere 1 secondo l'esecuzione del processo

Ricorda che qualsiasi cosa fai con questo metodo avviene una negoziazione, uno scambio dati e chiusura immediata. Quel SendOKpage partirà ogni volta che fai un click sulla pagina

pablos: si infatti va tolto, inoltre ti fa attendere 1 secondo l'esecuzione del processo

cosa posso provare??

Non c'è niente da provare va tolto, è nel posto sbagliato

//digitalWrite(outPin8,HIGH);//spegne ledPin
//delay(500);//attende mezzo secondo (500 ms)RESTA ACCESO X
//digitalWrite(outPin8,LOW);// accende ledPin
//delay(500);//attende mezzo secondo

Ripristina queste per avere di nuovo cancello e il button “Apri/Chiudi”

//client.print(F("<span>Cancello 8 </span>"));
  //if (digitalRead(out_8)== true) client.print(F("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"ON\" STYLE=\"background-color:#00FF00\"/>")); 
  //else client.print(F("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"OFF\" STYLE=\"background-color:#C0C0C0\"/>"));
  //client.print(F("<p><p/>"));   
  //client.print(F("<input type=\"button\" style=\"width:120px; height:80px\" value=\"Apri/Chiudi\" onclick =\" location.href='/?on_8'\">"));
  //client.print(F("<input type=\"button\" style=\"width:120px; height:80px\" value=\"Off\" onclick =\" location.href='/?off_8'\">"));                   
  //client.print(F("<p><p/>"));

ripristina questa linea e rimetti i delay 500 con successivo LOW

//if(readString.indexOf("on_8") > 0) digitalWrite(outPin8, HIGH);

fatto . x avere quello che voglio fare io al pin 8 premo apro e mi da impulso , ma un altro impulso deve darmelo solo quando riclicco

Questo è il problema di quando si copia e non si comprende bene
Comunque, tratti il pin 8 come è stato fatto con gli altri con una differenza

client.print(F("<span>Cancello 8 </span>"));
 if (digitalRead(out_8)== true) client.print(F("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"ON\" STYLE=\"background-color:#00FF00\"/>")); 
  else client.print(F("<input disabled=\"disabled\" maxLength=\"50\" size=\"12\" value=\"OFF\" STYLE=\"background-color:#C0C0C0\"/>"));
  client.print(F("<p><p/>"));   
  client.print(F("<input type=\"button\" style=\"width:120px; height:80px\" value=\"Apri/Chiudi\" onclick =\" location.href='/?on_8'\">"));

non ci sarà un pulsante ON e uno OFF, ma solo un ON come sopra

poi nel riconoscimento da parte di arduino del tasto premuto sul cliet ci sarà

dString.indexOf("on_8") > 0) {
digitalWrite(outPin8,HIGH);//spegne ledPin
delay(500);//attende mezzo secondo (500 ms)RESTA ACCESO X
digitalWrite(outPin8,LOW);// accende ledPin
delay(500);//attende mezzo secondo
}

pablos:
Questo è il problema di quando si copia e non si comprende bene
Comunque, tratti il pin 8 come è stato fatto con gli altri con una differenza

client.print(F("<span>Cancello 8 </span>"));

if (digitalRead(out_8)== true) client.print(F("<input disabled=“disabled” maxLength=“50” size=“12” value=“ON” STYLE=“background-color:#00FF00”/>"));
  else client.print(F("<input disabled=“disabled” maxLength=“50” size=“12” value=“OFF” STYLE=“background-color:#C0C0C0”/>"));
  client.print(F("

")); 
  client.print(F("<input type=“button” style=“width:120px; height:80px” value=“Apri/Chiudi” onclick =" location.href=’/?on_8’">"));




non ci sarà un pulsante ON e uno OFF, ma solo un ON come sopra

poi nel riconoscimento da parte di arduino del tasto premuto sul cliet ci sarà



dString.indexOf(“on_8”) > 0) {
digitalWrite(outPin8,HIGH);//spegne ledPin
delay(500);//attende mezzo secondo (500 ms)RESTA ACCESO X
digitalWrite(outPin8,LOW);// accende ledPin
delay(500);//attende mezzo secondo
}

quando inserisco la tua stringa mi da errore
testme:52: error: ‘dString’ was not declared in this scope

incollato male

if(readString.indexOf("on_8") > 0) {
digitalWrite(outPin8,HIGH);//spegne ledPin
delay(500);//attende mezzo secondo (500 ms)RESTA ACCESO X
digitalWrite(outPin8,LOW);// accende ledPin
delay(500);//attende mezzo secondo
}

pablos: incollato male

if(readString.indexOf("on_8") > 0) {
digitalWrite(outPin8,HIGH);//spegne ledPin
delay(500);//attende mezzo secondo (500 ms)RESTA ACCESO X
digitalWrite(outPin8,LOW);// accende ledPin
delay(500);//attende mezzo secondo
}

ora va benissimo al refresh va bene ma il led resta acceso

riposta qui il codice che hai modificato che lo rivedo, c'è anche un delay di troppo

if(readString.indexOf("on_8") > 0) { digitalWrite(out_8,HIGH);//spegne ledPin delay(500);//attende mezzo secondo (500 ms)RESTA ACCESO X digitalWrite(out_8,LOW);// accende ledPin delay(500);//attende mezzo secondo }

tutto lo sketch dicevo :grin:

eccolo

testme.ino (10.7 KB)

testme.ino (10.7 KB)