Ciao a tutti del forum,
mi sono avvicinato ad Arduino leggendo Wired .... volevo chiedere una piccola consulenza dato che faccio veramete fatica a studiare il linguaggio di programmazione in compenso me la cavo abbastanza bene con l'hardware.
Già da tempo utilizzo con soddisfazione un progettino creato tovando spunto sul forum che mi permette con il BlackBerry di aprire il cancello elettrico, Elettroserratura portone di ingresso del condominio, controllo dei motori tapparelle di tutto l'appartamento.
Ora ho aggiornato lo Sketch alla versione 021 e nonostante le modifiche di qui si è già parlato (contains vs indexOf Append ) non mi funziona correttamente.
La compilazione è Ok ma quando lo utilizzo sembra che una porzione di codice venga ignorata in quanto ogni volta che aggiorno la pagina o clicco su un bottone si comporta come se premessi tutti i bottoni.
Di seguito la porzione di codice funzionante con lo 018 (non ci stà tutta):
if (client.available()) {
char c = client.read();
if (inString.length() < 35) {inString.append(c);}
if (c == '\n' && current_line_is_blank)
{
//Cacelletto
if(inString.contains("b1")){
led1.blink(180);
led6.toggle();
if(led6.getState())
st2=12;else st2=13;led=1;}
//Cancello
if(inString.contains("b2")){
led2.blink(180);
led7.toggle();
if(led7.getState())
st5=12;else st5=13;led=2;}
//Apri tapparelle
if(inString.contains("b3")){
led3.blink(180);
st7=10;led=3;}
//Stop
if(inString.contains("b4")){
led4.blink(180);
st7=12;led=4;}
//Chiudi tapparelle
if(inString.contains("b5")){
led5.blink(180);
st7=11;led=5;}
//Allarme pilota led 8
if(inString.contains("b6")){
led8.toggle();
if(led8.getState())
st1=10;else st1=11;led=8;}
e quello modificato 021 :
if (client.available()) {
char c = client.read();
if (inString.length() < 35) {inString = inString + c;}
if (c == '\n' && current_line_is_blank)
{
//Cacelletto
if(inString.indexOf("b1")){
led1.blink(180);
led6.toggle();
if(led6.getState())
st2=12;else st2=13;led=1;}
//Cancello
if(inString.indexOf("b2")){
led2.blink(180);
led7.toggle();
if(led7.getState())
st5=12;else st5=13;led=2;}
//Apri tapparelle
if(inString.indexOf("b3")){
led3.blink(180);
st7=10;led=3;}
//Stop
if(inString.indexOf("b4")){
led4.blink(180);
st7=12;led=4;}
//Chiudi tapparelle
if(inString.indexOf("b5")){
led5.blink(180);
st7=11;led=5;}
//Allarme pilota led 8
if(inString.indexOf("b6")){
led8.toggle();
if(led8.getState())
st1=10;else st1=11;led=8;}
Eventualmente posso postare tutto il codice funzionante 018
Spero che si capisca come ho esposto il problema
Grazie in anticipo per qualche consiglio
Nicola