Il Bastone Sensibile per Ipovedenti [Light]

Obiettivo: Il Bastone Sensibile per Ipovedenti rappresenta un’attività di stampo inclusivo utilizzabile in un contesto scolastico al fine di compensare la cecità e permettere agli alunni non vedenti di superare ostacoli ed impedimenti ambientali. Tale attività permette di sviluppare attraverso un processo meta-inclusivo l’empatia necessaria per comprendere le difficoltà affrontate da un ragazzo ipovedente all’interno di un contesto scolastico.
Tale strumento, rappresenta l’evoluzione del più comune e tradizionale bastone assistivo per compensare la cecità e permettere agli alunni non vedenti di superare ostacoli ed impedimenti ambientali. Un sensore di prossimità, montato sul telaio, conferisce la sensibilità al bastone. A seconda della distanza calcolata attraverso il sensore, vengono generati degli impulsi sonori con durata variabile. A differenza di quanto avviene con l’uso di un bastone tradizionale, con il quale gli ostacoli vengono individuati attraverso il tocco, in questo caso basterà concentrarsi sulla durata sonora per capire la posizione di eventuali impedimenti al percorso, proprio come avviene con i sensori di parcheggio delle automobili. Durante le attività, gli alunni sono chiamati in prima persona ad affrontare e cercare di superare gli ostacoli dovuti alla cecità. Nello stesso tempo si rendono conto delle diverse-abilità che un loro pari, non vedente o ipovedente, deve necessariamente sviluppare per compensare la mancanza della piena percezione visiva.

Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Sensore Ultrasuoni (e.g., HC-SR04)
  • 1 Buzzer attivo

Pre-requisiti:

TeoriaIl bastone sensibile per ipovedenti rappresenta dal punto di vista tecnologico la naturale evoluzione del tradizionale sensore di parcheggio, ovvero un dispositivo ampiamente utilizzato in ambito automobilistico per favorire l’operazione del una delle moderne tecnologie che permettono al guidatore di un autoveicolo di essere a conoscenza della distanza tra la propria automobile ed un eventuale altro veicolo.
Nel caso specifico, il bastone sensibile si basa su un sensore di prossimità ad ultrasuoni (INPUT) ed un buzzer (OUTPUT) utilizzato come segnalatore acustico.
Nel dettaglio, maggiore è la distanza maggiore sarà il ritardo tra una segnalazione acustica e la successiva, analogamente, minore è la distanza minore sarà il ritardo tra una segnalazione acustica e la successiva. In particolare, la relazione ingresso uscita che lega la distanza al ritardo impiegato nella segnalazione acustica è funzione dei seguenti quattro parametri:

  • DistanzaMassima: la distanza massima dopo la quale non viene più segnalato un’ostacolo.
  • DistanzaMinima: la distanza minima per la quale il buzzer emette un tono continuo
  • RitardoMassimo: Il ritardo tra una segnalazione acustica e la successiva nel caso di massima distanza.
  • RitardoMinimo: Il ritardo tra una segnalazione acustica e la successiva nel caso di minima distanza.

Questi valori vengono utilizzati al fine di determinare l’equazione fondamentale per il calcolo del ritardo:

ritardo = distanza*((RitardoMax-RitardoMin)/(DistanzaMax-DistanzaMin))

Collegamento Circuitale:

Collegamento Circuitale

Codice:




PersonalizzazioniE’ possibile introdurre un secondo sensore ad ultrasuoni per evidenziare la presenza di un ostacolo a destra oppure a sinistra dell’utilizzatore.





Il Cestino Smart

Obiettivo: Realizzare un cestino intelligente che si apre quando ci si avvicina, evitando toccarlo.

Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Sensore Ultrasuoni (e.g., HC-SR04)
  • 1 Servomotore (e.g. SG90)
  • 1 Scatolone alto
  • Colla a caldo

Pre-requisiti:


Il Servomotore

Il Sensore a Ultrasuoni


TeoriaIl servomotore è un particolare tipo di motore che consente il controllo della posizione grazie alla componentistica elettronica che ha a bordo. Ad esempio è possibile attivare il servomotore e fermarlo ad un determinato angolo. Alcuni modelli, più avanzati di quello presente in questo esercizio, hanno la possibilità di controllare anche la velocità di rotazione. Il modello di questa esperienza non consente il controllo della velocità, e il suo asse fa una rotazione di 180 gradi.

Scheda tecnica del servomotore SG90

Il contenitore del cestino viene realizzato con una scatola, di quelle che contengono le risme di carta A4.

