Giocando con Arduino 1
Inviato: 26/05/2016, 9:40
.
Cosa sia Arduino credo sia noto a tutti, ma non si sa mai, diciamo allora che è una scheda che contiene tutto quello che serve per costruire delle apparecchiature elettroniche di qualsiasi genere. E’ utilizzato per fare strumenti musicali, per automatizzare la casa, per costruire l’antifurto come vorremmo noi e, naturalmente, è perfetto per giocare con ratemeter e scaler.
Una volta abbinato ad una scheda specializzata nel captare gli impulsi della radioattività, può fare esattamente tutto quello che noi gli chiediamo.
La comunicazione fra noi ed Arduino è attuata mediante un programma che noi stessi scriveremo e con l’aggiunta eventuale di pochi altri componenti.
Dato che noi siamo interessati principalmente ai contatori Geiger e simili, fa subito comodo integrare Arduino con una scheda che, a sua volta, contiene tutto quello che ci serve per fare il NOSTRO strumento.
Di queste schede ve ne sono tante, quella che utilizzo io l’ho scelta perché si integra direttamente, senza alcun bisogno neppure di una saldatura in più, e contiene già la sonda rilevatrice, il generatore di HT (alta tensione), rivelatore di impulsi, beep sonoro, display su cui scrivere le nostre informazioni, ecc. ecc.
E’ la Radiation Sensor Board della Libellium, una scheda che viene fornita con o senza sonda, con o senza display ottico e che costituisce quindi un ottimo punto di partenza per i nostri elaborati.
La grande comodità per un cecato come me, è che non c’è nulla da saldare: display, scheda ed Arduino si incastrano esattamente uno sull’altro facendo un unico pacchetto funzionale, pacchetto a cui manca solo il vostro software per dire cosa e come fare.
A cosa vogliamo giocare oggi ?
Ultimamente si è parlato della misurazione della radioattività mediante il metodo della Media Progressiva e dei vantaggi che questa comporta sia in precisione, sia nella rapidità con cui otteniamo un risultato attendibile.
Allora, perché non facciamo un programma che trasformi il nostro Arduino in uno strumento rilevatore a Media Progressiva ? Così potremo capire e toccare con mano pregi e difetti di questo metodo.
Il programma è ridotto al minimo per non complicare inutilmente, vi sono molte annotazioni esplicative, il nome delle variabili è auto esplicante, ma devo presupporre che chi legge abbia comunque almeno una minima conoscenza di Arduino e della sua programmazione.
Il software da inserire è riportato in un file di testo, in modo che chiunque lo possa visualizzare: Alcune note al riguardo:
- la base dei tempi è fissata in 10 secondi
- il pin di Arduino che riceve gli impulsi è il n. 2 e lo fa tramite un interrupt, cioè quando arriva l’impulso, qualunque cosa Arduino stia facendo, si interrompe e lo conteggia, poi riprende il suo lavoro. Questo per avere la massima velocità di acquisizione dei dati.
- le righe con “//” oppure con “/*” sono delle annotazioni esplicative
- le istruzioni che iniziano con “Serial” possono anche venire eliminate, le ho lasciate in caso voi vogliate divertirvi a modificare il programma, per vedere cosa succede se . . . .
- sul display la riga sopra visualizza i CPM e quella sotto i uSv/h, prima il dato immediato, poi il dato medio progressivo.
Nella immagine vedete che i CPM dei 10 secondi appena terminati sono 12 ed, evidentemente, hanno abbassato la media portandola a 15 CPM. Stessa cosa per le misurazione espressa in microSv/h.
Con il procedere dei conteggi, il valore della media progressiva tenderà a stabilizzarsi, perché la misurazione avviene su tempi sempre più lunghi.
Il miglioramento della precisione la si nota molto bene leggendo i dati sul monitor seriale del PC:
Dove si vede che mentre i dati delle singole letture di 10 secondi variano moltissimo, da 0.00 uSv/h fino a 0.45 uSv/h, con una indeterminatezza totale, la media progressiva già dopo 2 minuti di conteggio ci da un risultato praticamente costante di 0.20 uSv/h
Morale delle nostre prove:
- se avessimo usato un geiger normale, avremmo avuto tante risposte, ma tutte diverse e che non ci avrebbero consentito nessuna valutazione attendibile,
- se avessimo usato uno scaler, avremmo si avuto una misura certa, ma solo dopo molti minuti,
- con questo strumento, in soli due minuti, siamo arrivati al risultato.
Cosa sia Arduino credo sia noto a tutti, ma non si sa mai, diciamo allora che è una scheda che contiene tutto quello che serve per costruire delle apparecchiature elettroniche di qualsiasi genere. E’ utilizzato per fare strumenti musicali, per automatizzare la casa, per costruire l’antifurto come vorremmo noi e, naturalmente, è perfetto per giocare con ratemeter e scaler.
Una volta abbinato ad una scheda specializzata nel captare gli impulsi della radioattività, può fare esattamente tutto quello che noi gli chiediamo.
La comunicazione fra noi ed Arduino è attuata mediante un programma che noi stessi scriveremo e con l’aggiunta eventuale di pochi altri componenti.
Dato che noi siamo interessati principalmente ai contatori Geiger e simili, fa subito comodo integrare Arduino con una scheda che, a sua volta, contiene tutto quello che ci serve per fare il NOSTRO strumento.
Di queste schede ve ne sono tante, quella che utilizzo io l’ho scelta perché si integra direttamente, senza alcun bisogno neppure di una saldatura in più, e contiene già la sonda rilevatrice, il generatore di HT (alta tensione), rivelatore di impulsi, beep sonoro, display su cui scrivere le nostre informazioni, ecc. ecc.
E’ la Radiation Sensor Board della Libellium, una scheda che viene fornita con o senza sonda, con o senza display ottico e che costituisce quindi un ottimo punto di partenza per i nostri elaborati.
La grande comodità per un cecato come me, è che non c’è nulla da saldare: display, scheda ed Arduino si incastrano esattamente uno sull’altro facendo un unico pacchetto funzionale, pacchetto a cui manca solo il vostro software per dire cosa e come fare.
A cosa vogliamo giocare oggi ?
Ultimamente si è parlato della misurazione della radioattività mediante il metodo della Media Progressiva e dei vantaggi che questa comporta sia in precisione, sia nella rapidità con cui otteniamo un risultato attendibile.
Allora, perché non facciamo un programma che trasformi il nostro Arduino in uno strumento rilevatore a Media Progressiva ? Così potremo capire e toccare con mano pregi e difetti di questo metodo.
Il programma è ridotto al minimo per non complicare inutilmente, vi sono molte annotazioni esplicative, il nome delle variabili è auto esplicante, ma devo presupporre che chi legge abbia comunque almeno una minima conoscenza di Arduino e della sua programmazione.
Il software da inserire è riportato in un file di testo, in modo che chiunque lo possa visualizzare: Alcune note al riguardo:
- la base dei tempi è fissata in 10 secondi
- il pin di Arduino che riceve gli impulsi è il n. 2 e lo fa tramite un interrupt, cioè quando arriva l’impulso, qualunque cosa Arduino stia facendo, si interrompe e lo conteggia, poi riprende il suo lavoro. Questo per avere la massima velocità di acquisizione dei dati.
- le righe con “//” oppure con “/*” sono delle annotazioni esplicative
- le istruzioni che iniziano con “Serial” possono anche venire eliminate, le ho lasciate in caso voi vogliate divertirvi a modificare il programma, per vedere cosa succede se . . . .
- sul display la riga sopra visualizza i CPM e quella sotto i uSv/h, prima il dato immediato, poi il dato medio progressivo.
Nella immagine vedete che i CPM dei 10 secondi appena terminati sono 12 ed, evidentemente, hanno abbassato la media portandola a 15 CPM. Stessa cosa per le misurazione espressa in microSv/h.
Con il procedere dei conteggi, il valore della media progressiva tenderà a stabilizzarsi, perché la misurazione avviene su tempi sempre più lunghi.
Il miglioramento della precisione la si nota molto bene leggendo i dati sul monitor seriale del PC:
Dove si vede che mentre i dati delle singole letture di 10 secondi variano moltissimo, da 0.00 uSv/h fino a 0.45 uSv/h, con una indeterminatezza totale, la media progressiva già dopo 2 minuti di conteggio ci da un risultato praticamente costante di 0.20 uSv/h
Morale delle nostre prove:
- se avessimo usato un geiger normale, avremmo avuto tante risposte, ma tutte diverse e che non ci avrebbero consentito nessuna valutazione attendibile,
- se avessimo usato uno scaler, avremmo si avuto una misura certa, ma solo dopo molti minuti,
- con questo strumento, in soli due minuti, siamo arrivati al risultato.