Show Posts
Pages: [1] 2 3 4
1  International / Software / Re: Settare variabile con valore ricavato da GET on: May 14, 2013, 03:58:15 am
Ciao pablos, pensavo avessi scritto con l'inchiostro trasparente. Volevo infatti rispondere al tuo post già da questa notte ma non sono riuscito a visualizzare il tuo reply nè da telefono, nè da tablet, nè da pc e non mi è neanche arrivata la mail del tuo reply. Che strano!  smiley-eek-blue

Ovviamente prima di postare ho fatto diverse ricerche sia su forum che su google, ma non ho trovato soluzioni al mio problema.

Il pezzo di codice postato fa parte di uno scketch già funzionante che mi visualizza sia su browser che su di una app scritta per android queste informazioni:
5 temperature ed umidità interne, due umidità e temperature esterne, una di un congelatore, la potenza istantanea impegnata in Wh e, arrivando alla mia domanda posso aprire e chiudere totalmente una tenda da sole e visualizzare la percentuale di apertura trasformando un valore da ohm in percentuale (da 0 a 100). Ciò che voglio fare è poter aprire la tenda ad una posizione prestabilita e non tutta sù o tutta giù.
Ho trovato una funzione che mi permette di isolare una porzione di stringa partendo da una posizione nota e fissa però non fa al caso mio perchè non posso sapere a priori quanti caratteri isolare dopo la posizione di partenza, essi infatti vanno da uno a tre caratteri (da 0 a 100). Attualmente infatti se digito: "http://192.168.1.222:800/?out=0&value=700" ottengo al serial monitor la risposta "muovo tenda a poizione: 700" ma se scrivo "http://192.168.1.222:800/?out=0&value=7" ricevo: "muovo tenda a poizione: 7 H" infatti prende anche parte della risposta "HTTP/1.1".
Speravo quindi che esistesse una funzione in grado di isolarmi solo la parte numerica senza dovermi fare cicli di controllo sulla lunghezza del testo ed adattarlo ogni volta. smiley-wink

Successivamente farò ulteriori richieste su come posso far fare ad aduino da doppio server, ovvero farlo rispondere alle mie richieste dell'app e, contemporaneamente far inviare ad un mio server con MySQL tutti i dati per storicizzarli e manipolarli a mio piacimento ma, questa è un'altra storia anche se sono ben accetti consigli su cosa cercare  smiley-twist

Grazie ancora per il tuo intervento.
2  International / Software / Settare variabile con valore ricavato da GET on: May 12, 2013, 06:42:09 pm
Salve a tutti,
vorrei assegnare ad una variabile di nome "posizione" il valore letto da una 
Code:
if(readString.startsWith("GET /?out=0&value="))
ovvero inserendo nel browser questo url "http://192.168.1.222:800/?out=0&value=2" vorrei che la variabile posizione assuma il valore di 2. Premetto inoltre che i valori che voglio siano ammissibili vadano da 0 a 100.
Grazie per l'aiuto.
3  International / Software / Re: Aiuto modifica sketch playground su EEM12L-32A on: February 15, 2013, 02:29:04 pm
Ciao ETTORE! Che bello trovare di rado un omonimo!  smiley-grin

Rieccomi con i dati rilevati, ma prima volevo innanzitutto ringraziarti  smiley-wink poi dirti che se puoi modificare il tuo post, nel caso questo threed sarà utile a qualcuno, dovresti sostituire questa riga
Code:
Volatile unsigned long kWh = 0;
in
Code:
volatile unsigned long kWh = 0;
 smiley-wink smiley-sweat

Volevo poi chiederti se secondo il tuo codice al superamento di 1999 W la variabile kWh dovrebbe incrementarsi esatto? Se è così qualcosa non mi torna e ti trascrivo i dati rilevati prima con il solito microonde a 750w questa volta tenuto acceso per 1.30 minuti ma che mi pare abbia fatto segnare la variabile W massimo a W: 4260.0 con l'appunto che nel frattempo i bimbi si stavano lavando le mani aprendo e chiudendo l'acqua azionando quindi la caldaia diverse volte. Non avrebbe dovuto segnare la W a 750.0? Ed inoltre la variabile kWh: non si sarebbe dovuta incrementare?

