Se nei viventi sono le cellule sensoriali a convertire gli stimoli percepiti in potenziali d’azione, per un sistema elettrico gli organi attraverso i quali ricavare informazioni dall’ambiente sono i sensori.
Il sensore ad ultrasuoni HC-SR04 è uno...
Tempo di lettura/visione: 6 min
Gli ultrasuoni sono onde sonore con frequenze superiori a quelle udibili dall’orecchio umano: stiamo quindi parlando di frequenze che superano i 20 kHz e che trovano impiego per lo più in campo medico ed industriale.
Animali come i cani, i delfini o i pipistrelli riescono a udire, a comunicare o addirittura a “vedere” grazie agli ultrasuoni e le attività didattiche legate al loro impiego possono aiutare gli studenti a conoscere meglio questi animali attraverso un approccio multidisciplinare che affianca ed integra la fisica alla biologia.
Il corso gratuito "Collaborare a scuola con il digitale"
Un'area personalizzata con i tuoi contenuti preferiti
Una lezione di prova gratuita per ogni corso online
Dirette ed eventi dedicati agli utenti iscritti
Gli ultrasuoni sono onde meccaniche e risentono della variabilità del mezzo in cui si propagano.
In questo tutorial l’obiettivo è quello di capire come poter utilizzare un sensore ad ultrasuoni come misuratore di distanze, in attività didattiche dove non sia richiesta un’elevata “qualità della misura”.
Lasciamo quindi a successivi sviluppi la ricerca di misure precise ed accurate, per le quali dovremmo considerare la velocità istantanea del suono che è influenzata, principalmente, dalla temperatura e dall’umidità relativa del mezzo.
Per quanto premesso possiamo assumere come costante il valore della velocità del suono in un determinato mezzo, in particolare l’aria, dove le onde sonore viaggiano a 343,8 m/s a 20°C.
Anche gli ultrasuoni, come tutte le onde, sono soggetti a fenomeni di riflessione. Questa caratteristica ci permette di utilizzare il sensore per rilevare misure di distanza tra la sorgente emettitrice del segnale sonoro e l’oggetto colpito.
Cerchiamo di capire in dettaglio il suo funzionamento:
5. Se invece il treno di onde ultrasoniche viene riflesso all'indietro da un oggetto, il segnale sul pin Echo diventa basso e contestualmente termina il rilievo della sua durata.
6. Il tempo ottenuto servirà per calcolare la distanza dell’oggetto: bisogna però tenere presente che l’onda ha percorso per due volte quella distanza, quando emessa verso l’oggetto e dopo la riflessione verso il sensore. Bisognerà quindi dividere per due la distanza calcolata con questo tempo.
Di seguito presentiamo alcuni esempi di base per sperimentare il funzionamento del sensore a partire dagli ultimi anni della scuola primaria.
È infatti possibile testare le potenzialità dell’HC-SR04 semplicemente seguendo lo schema dei collegamenti qui di seguito riportato e programmare la scheda Arduino con il software gratuito Visualino.
Oltre a permetterci una programmazione visuale a blocchi che richiama e dà continuità di lavoro a chi ha già utilizzato i vari Scratch, Snap, mBlock etc., il software Visualino presenta una sezione “Zum bloqs” con dei blocchi a cui sono state associate di default delle funzioni.
Nel nostro caso sceglieremo di settare il blocco “BAT - ultrasonic sensor” al quale vanno semplicemente indicati ed inseriti i numeri dei pin della scheda Arduino ai quali abbiamo collegato Echo e Trig del sensore (nell’esempio rispettivamente i pin 12 e 13).
Il blocco in questione restituisce direttamente il valore della distanza misurata dal sensore seguendo le fasi già descritte sopra. Dovremo prevedere un “contenitore” nel quale inserire le distanze rilevate, ovvero una variabile “distanza” che andremo a dichiarare nella sezione setup.
Di fatto la programmazione del sensore è completata. Per visualizzare le misure registrate dalla variabile utilizziamo il monitor di Visualino, accessibile con il tasto a forma di lente d’ingrandimento che troviamo in alto a destra nel programma.
Mi sembra didatticamente molto interessante rilevare che Visualino presenta un ambiente di lavoro ibrido dove coesistono codici di programmazione visuali (al centro dello schermo) e testuali (sulla destra del layout). L’ibridazione può essere sfruttata dal docente per stimolare la transizione concettuale e operativa dalla programmazione visuale a quella testuale e rappresenta un valore aggiunto alla scelta di questo software.
Purtroppo il codice testuale non è modificabile direttamente da questa interfaccia, ma è comunque possibile esportare la programmazione nel formato per l’IDE di Arduino da dove poter effettuare le modifiche ritenute necessarie.
Per la prova del funzionamento del sensore occorre caricare il codice nel microcontrollore di Arduino. Dopo aver collegato la scheda al pc scegliamo la porta di collegamento (COM1, COM2, etc.) e clicchiamo sulla seconda icona sotto la barra dei menu di Visualino (freccia verde verso destra “Upload”).
Se il caricamento andrà a buon fine, come segnalato dal box in basso nell’interfaccia del software, non ci resterà altro che testare il sensore, frapponendo degli oggetti davanti ad esso per poter visualizzare le distanze misurate (in cm) nel monitor di Visualino (c’è anche la possibilità di osservare i dati di lettura in un grafico a barre cliccando sul pulsante “Graph” sotto la barra dei menu in visualizzazione “Monitor”).
Lo stesso test di funzionamento può essere presentato anche ad una classe terza della scuola secondaria di primo grado o nei primi anni delle superiori. In questo caso gli studenti saranno chiamati all’uso del codice testuale di programmazione per scrivere uno sketch in grado di ricavare le misure di distanza attraverso il sensore. Prima di mettere mano ai codici sarà importante verificare che gli studenti abbiano compreso i principi e le fasi di funzionamento del sensore.
Lasciando i collegamenti come mostrato nello schema riportato in precedenza, riportiamo qui di seguito lo sketch commentato:
La misura della distanza viene calcolata sulla base della durata dell’impulso su Echo attraverso la formula: distanza = 0.0343 * durata / 2
Come si ottiene questa relazione? Ricordiamo che la velocità del suono nell’aria è di circa 343 m/s e che la funzione pulseIn() introdotta nello sketch ci permette di ottenere la durata dell’impulso ALTO sul pin Echo in microsecondi.
È necessario dimezzare il valore ottenuto tra parentesi visto che l’onda ultrasonica percorre la distanza da determinare due volte, in trasmissione e come onda riflessa.
L’ultima istruzione dello sketch imposta un’attesa in millisecondi prima della misurazione successiva; il datasheet dell’HC-SR04 consiglia un’attesa di almeno 60 millisecondi.
È possibile visualizzare le misure ottenute tramite Processing (https://processing.org/) caricando il seguente codice:
FREE
Tempo: 15 min
FREE
Tempo: 7 min
Ciao! Sono Wetruvio, il tuo assistente virtuale!