Questo sito si serve dei cookie tecnici di Google per l'erogazione dei servizi e ospita cookie di profilazione di terze parti, utilizzati per la personalizzazione degli annunci pubblicitari. Cliccando su "OK" o proseguendo nella navigazione si acconsente tacitamente al loro uso.
Informativa estesa

Cookie Policy
Uso dei cookie

Il "Sito" (www.vincenzocaputo.com) utilizza i Cookie per rendere i propri servizi semplici e efficienti per l’utenza che visiona le pagine di www.vincenzocaputo.com. Gli utenti che visionano il Sito, vedranno inserite delle quantità minime di informazioni nei dispositivi in uso, che siano computer e periferiche mobili, in piccoli file di testo denominati “cookie” salvati nelle directory utilizzate dal browser web dell’Utente. Vi sono vari tipi di cookie, alcuni per rendere più efficace l’uso del Sito, altri per abilitare determinate funzionalità.

Analizzandoli in maniera particolareggiata i nostri cookie permettono di:

  • memorizzare le preferenze inserite;
  • evitare di reinserire le stesse informazioni più volte durante la visita quali ad esempio nome utente e password;
  • analizzare l’utilizzo dei servizi e dei contenuti forniti da www.vincenzocaputo.com per ottimizzarne l’esperienza di navigazione e i servizi offerti.
Tipologie di Cookie
Cookie tecnici

Questa tipologia di cookie permette il corretto funzionamento di alcune sezioni del Sito. Sono di due categorie: persistenti e di sessione:

  • persistenti: una volta chiuso il browser non vengono distrutti ma rimangono fino ad una data di scadenza preimpostata
  • di sessione: vengono distrutti ogni volta che il browser viene chiuso

Questi cookie, inviati sempre dal nostro dominio, sono necessari a visualizzare correttamente il sito e in relazione ai servizi tecnici offerti, verranno quindi sempre utilizzati e inviati, a meno che l’utenza non modifichi le impostazioni nel proprio browser (inficiando così la visualizzazione delle pagine del sito).

Cookie analitici

I cookie in questa categoria vengono utilizzati per collezionare informazioni sull’uso del sito. www.vincenzocaputo.com userà queste informazioni in merito ad analisi statistiche anonime al fine di migliorare l’utilizzo del Sito e per rendere i contenuti più interessanti e attinenti ai desideri dell’utenza. Questa tipologia di cookie raccoglie dati in forma anonima sull’attività dell’utenza e su come è arrivata sul Sito. I cookie analitici sono inviati dal Sito Stesso o da domini di terze parti.

Cookie di analisi di servizi di terze parti

Questi cookie sono utilizzati al fine di raccogliere informazioni sull’uso del Sito da parte degli utenti in forma anonima quali: pagine visitate, tempo di permanenza, origini del traffico di provenienza, provenienza geografica, età, genere e interessi ai fini di campagne di marketing. Questi cookie sono inviati da domini di terze parti esterni al Sito.

Cookie per integrare prodotti e funzioni di software di terze parti

Questa tipologia di cookie integra funzionalità sviluppate da terzi all’interno delle pagine del Sito come le icone e le preferenze espresse nei social network al fine di condivisione dei contenuti del sito o per l’uso di servizi software di terze parti (come i software per generare le mappe e ulteriori software che offrono servizi aggiuntivi). Questi cookie sono inviati da domini di terze parti e da siti partner che offrono le loro funzionalità tra le pagine del Sito.

Cookie di profilazione

Sono quei cookie necessari a creare profili utenti al fine di inviare messaggi pubblicitari in linea con le preferenze manifestate dall’utente all’interno delle pagine del Sito.

www.vincenzocaputo.com, secondo la normativa vigente, non è tenuto a chiedere consenso per i cookie tecnici e di analytics, in quanto necessari a fornire i servizi richiesti.

Per tutte le altre tipologie di cookie il consenso può essere espresso dall’Utente con una o più di una delle seguenti modalità:

  • Mediante specifiche configurazioni del browser utilizzato o dei relativi programmi informatici utilizzati per navigare le pagine che compongono il Sito.
  • Mediante modifica delle impostazioni nell’uso dei servizi di terze parti

