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.





Arduino Last Christmas

Obiettivo: Riprodurre la melodia Last Christmas utilizzando la piattaforma Arduino. Un progetto realizzato dall’alunno della classe 4DSA del Liceo Enrico Medi di Senigallia: Gianmarco D’Emilio

Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Buzzer

Pre-requisiti:

TeoriaOgni melodia musicale è composta da note e pause. Se le pause possono essere riprodotte utilizzando la funzione delay() di Arduino (già vista negli esempi precedenti), le singole note possono essere facilmente generate grazie all’utilizzo di un buzzer passivo e della funzione tone(). Nel dettaglio, l’impiego della funzione tone permette di selezionare la frequenza riprodotta dal buzzer e la relativa durata della nota.
Nel caso in questione, l’intera melodia (comprensiva di note, durata delle note e pause, viene salvata in due differenti array (vettori) e riprodotta sequenzialmente come un vero spartito musicale.

Collegamento Circuitale:

Collegamento Circuitale

Codice:






Arduino Cyclone Arcade Game

Obiettivo: Realizzare un gioco Arcade, basato su LED e pulsanti, utilizzando il microcontrollore Arduino.



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Resistenze da 1kOhm per i pulsanti
  • 8 Resistenze da 100 Ohm per i LED.
  • 1 Buzzer Passivo (per la realizzazione di una melodia)
  • 8 LED (7 LED Rossi ed 1 Led Verde)
  • 1 Pulsante

Pre-requisiti:


Pulsante come Interruttore



https://www.arduinofacile.it/2020/03/23/blinking-led-senza-delay-millis/


Buzzer Passivo


TeoriaLo scopo di questo progetto è quello di creare un semplice gioco per bambini interattivo e divertente, sfruttando il microcontrollore Arduino. Il progetto proposto prende spunto da un gioco realmente prodotto e commercializzato negli anni 80 denominato “Cyclon jr” (vedi figura).

Cyclone Jr

Il progetto è di facile realizzazione e si basa sull’utilizzo di un pulsante e di alcuni LED che si accenderanno in sequenza. L’obiettivo del gioco è premere il pulsante quando la luce del cyclone raggiunge l’unico LED verde presente nel tabellone di gioco. In caso di successo, il livello di difficoltà aumenterà ed i led si accenderanno più velocemente. Differente, in caso di sconfitta, il gioco ricomincerà da capo ed i led si accenderanno più lentamente.

L’utilizzo di un buzzer passivo permette di generare un segnale acustico in caso di vittoria o sconfitta. Analogamente una gioco di luci sarà avviato ogni volta che il giocatore preme il pulsante in modo corretto.

Collegamento Circuitale:

Collegamento Circuitale

Codice:

Sebbene le componenti hardware impiegate nel progetto in questione sono di comune utilizzo, il codice non è dei più immediati. Innanzitutto, è importante considerare che per fare lampeggiare i LED è stata utilizzata la funzione millis() a discapito della tradizionale delay. L’impiego della funzione millis() permette infatti una maggiore reazione nel rilevare la pressione di un pulsante. Inoltre l’impiego dell’operatore modulo % permette di gestire in modo facile la corretta accensione dei led in sequenza. La difficoltà è infine regolata dal parametro K che aumenta ad ogni vittoria.




PersonalizzazioniE’ possibile aggiungere un numero maggiore di led per rendere il gioco più completo.





L’Albero di Natale (Gioco Luci + Melodia)

Obiettivo: Riprodurre la melodia “Merry Christmas” e creare un gioco luci Natalizio utilizzando la piattaforma Arduino (senza utilizzare la funzione delay).



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Buzzer
  • 6 Resistenze (100 Ohm)
  • 6 Led (Possibilmente rossi)

Pre-requisiti:


Arduino Jingle Bells



Blinking Led Senza Delay: MILLIS()


TeoriaNelle lezioni precedenti è stato illustrato come ogni melodia musicale è composta da note e pause. Se le singole note possono essere facilmente generate grazie all’utilizzo di un buzzer passivo e della funzione tone() le pause possono essere riprodotte utilizzando la funzione delay().
Tuttavia è importante considerare che sebbene la funzione delay risulti molto pratica e permetta una facile realizzazione di giochi luci o riproduzione di melodie, questa produce un blocco del controllore il quale può impedire il corretto funzionamento di altre operazioni.
Nel caso specifico, se utilizzassimo la funzione delay sia per gestire il gioco luci sia per riprodurre la melodia, la funzione delay utilizzata in entrambi i task andrebbe a danneggiare la corretta esecuzione di una delle due attività. Ad esempio, si avrebbero delle pause troppo lunghe nella melodia rendendola incomprensibile.

Per risolvere questo problema si è deciso di utilizzare la funzione millis sia per realizzare il gioco luci sia per implementare la melodia.

La funzione millis restituisce il numero di millisecondi che sono passati da quando la board Arduino ha eseguito il programam corrente. Questo numero si riazzera dopo circa 50 giorni.

Collegamento Circuitale:

Circuito Elettrico

Codice:






Arduino Jingle Bells

Obiettivo: Riprodurre la melodia “Jingle Bells” utilizzando la piattaforma Arduino.



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Buzzer

Pre-requisiti:

TeoriaOgni melodia musicale è composta da note e pause. Se le pause possono essere riprodotte utilizzando la funzione delay() di Arduino (già vista negli esempi precedenti), le singole note possono essere facilmente generate grazie all’utilizzo di un buzzer passivo e della funzione tone(). Nel dettaglio, l’impiego della funzione tone permette di selezionare la frequenza riprodotta dal buzzer e la relativa durata della nota.
Nel caso in questione, l’intera melodia (comprensiva di note, durata delle note e pause, viene salvata in due differenti array (vettori) e riprodotta sequenzialmente come un vero spartito musicale.

Collegamento Circuitale:

Collegamento Circuitale

Codice:






Arduino Merry Christmas

Obiettivo: Riprodurre la melodia Merry Christmas utilizzando la piattaforma Arduino.



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Buzzer

Pre-requisiti:

TeoriaOgni melodia musicale è composta da note e pause. Se le pause possono essere riprodotte utilizzando la funzione delay() di Arduino (già vista negli esempi precedenti), le singole note possono essere facilmente generate grazie all’utilizzo di un buzzer passivo e della funzione tone(). Nel dettaglio, l’impiego della funzione tone permette di selezionare la frequenza riprodotta dal buzzer e la relativa durata della nota.
Nel caso in questione, l’intera melodia (comprensiva di note, durata delle note e pause, viene salvata in due differenti array (vettori) e riprodotta sequenzialmente come un vero spartito musicale.

Collegamento Circuitale:

Collegamento Circuitale

Codice:






L’Impianto Elettrico dell’APE con Arduino

Obiettivo: Realizzare l’Impianto Elettrico di un APE Car utilizzando il microcontrollore Arduino



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 4 Resistenze da 1kOhm per i pulsanti
  • 3 Resistenze da 100 Ohm per i LED.
  • 1 Buzzer Passivo (per la realizzazione di una melodia)
  • 3 LED (Gialli per frecce, Bianchi per luci di posizione)
  • 4 Pulsanti

Pre-requisiti:


Pulsante come Interruttore



https://www.arduinofacile.it/2020/03/23/blinking-led-senza-delay-millis/


Buzzer Passivo


TeoriaAttraverso l’utilizzo di quattro semplici pulsanti utilizzati come interruttori (vedi pre-requisiti) l’utente può abilitare i vari attuatori tipici dell’impianto elettrico di un autoveicolo.(i.e., ape piaggio).
E’ importante considerare che per fare lampeggiare le frecce è stata utilizzata la funzione millis() a discapito della tradizionale delay. L’impiego della funzione millis() permette infatti una maggiore reazione dell’impianto elettrico. Le letture vengono fatte in tempo reale e pertanto appena si preme un pulsante l’attutore associato reagisce immediatamente.

Collegamento Circuitale:

Codice:




PersonalizzazioniE’ possibile modificare l’impianto elettrico inserendo melodie personalizzate per il clacson oppure introducendo i fari posteriori.





La Morra Cinese con Arduino

Obiettivo: Realizzare il classico gioco Morra Cinese (Sasso Carta e Forbici) utilizzando il microcontrollore Arduino



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 3 Resistenze da 1kOhm per i pulsanti
  • 3 Resistenze da 100 Ohm per i LED.
  • 1 Buzzer Passivo (per la realizzazione di una melodia)
  • 3 LED (Rosso, Giallo, Verde)
  • 3 Pulsanti

Pre-requisiti:


Pulsante come Interruttore



Buzzer Passivo


TeoriaAttraverso l’utilizzo di tre semplici pulsanti l’utente può selezionare il tipo di oggetto che desidera giocare (i.e., sasso carte e forbici).
La scelta/risposta del computer viene selezionata attraverso l’impiego di un numero random generato in modo casuale con la funzione random(1,4). Tale funzione permetta la generazione di un numero casuale compreso tra 1 e 3, dove il numero 1 corrisponde al sasso, il numero 2 corrisponde alla carte ed il numero 3 a forbici. Questo valore viene confrontato nel blocco loop con i vari pulsanti premuti attribuendo la vittoria al computer o al giocatore ed accendendo il corrispettivo LED
Attraverso l’utilizzo di un contatore di vittorie, si decide il vincitore finale al meglio delle 5 partite.

Algoritmo Morra Cinese

Collegamento Circuitale:

Collegamento Circuitale

Codice:




PersonalizzazioniE’ possibile modificare il gioco realizzando la versione più complessa: Sasso Carta Forbice Lizard Spock, proposta sulla serie TV “The Big Bang Theory”.


Algoritmo Morra Cinese – The Big Bang Theory Version



Arduino Pirati dei Caraibi

Obiettivo: Riprodurre la melodia del film “Pirati dei Caraibi” utilizzando la piattaforma Arduino.

Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Buzzer

Pre-requisiti:

TeoriaOgni melodia musicale è composta da note e pause. Se le pause possono essere riprodotte utilizzando la funzione delay() di Arduino (già vista negli esempi precedenti), le singole note possono essere facilmente generate grazie all’utilizzo di un buzzer passivo e della funzione tone(). Nel dettaglio, l’impiego della funzione tone permette di selezionare la frequenza riprodotta dal buzzer e la relativa durata della nota.
Nel caso in questione, l’intera melodia (comprensiva di note, durata delle note e pause, viene salvata in due differenti array (vettori) e riprodotta sequenzialmente come un vero spartito musicale.

Collegamento Circuitale:

Collegamento Circuitale

Codice:






Arduino SuperMario

Obiettivo: Riprodurre la melodia del famoso videogioco utilizzando la piattaforma Arduino.



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Buzzer

Pre-requisiti:

TeoriaOgni melodia musicale è composta da note e pause. Se le pause possono essere riprodotte utilizzando la funzione delay() di Arduino (già vista negli esempi precedenti), le singole note possono essere facilmente generate grazie all’utilizzo di un buzzer passivo e della funzione tone(). Nel dettaglio, l’impiego della funzione tone permette di selezionare la frequenza riprodotta dal buzzer e la relativa durata della nota.
Nel caso in questione, l’intera melodia (comprensiva di note, durata delle note e pause, viene salvata in due differenti array (vettori) e riprodotta sequenzialmente come un vero spartito musicale.

Collegamento Circuitale:

Collegamento Circuitale

Codice: