Ciao a tutti, non ho ben chiaro come posso sviluppare un programma che calcoli la media di alcuni ingressi digitali. Mi spiego meglio..
Ho necessità di acquisizione dell’umidità del terreno e devo obbligatoriamente utilizzare due sendori digitali con uscita digitale a due bit e con legge proporzionale data dalla tabella allegata. La variabile è in percentuale nell’intervallo [0%÷ 100%].
Al termine della comparazione dei valori (media) devo scrivere un programma per la visualizzazione della umidità media. Ho qualche difficoltà perchè sono un neofita ed uno studente di scuola superiore.
Non capisco come possa fare una media su due valori digitali a due bit.
Vi ringrazio in anticipo se sarete così gentili da aiutarmi a capire.
Non pretendo la pappa pronta, ripeto volglio capire.
GRAZIE.
Non ho capito a cosa serve la tabella condizionamento
Non ho capito a cosa serve la media.
Non ho capito cosa devi farci con due sensori. La media deve essere separata, una per ogni sensore ? E una volta che hai due medie ? Come le metti insieme ?
Che cosa sono i sensori a due bit ? Come li colleghi ? Hai un link a questi sensori ?
Oltre alle domande di nid69ita, vorrei aggiungere anche che quando si parla di un progetto, uno dovrebbe avere (e quindi spiegare a noi) almeno una seppur vaga idea di cosa si vuole ottenere, e di quali strumenti si potrebbe avere disponibilità o necessità.
Intanto spiegando il contesto, dalle tabelle mi pare di capire che controlli sia l'irrigazione sia la termoventilazione caldo/freddo, per cui parliamo di una serra? E possibile che tu non abbia alcuna idea né di come controllare il sistema di termoventilazione e l'irrigazione? E, per venire alla tua domanda, in pratica lascia stare i "due bit" (che anche per me non significano niente), hai già un'idea di COSA vuoi misurare? Mi pare di capire, sempre dalle tabelle, che ti serve un sensore di temperatura dell'aria (si?) ed uno di umidità (del terreno? dell'aria?), ma che siano con uscite digitali o meno in sostanza a te per ora non dovrebbe affatto interessare (men che mai a quanti "bit" lavorano...).
Tu infine vuoi sapere come calcolare le medie: ma se non identifichi prima QUALI sensori pensi di usare o quale tipo di sensore ti occorre (per cui magari ti possiamo dire noi quali potresti usare), come possiamo darti consigli su una cosa o l'altra?
Non è che tu vai dal concessionario di auto dicendo che devi comprare un'auto ma vorresti sapere a quanto devi gonfiare le gomme non ti pare?
nicola_ruello:
Non capisco come possa fare una media su due valori digitali a due bit.
Un valore digitale a due bit può valere solo 0 1 2 3, quindi la media tra due valori sarà un valore tra 0 e 3.
Se trattare i decimali (considerarli? troncarli? arrotondarli?) dipende dal problema.
Premetto che non ho esperienza specifica su rilevatori di umidità, ma vedo di dare una mia interpretazione a dipanare il problema, o meglio come lo farei io.
La necessità di avere 2 sensori probabilmente è dettata dalla necessità di ottenere un dato medio di umidità più realistico dell'area da monitorare.
Con valori di umidità in arrivo dai due sensori fai una prima media tra loro e poi una seconda media estesa nel tempo, quanto tempo ... è tutta da capire. Come noto questo tipo di rilevamenti sono molto lenti nel tempo.
Oltre a questi sensori dovrai averne uno anche per la temperatura.
Ottenuto il dato finale di umidità tra 0 e 100, determini a quale combinazione di bit (io la chiamerei finestra) appartiene il valore ottenuto.
A questo punto, assieme al dato della temperatura puoi determinare l'azione da eseguire.
Ottenuto il dato finale di umidità tra 0 e 100, determini a quale combinazione di bit (io la chiamerei finestra) appartiene il valore ottenuto.
Più semplicemente effettui una divisione intera (valore umidità / 25) e ottieni la rappresentazione a 2 bit richiesta.
Unico limite del calcolo, è che l'umidità arrivi al 100%. In questo caso si dovrà fare una correzione a 99% per evitare un over-flow a 3 bit.
Una media si fa facendo la somma e dividendo per due, a prescindere dalla notazione in uso. Poiché ciascun sensore fornisce valori tra 0 e 3, la somma andrà da 0 a 6. Dividendo per due, ottieni il valore medio. Potresti anche utilizzare direttamente la somma, ottenendo 7 valori possibili, quindi con una risoluzione maggiore e senza dover fare arrotondamenti.