Entrambe queste soluzioni potrebbero impedire all’utente di utilizzare o visualizzare parti del Sito.

Siti Web e servizi di terze parti

Il Sito potrebbe contenere collegamenti ad altri siti Web che dispongono di una propria informativa sulla privacy che può essere diverse da quella adottata da www.vincenzocaputo.com e che che quindi non risponde di questi siti.

Ultimo aggiornamento 8 marzo 2016

<Come disabilitare i cookie mediante configurazione del browser

Se desideri approfondire le modalità con cui il tuo browser memorizza i cookies durante la tua navigazione, ti invitiamo a seguire questi link sui siti dei rispettivi fornitori.

Mozilla Firefox https://support.mozilla.org/it/kb/Gestione%20dei%20cookie
Google Chrome https://support.google.com/chrome/answer/95647?hl=it
Internet Explorer http://windows.microsoft.com/it-it/windows-vista/block-or-allow-cookies
Safari 6/7 Mavericks https://support.apple.com/kb/Pstrong7191?viewlocale=it_IT&locale=it_IT
Safari 8 Yosemite https://support.apple.com/kb/Pstrong9214?viewlocale=it_IT&locale=it_IT
Safari su iPhone, iPad, o iPod touch https://support.apple.com/it-it/HT201265

Nel caso in cui il tuo browser non sia presente all'interno di questo elenco puoi richiedere maggiori informazioni inviando una email all'indirizzo info@nibirumail.com. Provvederemo a fornirti le informazioni necessarie per una navigazione anonima e sicura.

Questa pagina è stata generata ed è ospitata sul portale nibirumail.com - Il contenuto di questa pagina è stato generato 08 marzo 2016 attraverso il servizio Cookie Policy Generator. Il marchio Nibirumail e le aziende ad esso collegate non sono responsabili per informazioni erronee o non più aggiornate. Se desideri ricevere una versione aggiornata di questi contenuti contatta il proprietario di dalla pagina precedente.

OK

Coding

NodeMCU e Idroponica Parte 2 - quando la precisione conta veramente

Data: 07 giugno 2018

In questo nuovo articolo della serie dedicata al coding riprendiamo il precedente tutorial imparando ad utilizzare il Convertitore Analogico Digitale presente sul NodeMCU.

Vedremo come effettuare una serie di misurazioni del valore di umidità sfruttando ancora l'Igrometro per il Suolo della Sodial(R) collegando l'igrometro al purtroppo unico pin analogico A0 del NodeMCU.

Infatti il NodeMCU è dotato di un solo Convertitore Analogico Digitale, ADC, con un range da 0V a 3.3V, risoluzione 10bit e un sampling rate di circa 10kHz.

Vi ricordo che l'Igrometro per il Suolo della Sodial(R) misura il valore di tensione ai capi dei due elettrodi presenti permettendo due modalità di utilizzo e cioè permette sia di impostare, tramite giravite, un valore di soglia della tensione al di sopra della quale fornisce il valore Vcc e al di sotto invece 0V sia di ottenere il valore istantaneo della tensione.

In questo tutorial utilizzeremo la seconda modalità considerando piccole variazioni di tensione nel tempo.

La classe Serial ci permetterà di visualizzare la serie di misurazioni sul Monitor Seriale dell'IDE di Arduino.

Ingredienti necessari:

Preparazione.

Prendete dell'hardware e collegatelo così:

Prendete del software, cioè l'IDE di Arduino, e scrivete così:

const int MOISTURE_PIN = A0;
const int ALARM_PIN = D1;

void setup() {
  Serial.begin(115200);

  pinMode(MOISTURE_PIN, INPUT);
  pinMode(ALARM_PIN, OUTPUT);
}

void loop() {
  int moistureValue = 1024 - analogRead(MOISTURE_PIN);   //leggo dal MOISTURE_PIN il valore della tensione istantanea 
  moistureValue = map(moistureValue, 0, 1024, 0, 100);

  if(moistureValue < 25) {
    digitalWrite(ALARM_PIN, HIGH);  
  }

  Serial.printf("Umidita': %d\n", moistureValue);

  delay(500);

  digitalWrite(ALARM_PIN, LOW);

  delay(500);
}