Ultima cosa, ho notato che il serial monitor prima di visualizzare l'aumento dei valori rilevati impieghi diversi secondi (non so quanti perchè  non li ho contati per ho visto che inizia a mostrare valori diversi da zero dopo 1.808
Code:
Serial.println(W, 1);
ovvero dopo 3.616 righe stampate) è normale?


Ecco i dati stampati dai quali ovviamente per limidi di caratteri posstabili ammessi dal forum ho omesso i doppioni
Allego però un file con tutti i dati rilevati durante il minuto e mezzo.

Code:
Contatore KwH for Arduino UNO/MEGA R3 & IDE 1.0.1  by Ettore Massimo Albani 13/02/2013
kWh: 0
W: 0.0
kWh: 0
W: 180.0
kWh: 0
W: 1620.0
kWh: 0
W: 300.0
kWh: 0
W: 1200.0
kWh: 0
W: 4260.0
kWh: 0
W: 480.0
kWh: 0
W: 2040.0

Grazie ancora Ettore.  smiley-mr-green
4  International / Software / Re: Aiuto modifica sketch playground su EEM12L-32A on: February 15, 2013, 07:40:44 am
Grazie mille! Dopo pranzo la carico e poi ti faccio sapere  smiley-wink
Saluti, Ettore.
5  International / Software / Re: Aiuto modifica sketch playground su EEM12L-32A on: February 13, 2013, 02:33:10 am
@cyberhs: con il mio up non intendevo mettere fretta a nessuno  smiley-wink ho pensato  però che essendo  già stato trattato diverse volte sul forum (ma solo a livello teorico) qualcuno avesse  già trovato una soluzione  smiley-red
6  International / Software / Re: Aiuto modifica sketch playground su EEM12L-32A on: February 12, 2013, 05:09:07 pm
...
È possibile avere un aiuto concreto e meno teorico?
Grazie!  smiley-red


up...  smiley-razz
7  International / Software / Re: Aiuto modifica sketch playground su EEM12L-32A on: February 12, 2013, 04:57:23 am
da ciò  penso si sia capito che sono agli inizi.
Ho usato il change perché con gli altri mi diceva quanto tempo durava quello stato mentre a me serve sapere quanto tempo tempo passa tra due stati high.
È possibile avere un aiuto concreto e meno teorico?
Grazie!  smiley-red
8  International / Software / Re: Aiuto modifica sketch playground su EEM12L-32A on: February 11, 2013, 01:47:03 pm
Grazie a tutti per l'aiuto.
Ho fatto uno sketch di prova mandando usando questo codice
Code:
int IRQ = 4; //Utilizzo il pin D19 della Mega
volatile int state = LOW;

long tempo_trascorso;
long durata;


void setup()
{
  Serial.begin(9600);
  pinMode(IRQ, OUTPUT);
  attachInterrupt(4, blink, CHANGE);
}

void loop()
{
  if (!state || (durata == 0))
  {
    // Serial.println ("Nessun evento");
  }
  else
  {
    digitalWrite(IRQ, state);
    Serial.print ("stato dell'irq ");
    Serial.print (IRQ);
    Serial.print (" e'= ");
    Serial.print (state);
    Serial.print (" e sono passati ");
    Serial.print (durata/1000);
    Serial.println (" secondi");
    durata = 0;
  }
}

void blink()
{
  state = !state;
  durata = millis()-tempo_trascorso;
  tempo_trascorso = millis();
}

 

Secondo voi può andar bene?

Accendendo il solito microonde a 750w per qualche minuto questo è il risultato che mi tira fuori il serial monitor
Code:
stato dell'irq 4 e'= 1 e sono passati 9 secondi
stato dell'irq 4 e'= 1 e sono passati 9 secondi
stato dell'irq 4 e'= 1 e sono passati 2 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 1 e sono passati 3 secondi
stato dell'irq 4 e'= 1 e sono passati 3 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 0 e sono passati 0 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi
stato dell'irq 4 e'= 1 e sono passati 1 secondi

Come mostro ora la potenza istantanea da tenere sotto controllo per evitare il distacco enel in caso di superamento della soglia dei 3Kwh?

Inoltre a cosa è dovuto il quart'utlimo risultato (0 secondi)?