Il coperchio della scatola, pesa complessivamente 61 g ma sarà necessario eliminare i bordi in modo che sia più facile spostarlo con il motore.

Facendo qualche calcolo si ricava che la superficie complessiva del coperchio della scatola è 1440 cm2. La densità, quindi è di circa 0,042 g/cm2 e il peso della sola superficie superiore è

0.042 * 600 = 25 g (circa)

Se a questo aggiungiamo gli elementi che servono per sorreggere la struttura, possiamo pensare di arrivare ad un peso di 50 g.

Considerando che il peso della superficie superiore della scatola sia uniformemente distribuito, possiamo ipotizzarlo equivalente ad una forza di circa 0.500 N applicata al centro della superficie.

La coppia che il servomotore dovrà sollevare sarà (0.5 * 0.15)

M = 0,075 Nm (oppure 0,75 Kg-cm)

Dalla scheda tecnica del servomotore si ricava che esso è in grado di erogare una coppia di 2,5 Kg-cm, ben superiore a quella che ci serve.

Per rilevare la presenza della persona e quindi dare l’ordine alla scheda di aprire il cestino, si utilizzerà un sensore ad ultrasuoni HC-SR04

Il sensore di prossimità è un dispositivo che permette di rilevare la presenza di oggetti nelle immediate vicinanze, senza che vi sia un effettivo contatto.
Nel caso specifico, il sensore di prossimità ad ultrasuoni sfrutta il principio del Sonar. Degli impulsi sonori (ultrasonici) vengono emessi dal dispositivo il quale attraverso l’eventuale eco di ritorno permette di rilevare la presenza di un oggetto all’interno della portata nominale. Esempi pratici di sensori ad ultrasuoni sono i sensori di retromarcia e di parcheggio utilizzati nelle moderne automobili.
Nel dettaglio, le principali caratteristiche tecniche del sensore ad ultrasuoni HC-SR04 sono:

  • Alimentazione: +5V DC
  • Angolo di misura: < 30°
  • Distanza di rilevamento: da 2cm a 400cm
  • Risoluzione: 1cm
  • Frequenza: 40kHz

Costruzione del cestino: dal coperchio tagliare le alette e incollare su una delle superfici un bastoncino di legno (noi abbiamo usato una bacchetta da sushi). il bastoncino deve sporgere leggermente rispetto al piano, per permettere di fissarci il servomotore

Ricavare nella scatola, in uno dei lati corti, uno scanso, per permettere la rotazione del piano con il bastoncino.

Fissare il servomotore in corrispondenza del taglio, incollandolo sul fianco della scatola. Se serve, si può aggiungere uno spessore sul fianco del servomotore

Collegare il servomotore al coperchio superiore, fissando la bacchetta alla levetta del servo

Forare il fianco della scatola in modo da poterci alloggiare il sensore ad ultrasuoni. Il sensore può essere fissato anche ad incastro e senza l’uso di colla o nastro adesivo

Collegamento Circuitale:

Codice:

Il sensore ad ultrasuoni, rileva la distanza degli ostacoli che ha di fronte. Se il sensore viene posto sul lato del bidone e gli si avvicina una mano, il sensore rileva la presenza dell’arto e invia il segnale al microcontrollore, il quale, elabora il dato e trasmette il movimento di 90 gradi al servomotore al quale è collegato il coperchio del cestino



Tinkercad




PersonalizzazioniE’ possibile inserire un altro sensore interno al cestino per segnalare quando è pieno





Utilizzare e Creare una Libreria per il Sensore ad Ultrasuoni

Obiettivo: Utilizzare e creare una libreria (file header e cpp) per un Sensore a Ultrasuoni (HC-SR04) utilizzato per misurare la distanza.

Puoi scaricare i file di libreria cliccando nel seguente link: https://www.arduinofacile.it/wp-content/uploads/2020/10/UltrasonicSensor.zip
I file scaricati devono essere inseriti all’interno della cartella di progetto insieme al file .ino

Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Sensore Ultrasuoni (e.g., HC-SR04)

Pre-requisiti:


Il Sensore a Ultrasuoni


Teoriala realizzazione di funzioni di libreria permette di facilitare l’operazione di riutilizzo del codice rendendo più veloce e più rapido lo sviluppo. Nel caso specifico la funzione di libreria implementata sarà costituta da un file header (.h) e da un file sorgente (.cpp).