Questo è lo sketch che andremo a caricare.

Descrizione:

Tralasciando le funzioni già viste nei tutorial precedenti le uniche due nuove funzioni presenti sono la funzione analogRead() e la funzione map().

Il Convertitore Analogico Digitale ovviamente converte un segnale analogico cioè un segnale tempo-continuo, che in questo caso è una differenza di potenziale ai capi dei pin A0 e GND, in un segnale digitale cioe un segnale tempo-discreto.

Il Convertitore Analogico Digitale riceverà quindi in input un valore di tensione compreso, nel caso del NodeMCU, tra 0 e 3.3V e in output restituirà non una tensione bensì un valore compreso tra 0 e 2^risoluzione dove la risoluzione in questo caso è 10 quindi un valore compreso tra 0 e 1024.

La funzione analogRead() leggerà quindi dal pin analogico passato come argomento, in questo caso A0, proprio un valore compreso tra 0 e 1024. Il prototipo della fuonzione analogRead() è:

int analogRead(const int pin);

La funzione map() invece ri-mappa un valore da un range ad un altro. Il prototipo della funzione, grazie a dio fornitaci dalla documentazione di arduino, è:

long map(long value, long fromLow, long fromHigh, long toLow, long toHigh);

La classe Serial è stata descritta nel precedente tutorial. Tuttavia qui abbiamo introdotto la funzione statica printf() della classe Serial che permette di ottenere un output formattato. La funzione printf() è del tutto simile a quella presente nella stdio.h del C.

Risultato:
 
Abbiamo utilizzato la funzione map() per ri-mappare il valore restituitoci dal Convertitore Analogico Digitale, compreso tra 0 e 1024, in un valore tra 0 e 100 che ci indica la percentuale di umidità del terreno.
 
L'unico if() presente nello sketch è stato utilizzato per attivare l'allarme, tramite un led rosso, nel caso in cui il terreno diventa troppo asciutto, condizione che si verifica nel mio caso quando l'umidità del terreno va al di sotto del 25%.
 
Poichè il sensore non eccede in qualità non aspettatevi variazioni lineari nella percentuale di umidità del terreno. Inoltre i sali minerali disciolti all'interno del terreno per concimazione aumentano la conducibiltà.
 
Morale della favola non vi resta che tentare e trovare il valore minimo della percentuale di umidità del terreno, visibile su Monitor Seriale, che fa scattare l'allarme notificandovi, in realtà, che "il terreno è asciutto" sfruttando la funzione printf della classe Serial.
 
Se questo non avviene scrivetemi nei commenti e cercherò di aiutarvi il prima possibile.
 
Rivolgendomi ad esperti agronomi presenti tra di voi se avete una idea migliore su come effettuare misure di umidità del terreno, magari tenendo in considerazione la variazione di conducibilità del terreno in funzione dei sali minerali oppure tenendo in considerazione la temperatura, etc.., non esitate a scrivermi!!!
 
Nel prossimo tutorial...
 
Vedremo come sfruttare il WiFi integrato nel NodeMCU aprendo una connessione server all'interno di una LAN interagendo con questo tramite una app per Android che vi metterò gratuitamente a disposizione.
 
Se avete suggerimenti su nuovi tutorial attinenti il NodeMCU non esitate a scrivere nei commenti.

Arduino
C
C++
Idroponica
coding

Seguimi su Youtube

Seguimi su Youtube

15,500 iscritti

Seguimi su Facebook

Seguimi su Facebook

2,672 iscritti

Seguimi su Youtube

Seguimi su Telegram

878 iscritti

Seguimi su Youtube

Seguimi via RSS

Consigliati da noi
Categorie
Domotica
137 articoli
L'angolo dei lettori
16 articoli
Info
16 articoli
Audio-Video
14 articoli
Auto-Moto
13 articoli
Promo
9 articoli
Post piu letti
Funzionamento Relè eMylo come deviatore
Riprogrammare Sonoff Smart Switch Basic con Firmware Tasmota
Come integrare Sonoff switch in Home Assistant tramite IFTTT
Autoradio Android ATOTO A61721P - La Prova
Tutti pazzi per Shelly - la nostra prova dello Shelly 1

Supportami