Grazie
9  International / Software / Re: Aiuto modifica sketch playground su EEM12L-32A on: February 11, 2013, 03:50:38 am
Buon giorno uwe e grazie per la risposta.
In effetti non lo avevo scritto ma sul fatto che dovessi calcolare il tempo tra T0 e T1 ci ero già  arrivato.  smiley-wink Quello  che non so è che usando  il playground gli interrupt non so come fare a riconoscere in quel codice il mutamento  di stato da low ad high.  smiley-red
10  International / Software / Aiuto modifica sketch playground su EEM12L-32A on: February 10, 2013, 07:15:27 pm
Ho collegato ad un Arduino Mega questo contatore monofase  http://www.energiasolare100.it/contatore-monofase-a-due-cavi-guida-din-con-uscita-impulsi-p-670.html

Ho usato lo sketch preso dal playground http://playground.arduino.cc/Main/EEM12L-32AKWhMonitoring utilizzando una resistenza come consigliato nell'articolo ma da 330 ohm.

Da quello che ho visto mi rileva la potenza attuale in step di 0,50 w alla volta e non ha mezze misure. Accendendo il microonde per alcuni minuti a 750W mi segnala potenze variabili da 0.0010 a 0.0015 mentre in situazioni "stabili" mi segnala sempre da 0.0000 a 0.0050 ed inoltre il contatore mi si incrementa ovviamente di 0.0050 alla volta.

Come devo modificare il codice per conoscere l'esatta potenza istantanea in uso da utilizzare magari come stato di allerta in per evitare il distacco del contatore per superamento della soglia?

Grazie mille.
11  International / Hardware / Re: Collegare contatore monofase ad Arduino + sketch on: February 09, 2013, 12:53:55 pm
Ragazzi perdonatemi se continuo questa discussione.
Finalmente ho cablato tutta casa per arrivare al mio intento (monitorare la temperatura di tutte le stanze della casa, di due fronti esterni della casa, del congelatore, aprire/chiudere e sapere di quanto è aperta la tenda da sole, gestire la caldaia e qualche altre sfiziosità).
Fin ora funziona tutto come avevo previsto.
Per utilizzare il contatore mi sono avvalso del codice nel Playground di questo sito all'url: playground.arduino.cc/Main/EEM12L-32AKWhMonitoring

Da quello che ho visto mi rileva la potenza attuale in step di 0,50 w alla volta e non ha mezze misure. Accendendo il microonde a 750W mi segnala potenze variabili da 0.0010 a 0.0015 mentre in situazioni "stabili" mi segnala sempre da 0.0000 a 0.0050 ed inoltre il contatore mi si incrementa ovviamente di 0.0050 alla volta.

Come faccio quindi a sapere l'esatta potenza istantanea in uso da utilizzare magari come stato di allerta in per evitare il distacco del contatore per superamento della soglia?

Grazie mille a tutti.

Ah dimenticavo di dire che ho messo una resistenza come consigliato ma da 330 ohm.  smiley-razz
12  International / Hardware / Re: Collegare contatore monofase ad Arduino on: December 22, 2012, 03:34:00 am
Grazie caro. Mi ero dimenticato di risponderti qui...  smiley-razz
13  International / Hardware / Re: Dove acquistare Arduino Due on: December 02, 2012, 02:48:59 pm
Grazie del consiglio (ben accetto) queste cose le ignoravo totalmente!  smiley-wink
Mi ero orientato sulla DUE solo per motivi economici dovendo acquistare anche nuovamente una shield ethernet  smiley-cry
14  International / Hardware / Re: Dove acquistare Arduino Due on: December 02, 2012, 12:49:54 pm
Io avrei bisogno di una mega per necessità di maggiori I/O (la Uno è quasi alla frutta) ed ho pensato di prendere una DUE che è più prestante e costa anche meno  smiley-money
Si vocifera già sulle tempistiche di riapprovvigionamento o è ancora un tabù?  smiley-twist
15  International / Hardware / Re: Collegare contatore monofase ad Arduino on: November 29, 2012, 12:10:37 pm
Il link del contatore e del relativo manuale era nel post che avevo citato, in ogni caso è questo: www.energiasolare100.it/contatore-monofase-a-due-cavi-guida-din-con-uscita-impulsi-p-670.html  smiley-wink
Pages: [1] 2 3 4