Per le attività in programma per il corso sui laboratori green, spiegherò come controllare il livello d’acqua in una cisterna utilizzata per l’irrigazione. A livello prototipale svolgerò prima sperimentazioni su singola pianta utilizzando il “water sensor” che potete acquistare per pochi centesimi online. In una fase successiva impiegherò dei sensori di livello che vengono comunemente impiegati in cisterne e controlleremo il riempimento e lo svuotamento della cisterna.
Il “water sensor” misura il livello di conduttività elettrica del liquido, conduttività che sarà funzione della quantità di superficie del sensore immerso.
Nell’acqua ed in generale nei liquidi, il passaggio di corrente è dovuto alla presenza di sali, infatti l’acqua pura non risulta conduttiva.
Le piste parallele di rame presenti sul sensore sono connesse al potenziale positivo e al GND, quando il sensore viene immerso nel liquido viene misurata una differenza di potenziale tra i due poli, d.d.p. che dipenderà dalla quantità di superficie immersa, pertanto al variare della quantità d’acqua varierà il valore di resistenza tra i due potenziali.
Sottolineo che il sensore non è preciso e richiede una taratura iniziale che dipende prevalentemente dall’acqua, inoltre sensori diversi potrebbero fornirvi misure diverse.
Il segnale di uscita del sensore (pin S) verrà inviato su un pin analogico di Arduino e da esso convertito in un valore numerico che oscillerà tra ~ 0 e ~500, pertanto se il sensore non è immerso il valore misurato sarà di circa 0, mentre se sarà totalmente immerso raggiungerà il valore massimo rilevato.
Sul sensore sono presenti 10 piste di rame parallele, connesse in modo alternato, in modo che vi siano 5 piste connesse ad un potenziale alto e 5 piste connesse a GND. E’ presente inoltre un LED che indica quando il sensore viene alimentato.
S (Signal): uscita analogica da connettere ad un ingresso analogico di Arduino
+Vcc: potenziale positivo dell’alimentazione. Si consiglia di alimentare il sensore con una tensione compresa tra 3,3 V e 5V. Si ricorda che l’uscita analogica del sensore varierà in funzione della tensione di alimentazione del sensore.
– : da connettere al GND
Attenzione che il sensore non è progettato per essere completamente immerso, fate in modo che solo le tracce ramate parallele esposte sul PCB vengano a contatto con l’acqua.
Continuo con la pubblicazione degli strumenti per l’analisi dell’umidità del terreno, questa volta l’idea è quella di realizzare un dispositivo su cui è possibile alloggiare: sonda, micro:bit e batterie.
Il dispositivo è pensato per attività da svolgere con allievi di scuola elementare e media, pertanto ho creato un design interessante per gli allievi più giovani.
Ovviamente bisognerà poi creare un codice opportuno in modo tale che ci sia il minimo consumo di batterie e far si che l’ossidazione dei puntali della sonda non avvenga rapidamente, è opportuno quindi usare chiodi in acciaio inossidabile, nel caso di chiodi in ferro l’ossidazione potrebbe avvenire dopo qualche giorno.
Per questa sonda ho utilizzato chiodi da 80 mm.
Se desiderate replicare la struttura seguite il link sul mio profilo Thingiverse da cui potrete scaricare i sorgenti grafici per la stampa 3D.
Sono necessari poco più di due ore di stampa, è essenziale aggiungere i supporti di stampa.
Durante il prossimo corso: realizzare laboratori green con il Making e il Coding, utilizzerò diversi sensori per misurare grandezze fisiche. Poiché in questi giorni sono occupato con la preparazione delle sperimentazioni che svolgerò durante il corso, pubblicherò di volta in volta su questo sito indicazioni e suggerimenti sui materiali da utilizzare, in questo modo potrete trovarvi pronti nel svolgere insieme a me le sperimentazioni.
Alcuni sensori possono essere costruiti con materiali che abbiamo in casa, un semplice sensore di umidità del terreno può essere costruito con due chiodi in acciaio. Tecnicamente inserendo i due chiodi nel terreno e connettendoli opportunamente ad un microcontrollore saremo in grado di valutare approssimativamente il livello di umidità del terreno, la modalità di taratura e di lettura verrà mostrata durante il corso.
Per mantenere ordine durante le fasi di sperimentazioni suggerisco due semplicissime soluzioni che permettono di realizzare una sonda di umidità:
la prima fa uso di un mammut, una morsettiera elettrica che tipicamente viene utilizzata negli impianti elettrici civili, usata per unire cavi elettrici;
la seconda soluzione fa uso di un oggetto stampato in 3D.
Sonda di umidità realizzata con un mammut
L’utilizzo di un mammut permette di vincolare i chiodi. Tra la testa del chiodo e il mammut inseriremo il connettore a coccodrillo.
Modo 1
Questa soluzione potrebbe causare il contatto tra i due terminali che deve essere assolutamente evitato. Potreste procedere isolando con nastro isolante.
Modo 2
Separare i punti di connessione dei due chiodi
Per queste soluzioni ho utilizzato mammut per cavi da 6mm^2 e chiodi di acciaio da 90 mm
Sonda di umidità realizzata con supporto stampato in 3D – Moisture Sensor
In questa soluzione dovrete stampare in 3D un elemento che permette agevolmente di inserire nel terreno la sonda e realizza una separazione elettrica tra i morsetti a coccodrillo connessi ai due chiodi. I due chiodi di acciaio sono lunghi 80 mm
Se desiderate prelevare e stampare il supporto seguite il link.
Durante il corso vedremo come utilizzare la sonda con diversi dispositivi: micro:bit, Arduino, Raspberry Pi e sperimenteremo l’uso di altre tipologie di sonde resistive e successivamente analizzeremo l’uso di sonde capacitive.
Condivido con tutti voi uno dei progetti che ho mostrato durante l’ultimo mio corso sulla realizzazione di robot a basso costo: RobotArm:bit, un piccolo braccio robot controllato da BBC micro:bit che può essere stampato in 3D oppure realizzato in cartone. Il robot è pensato per l’utilizzo con allievi della primaria e della secondaria di primo grado.
Il piccolo braccio robot è costituito da 3 servomotori ed il loro controllo può essere effettuato in diversi modi, utilizzando ad esempio una scheda :move della Kitronik, oppure direttamente con micro:bit ed una batteria da 6V per alimentare i servomotori e il micro:bit, soluzione adottata in questa guida. Si tanga in conto che la soluzione che mostro in questo post prevede la modifica di un cavo micro usb da cui vengono prelevati i cavi positivo e negativo che vengono poi connessi sulla breadboard, in questo modo riusciremo ad alimentare tutta l’elettronica usata.
Il circuito di collegamento è molto semplice, i pin di controllo dei servomotori vengono connessi ai pin: 0, 1, 2 del micro:bit.
Per la costruzione della struttura seguire il video che segue. Tutti gli elementi in cartone sono stati incollati utilizzando della colla a caldo. Una goccia di colla è stata utilizzata per serrare gli alberi di rotazione dei servo alle varie parti del robot.
Nel video allegato i dettagli per la realizzazione della versione in cartone.
Codice di esempio
In allegato il codice di esempio per il controllo del braccio robot, i corsisti riceveranno ulteriori materiali.
In occasione del corso: creare un kit di robotica educativa a basso costo – 3′ edizione rendo pubblico il progetto del “Ciao Ciao Box” un dispositivo che è stato realizzato con BBC micro:bit V2 pensato per allievi della scuola elementare e media. Come annunciato recentemente sui vari social sto sviluppando una versione su cui sarà possibile bloccare magneticamente, con viti o con mattoncini Lego altri oggetti o scatole interattive programmabili.
Come potete intuire questo tipo di interazione potrà avvenire anche con altri Microcontrollori, ma la semplicità di programmazione di micro:bit rende la realizzazione di questo scatola interattiva interessante con gli studenti più giovani.
Ma come realizzare questo tipo di oggetto?
Innanzitutto l’interazione che mostro in questa lezione è tra due box con bandiera, il cui movimento è realizzato da un piccolo servomotore SG90 ed un terzo box che ha l’unico scopo di emettere un suono che sarà diverso in funzione del box trasmittente.
Quindi 3 box con le seguenti funzionalità:
box 1 emettitore suono. Emette suoni diversi in funzione del box che muove la bandiera
box 2 invio messaggio “muovi bandiera” al box 3 e nel contempo può ricevere il messaggio “muovi bandiera” dal box 3
box 3 invio messaggio “muovi bandiera” al box 2 e nel contempo può ricevere il messaggio “muovi bandiera” dal box 2
Perché usare il box 1 per emettere un suono?
Intuitivamente si potrebbe si potrebbe essere portati a pensare che questa funzionalità poteva essere riprodotta dal box 2 e dal box 3, ma ciò non è possibile.
La gestione del servomotore e nel contempo dell’emissione del suono non può essere fatta contemporaneamente in quanto il comportamento dei due dispositivi elettronici non risponde ai comandi impartiti dalla programmazione. Dal puntosi vista tecnico è presente un unico timer che gestisce il ciclo di funzionamento e il timer può essere usato o dal servomotore o dal buzzer non da entrambi.
Per evitare il comportamento anomalo viene demandata l’emissione del suono al box 1.
Il progetto pertanto potrebbe essere realizzato con un micro:bit V2 dotato di buzzer e due microbit V1 a cui demandiamo il controllo dei servomotori.
Ovviamente se disponete di soli micro:bit V1 potrete connettere un buzzer esterno al micro:bit inserito nel box 1, per questa operazione fate riferimento alle schede di progetto condivise su questo sito.
Struttura del box
Si tratta di un cubo 10×10 cm. La realizzazione dei box può essere fatta con qualsiasi materiale: cartone, compensato, foam. Potreste anche riciclare scatole di alimenti: latte, pasta, sale ecc…
Per chi desidera realizzare le medesime scatole che vedete nell’immagine introduttiva di questa lezione condivido il file pdf che potrà essere utilizzato per tagliare a laser tutte le facce del cubo in cui troverete gli inserti per i pulsanti e i servomotori.
Per chi invece non può utilizzare una macchina a taglio laser condivido il file pdf delle facce del cubo su cui poi voi dovrete realizzare i fori per l’inserimento dei pulsanti e dei servomotori.
Materiali utilizzati
Tutti i materiali potete trovarli su qualsiasi store online e la quasi totalità di quelli in eleco li trovate su Amazon.
Compensato spessore 3 mm (se costruite i box in compensato)
Pulsanti 6 colori 12×24 mm
Servomotori SG90 (0°-180°)
Edge Connector Breakout Board per micro:bit
Jumper corti maschio/maschio (fili da usare per la breadboard)
mini breadboard da 170 punti
Contenitore 4 batterie AA da 1,5 V con interruttore
Fogli di cartone ondulato formato A4 da 4 mm di spessore
Viti M3 12 mm e dadi M3
Collegamenti
Box 1
Si suppone in questo circuito l’utilizzo di un micro:bit V2
Box 2
Box 3
Come potete notare i circuiti per il box 2 e 3 differiscono solamente per il pin a cui connettiamo il pulsante.
E’ essenziale notare due cose:
il micro:bit e il servomotore sono alimentati da due batterie diverse, il micro:bit a 3V mentre il servomotore con un pacco batterie da 6V. Il positivo del servomotore va solamente collegato al pacco batterie da 6V
Le masse dei due pacchi batterie sono comuni, si noti il collegamento a massa del micro:bit sulla breadboard e quello del servomotore al pacco batterie.
E’ possibile evitare il pacco batterie da 3V, ma per questa operazione è necessario effettuare una modifica al cavo micro USB utilizzato per connettere il micro:bit al computer, ma demando questa spiegazione ad una prossima lezione.
Per i colleghi che seguono il mio corso darò ulteriori dettagli tecnici e alternative di progettazione.
Programmazione
All’interno del codice condiviso troverete alcune indicazioni sul funzionamento, essenziale porre estrema attenzione al codice dei Box 2 e 3 in cui nel blocco “on start” ho abilitato le resistenze di pull-up sui pin 2 e 8 del micro:bit, questa operazione eviterà di utilizzare due resistori esterni di pull-up connessi al pulsante.
In questa sperimentazione, per i box 2 e 3 ho utilizzato un solo pulsante, lascio a voi le modifiche del circuito e la programmazione per abilitare il funzionamento del secondo pulsante.
Consiglio, per i box 2 e 3 di effettuare il trasferimento del codice sul micro:bit senza connettere il micro:bit all’edge connector, una volta effettuato il trasferimento del programma, scollegatelo dal computer ed inseritelo all’interno dell’edge connector.
Programmazione box1
Programmazione box 2 e 3
Maggiori dettagli su collegamenti e funzionalità da aggiungere durante il corso in presenza.