Un file header è  un file di testo che contiene i prototipi dei metodi (funzioni) definite nel relativo file sorgente. Nel caso in questione il file header contiene anche la dichiarazione della classe “UltrasonicSensor” utilizzata per modellare il sensore ad ultrasuoni.
Tale classe sarà caratterizzata da 2 attributi:

  • int pinEcho: il pin di echo
  • int pinTrigger: il pin di trigger

e da 4 metodi:

  • void SetPinEcho (int pinEcho): metodo utilizzato per settare il pin di echo
  • void SetPinTrigger(int pinTrigger): metodo utilizzato per settare il pin di trigger:
  • long GetDistance(): metodo utilizzato per effettuare la misura di distanza (restituisce un valore di tipo long)
  • long GetAverageDistance(int numIteration): metodo utilizzato per effettuare la misura di distanza media su un numero dato di misure (restituisce un valore di tipo long)

Nel file sorgente viene invece riportata l’implementazione dei prototipi delle funzioni dichiarate nel file header.

Collegamento Circuitale:

Collegamento Circuitale

Codice:

Vengono in seguito riportate le tre porzioni di codice utilizzate per creare la funzione di libreria relativa al sensore ad ultrasuoni HC-SR04.

  • File Header: contiene la definizione della classe con i propri attributi (i.e., pinEcho e pinTrigger) ed i prototipi dei relativi metodi.



  • File Sorgente: contiene le implementazioni dei metodi riportati nel file header.



  • File Arduino: Utilizzato per fornire un esempio di come utilizzare la libreria per la gestione del sensore ad ultrasuoni.



Se tutti i file sono correttamente posizionati sullo stesso livello all’interno della cartella di progetto, due nuove tab compariranno nell’ambiente di sviluppo utilizzato per programmare Arduino. Attraverso queste tab sarà possibile visionare e modificare il file sorgente (.cpp) ed il file header (.h)




Il Sensore di Parcheggio

Obiettivo: Realizzare un sensore di parcheggio



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Sensore Ultrasuoni (e.g., HC-SR04)
  • 1 Buzzer

Pre-requisiti:

TeoriaIl sensore di parcheggio rappresenta una delle moderne tecnologie che permettono al guidatore di un autoveicolo di essere a conoscenza della distanza tra la propria automobile ed un eventuale altro veicolo. Questo permette di gestire in modo facile e rapido l’operazione di parcheggio evitando danneggiamenti o urti agli autoveicoli in questione.
Nel caso specifico, il sensore di parcheggio si basa su un sensore di prossimità ad ultrasuoni (INPUT) ed un buzzer (OUTPUT) utilizzato come segnalatore acustico.
Nel dettaglio, maggiore è la distanza maggiore sarà il ritardo tra una segnalazione acustica e la successiva, analogamente, minore è la distanza minore sarà il ritardo tra una segnalazione acustica e la successiva. In particolare, la relazione ingresso uscita che lega la distanza al ritardo impiegato nella segnalazione acustica è funzione dei seguenti quattro parametri:

  • DistanzaMassima: la distanza massima dopo la quale non viene più segnalato un’ostacolo.
  • DistanzaMinima: la distanza minima per la quale il buzzer emette un tono continuo
  • RitardoMassimo: Il ritardo tra una segnalazione acustica e la successiva nel caso di massima distanza.
  • RitardoMinimo: Il ritardo tra una segnalazione acustica e la successiva nel caso di minima distanza.

Questi valori vengono utilizzati al fine di determinare l’equazione fondamentale per il calcolo del ritardo:

ritardo = distanza*((RitardoMax-RitardoMin)/(DistanzaMax-DistanzaMin))

Collegamento Circuitale:

Collegamento Circuitale

Codice:




PersonalizzazioniE’ possibile inserire un led al fine di avere un segnalatore visivo che indichi la distanza dall’ostacolo.





Collegare più Sensori Ultrasuoni ad Arduino

Obiettivo: Utilizzare simultaneamente due sensori a ultrasuoni (HC-SR04). Nel dettaglio, al fine di dimostrare il corretto funzionamento del circuito, ad ogni sensore è associato un led. Quando la distanza misurata dal sensore è inferiore ad una data soglia, il led associato si accende, mentre quando la distanza è superiore il led si spegne.



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 2 Sensori Ultrasuoni (e.g., HC-SR04)
  • 2 Led (utilizzati per dimostrare il funzionamento del circuito)
  • 2 Resistenze (100 Ohm) (indispensabili per il corretto funzionamento dei led)

Pre-Requisiti:


Il Sensore a Ultrasuoni


TeoriaIl sensore di prossimità è un dispositivo che permette di rilevare la presenza di oggetti nelle immediate vicinanze, senza che vi sia un effettivo contatto.
Nel caso specifico, il sensore di prossimità ad ultrasuoni sfrutta il principio del Sonar. Degli impulsi sonori (ultrasonici) vengono emessi dal dispositivo il quale attraverso l’eventuale eco di ritorno permette di rilevare la presenza di un oggetto all’interno della portata nominale. Esempi pratici di sensori ad ultrasuoni sono i sensori di retromarcia e di parcheggio utilizzati nelle moderne automobili.
Nel dettaglio, le principali caratteristiche tecniche del sensore ad ultrasuoni HC-SR04 sono:

  • Alimentazione: +5V DC
  • Angolo di misura: < 30°
  • Distanza di rilevamento: da 2cm a 400cm
  • Risoluzione: 1cm
  • Frequenza: 40kHz

Il sensore, dispone di 4 pin: Vcc (+5V), Trigger, Echo, GND.

  • VCC: +5V DC
  • Trigger: Genera l’impulso ultrasonico
  • Echo: Rileva il segnale ultrasonico di ritorno
  • GND: 0V Ground

Modello Sensore HC-SR04

Collegamento Circuitale:

La realizzazione hardware di circuiti che utilizzano più sensori ad ultrasuoni è relativamente facile. Ognuno dei pin di Echo e di Trig del sensore deve essere semplicemente collegato ai pin di input/output di Arduino.

Collegamento Circuitale

Codice:

Nel caso specifico, in cui si vogliano utilizzare più sensori ad ultrasuoni per misurare simultaneamente la distanza in più punti è opportuno gestire i sensori in modo corretto attraverso il relativo codice. Nel dettaglio, è importante considerare che inizialmente entrambi i sensori generano l’impulso utilizzato per determinare la distanza. In seguito le letture di echo (effettuate mediante l’istruzione pulseIn) sono eseguite in modo sequenziale (una dopo l’altra).






Il Sensore a Ultrasuoni

Obiettivo: Utilizzare un Sensore a Ultrasuoni (HC-SR04) per misurare la distanza.



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Sensore Ultrasuoni (e.g., HC-SR04)

TeoriaIl sensore di prossimità è un dispositivo che permette di rilevare la presenza di oggetti nelle immediate vicinanze, senza che vi sia un effettivo contatto.
Nel caso specifico, il sensore di prossimità ad ultrasuoni sfrutta il principe del Sonar. Degli impulsi sonori (ultrasonici) vengono emessi dal dispositivo il quale attraverso l’eventuale eco di ritorno permette di rilevare la presenza di un oggetto all’interno della portata nominale. Esempi pratici di sensori ad ultrasuoni sono i sensori di retromarcia e di parcheggio utilizzati nelle moderne automobili.
Nel dettaglio, le principali caratteristiche tecniche del sensore ad ultrasuoni HC-SR04 sono:

  • Alimentazione: +5V DC
  • Angolo di misura: < 30°
  • Distanza di rilevamento: da 2cm a 400cm
  • Risoluzione: 1cm
  • Frequenza: 40kHz

Il sensore, dispone di 4 pin: Vcc (+5V), Trigger, Echo, GND.

  • VCC: +5V DC
  • Trigger: Genera l’impulso ultrasonico
  • Echo: Rileva il segnale ultrasonico di ritorno
  • GND: 0V Ground

Modello Sensore HC-SR04

Pertanto considerando la formula che lega velocità, spazio e tempo:

s = v*t

e la velocità del suono pari a 343 m/s (che espressa in microsecondi diventa 0,0343 m/uS), si ottiene:

s = 0,0343*t

Considerando inoltre che il suono percorrerà due volte la distanza da misurare (dal sensore all’oggetto e dall’oggetto al sensore); il tempo t ottenuto deve essere diviso per due, ottenendo:

s = 0,0343*(t/2)

s = 0,01715*t

s = t/58,31

Per valutare la presenza di un oggetto è necessario rispettare il seguente “protocollo“:

  • Il PIN Trigger deve essere dettato alto (HIGH value) per almeno 10microsecondi.
  • In automatico il modulo HC-SR04 invierà 8 impulsi ultrasonici ad una frequenza pari a 40kHz.
  • Il PIN Echo viene posto in ascolto. Calcolando il tempo di arrivo/ritorno dell’impulso ultrasonico.

Collegamento Circuitale:

Collegamento Circuitale

Codice:


[crayon-6621b6db52891031666488/]


PersonalizzazioniE’ possibile modificare il contrasto del display intervenendo sul potenziometro.