home - progetti - Realizziamo un sensore di colore con Arduino

Realizziamo un sensore di colore con Arduino

Spesso pensiamo al colore come ad una proprietà intrinseca degli oggetti.

La percezione del colore è in realtà un fenomeno piuttosto complesso da qualsiasi punto di vista lo si analizzi:

•   Punto di vista biologico: considerando le diverse...

  by Gianni Monti
CATEGORIA
Elettronica
Arduino

Introduzione

Spesso pensiamo al colore come ad una proprietà intrinseca degli oggetti.

La percezione del colore è in realtà un fenomeno piuttosto complesso da qualsiasi punto di vista lo si analizzi:

•   Punto di vista biologico: considerando le diverse fasi che portano alla formazione della percezione del colore da parte dell’occhio.

•   Punto di vista fisico: cercando di riprodurre questo complesso meccanismo attraverso componenti elettronici.

Il colore percepito dipende essenzialmente dalla sorgente luminosa (spettro di emissione) e dalle caratteristiche intrinseche della materia: la tipologia di luce emessa dalla sorgente è assorbita o diffusa in modo diverso dagli atomi e dalle molecole che compongono il corpo che stiamo osservando. Di fatto, quindi, vediamo la luce che non è assorbita, cioè la luce che è trasmessa o diffusa dagli oggetti che guardiamo.

In questa attività vedremo come realizzare un sensore di colore grazie alla scheda elettronica Arduino e all’utilizzo di un led RGB associato ad una fotoresistenza.

Obiettivi e Competenze

Competenze trasversali:

·         elaborare e realizzare progetti, utilizzando le conoscenze apprese, definendo strategie di azione e verificando i risultati raggiunti

·         comprendere messaggi di genere diverso e di complessità diversa, trasmessi utilizzando una pluralità di linguaggi

·         collaborare in gruppo, contribuendo all’apprendimento comune ed alla realizzazione delle attività valorizzando le proprie e le altrui capacità.



Competenze disciplinari:

·         affrontare situazioni problematiche proponendo soluzioni che utilizzano contenuti e metodi delle diverse discipline;

·         saper automatizzare la risoluzione di un problema, definendo una soluzione algoritmica;

·         favorire l’utilizzo delle strategie induttive del problem posing e del problem solving;

·         sviluppare una persistenza ed una tolleranza al lavoro in situazioni problematiche;

·         verificare la capacità di generalizzare e trasferire quanto sperimentato in contesti concreti.



Obiettivi di apprendimento:

·         conoscere le proprietà fisiche dei colori e la distribuzione delle radiazioni elettromagnetiche secondo la loro lunghezza d’onda (in particolare quelle nello spettro visibile);

·         leggere e rappresentare dati con diagrammi, schemi e tabelle;

·         misurare grandezze utilizzando sia unità che strumenti non convenzionali;

·         usare consapevolmente gli strumenti di calcolo e le regole della scrittura in notazione scientifica di un numero;

·         conoscere i principi di funzionamento e le proprietà di dispositivi elettronici facilmente reperibili ed a basso costo (LED, resistenza, fotoresistenza).

Strumenti


Per la realizzazione del sensore abbiamo bisogno di:

·         1 breadboard

·         4 resistenze da 330 ohm

·         1 resistenza da 10K ohm

·         1 fotoresistenza

·         1 led RGB

·         1 pulsante

·         fili di collegamento per breadboard

·         1 scheda Arduino UNO

Metodologia didattica


·         Learning by doing

·         Project-based learning [1]

Linee guida delle attività


Pre-requisiti:

Per poter raggiungere con la dovuta consapevolezza gli obiettivi dell’attività è consigliabile che gli studenti conoscano:

- i principi di funzionamento di base di un microcontrollore;

- i costrutti fondamentali della programmazione;

- le parti principali della scheda Arduino ed il suo ambiente di sviluppo [2].

 
Il progetto è stato realizzato nell’arco di tre incontri da due ore ciascuno (curricolari, disciplina: scienze) in risposta alla richiesta degli alunni di approfondire le proprie conoscenze sulla luce ed i fenomeni ad essa collegati.

L’attività si pone quindi in continuità con le lezioni sulle leggi della riflessione, della rifrazione (in particolare la dispersione della luce) e approfondisce un argomento di assoluto interesse didattico e scientifico come quello della formazione dei colori.


Primo incontro: brainstorming e consolidamento delle conoscenze

Nel corso del primo incontro viene esposta alla classe l’idea progettuale di massima e insieme agli alunni si iniziano a ipotizzare possibili soluzioni relative sia ai dispositivi elettronici che al loro montaggio. In base al grado scolastico di riferimento ed alle conoscenze pregresse, l’insegnante dovrà equilibrare la spinta creativa dei discenti, alimentata anche dal confronto tra pari, con la coerenza tecnica e scientifica.

Per tali ragioni, a supporto di chi non ha ancora affrontato nel proprio corso di studi queste tematiche, riportiamo, oltre allo schema di montaggio del sensore, una breve descrizione dei principali dispositivi elettronici impiegati.


I led RGB

I led RGB sono led capaci di produrre tre differenti lunghezze d’onda: Rosso (R, red), Verde (G, green) e Blu (B, blue). Nel nostro caso abbiamo utilizzato la configurazione a catodo comune, con il piedino più lungo al GND di Arduino e con gli altri tre ai pin digitali 6, 7 e 8.

Miscelando fra loro le intensità delle tre lunghezze d’onda si ottengono determinati colori; per questa attività abbiamo impiegato il led solo per la formazione dei colori rosso, verde e blu. Considerando la tensione di alimentazione di 5V, la tensione di funzionamento dei diodi dalla lettura dei datasheet e una corrente nominale di 20 mA, abbiamo ricavato un valore indicativo per le resistenze da mettere in serie ai tre pin: nello specifico abbiamo scelto resistenze da 330 ohm.

La fotoresistenza

La fotoresistenza è un dispositivo in grado di catturare e trasformare la radiazione luminosa che la colpisce in un segnale elettrico all’interno di un circuito.
Arduino riceverà una tensione che varia da 0 V a 5 V sul pin A0. Questa tensione verrà convertita da Arduino, grazie ad un convertitore analogico-digitale a 10 bit, in un numero che varia tra 0 e 1023 (ovvero 2^10 valori=1024).
È interessante notare, da un punto di vista didattico, che questi sono solo valori teorici, perché nella pratica esperienziale detti valori sono difficilmente raggiungibili essendo influenzati da una serie di fattori quali, ad esempio, la resistenza dei fili, la sensibilità della fotoresistenza, la presenza di altri componenti nel circuito ecc. Questo ci ha spinti a considerare un valore di tolleranza da introdurre nella lettura dei dati sul pin analogico, correzione che è stata inserita a livello software in fase di riconoscimento del colore.
Per quanto concerne lo schema di montaggio, si può notare che abbiamo realizzato un partitore di tensione per acquisire un segnale “leggibile” dalla fotoresistenza sul pin analogico di Arduino.


Le variazioni di tensione introdotte dalla sola fotoresistenza sarebbero infatti difficilmente rilevabili da uno strumento di misura; per questo viene messa in serie con un’altra resistenza e letto il valore di tensione tra le due. Se la resistenza variabile offerta dal fotoresistore diventasse, ad esempio, dello stesso valore di quella in serie (10 Kohm nel nostro caso), sul pin analogico A0 arriverà un segnale corrispondente a metà della tensione in ingresso. Da ricordare che il valore della resistenza variabile sul fotoresistore diminuisce all’aumentare della radiazione luminosa e, per contro, aumenta in caso di oscuramento.

Il pulsante, come verrà approfondito più avanti, è stato introdotto per avviare la fase di settaggio del dispositivo. Collegato ad una resistenza in configurazione di pull-down assicura uno stato logico BASSO quando non è premuto e permette di evitare fluttuazioni di corrente che potrebbero provocare falsi segnali o danneggiare la scheda.


Il funzionamento del sensore di colore

Dopo la prima fase di montaggio del circuito si passa ad analizzare in dettaglio il principio di funzionamento del sensore, attività propedeutica all’implementazione del programma da caricare nel microcontrollore. Ed è proprio la capacità di operare un legame organico e coerente tra hardware e software che porta lo studente ad un livello di competenza superiore rispetto alle “normali” proposte didattiche che non sempre riescono a fornire le giuste connessioni tra le due componenti in gioco.

Qual è il principio di funzionamento del sensore?

Il led RGB illumina un corpo opaco, ovvero un oggetto che non si lascia attraversare dalla luce (ci riferiamo essenzialmente alla radiazione visibile dello spettro elettromagnetico), emettendo in rapida successione le lunghezze d’onda relative ai colori rosso (R=red), verde (G=green) e blu (B=blue).


Desta non poca meraviglia negli studenti il fatto di lavorare con grandezze dell’ordine del decimilionesimo di metro, considerando le lunghezze d’onda della luce visibile nell’aria che vanno indicativamente dai 380nm del violetto ai 700nm del rosso. Ad esempio, un raggio di luce rossa è costituito da campi elettrici e magnetici che vibrano alla frequenza di 428 mila miliardi di vibrazioni al secondo. L’esperienza ha permesso così un consolidamento nell’uso della notazione scientifica e dell’ordine di grandezza di numeri molto piccoli (in termini di lunghezza d’onda) e molto grandi (se consideriamo la frequenza).

Per ogni flusso di fotoni emesso dal led RGB, la fotoresistenza registra l’intensità della radiazione riflessa dal corpo opaco.
Sappiamo infatti che quando un corpo opaco è colpito da una radiazione luminosa, in parte assorbe e in parte riflette una o più frequenze (o lunghezze d’onda) dello spettro di emissione della sorgente: i casi estremi sono relativi ai corpi bianchi (massima riflessione) e neri (massimo assorbimento).
Nel nostro sensore i raggi riflessi, per i tre colori emessi dal led RGB, vengono intercettati e trasformati in un segnale analogico dalla fotoresistenza. I dati ricevuti vengono contestualmente confrontati con dei valori standard o di settaggio e visualizzati a video grazie al monitor seriale come indicato in questa sezione dello sketch:


Secondo incontro: settare e configurare il sistema


La possibilità di visualizzare sul monitor seriale i valori ricevuti dalla fotoresistenza ci ha permesso nel secondo incontro di operare una serie di misure per settare il sistema ad una configurazione ottimale all’avvio, derivata dalla definizione dei valori medi ottenuti sperimentalmente e dichiarati all’inizio dello sketch:



Nonostante le numerose prove effettuate, gli studenti hanno rilevato immediatamente le difficoltà legate ad un sistema di riconoscimento che fa riferimento a valori standard, visto che modifiche anche minime al circuito o alle condizioni di illuminazione dell’ambiente (luce solare, lampade ad incandescenza, neon, condizioni meteo ecc.) determinano significative ripercussioni sulla rilevazione del colore. Abbiamo allora introdotto un sistema di settaggio comandato dal pulsante collegato al pin digitale 5 della scheda Arduino.



Come si può vedere nel seguente video, che mostra la fase di setting del dispositivo, occorre seguire una sequenza di colori ben precisa per poter compilare gli array in modo funzionale alla successiva fase di riconoscimento del colore. Nell’esempio abbiamo scelto la sequenza: bianco, rosso, giallo, verde, blu e nero.


Terzo incontro: interpretazione del colore


Nel corso del terzo incontro il focus si è spostato sull’interpretazione del colore.
Nel corpo umano è il nostro occhio che, attraverso i fotorecettori della retina, riesce ad assorbire lo stimolo di colore e a trasformarlo in un segnale elettrochimico che verrà interpretato dalla zona encefalica preposta alla percezione di colore.
Ma nel nostro caso, come avviene l’interpretazione del colore?
Nel nostro sensore i fotorecettori presenti della retina sono sostituiti dalla fotoresistenza, mentre i segnali nervosi dai segnali analogici e digitali che arrivano alla scheda Arduino, dove l’interpretazione del colore sarà affidata alla programmazione del microcontrollore. Poter interagire con un modello di funzionamento biologico - il nostro occhio - arricchisce l’esperienza dal punto di vista didattico, strizzando l’occhio (è proprio il caso di dirlo!) anche alla biologia.
Lasciando da parte la neurologia e concentrandoci sul nostro sensore, abbiamo implementato la fase di riconoscimento del colore in questa sezione dello sketch:



Attraverso una serie di scelte condizionali annidate abbiamo potuto confrontare il segnale corrente sulla porta analogia della fotoresistenza (luce riflessa per il rosso, verde e blu) con i valori di riferimento ottenuti nella fase di settaggio dello strumento. Se la differenza tra i due segnali (corrente-di settaggio) è minore di un valore di tolleranza (determinato su base sperimentale dagli studenti attraverso una serie significativa di prove) per tutti e tre i colori emessi dal led RGB, allora abbiamo individuato il colore che verrà stampato/visualizzato nel monitor come documentato in questi due video:



Risultati attesi

Partire per un viaggio ricco di insidie come quello della progettazione elettronica e affrontare un percorso tortuoso ed impervio legato ai concetti di luce e colore -senza certezza alcuna di raggiungere la meta-  è la sfida che ci siamo posti in questo progetto.
Aver tagliato il traguardo da vincitori rende straordinaria questa esperienza didattica per ogni singolo partecipante e, cancellando di colpo tutti gli sforzi e le tensioni, ci spinge ad affrontare nuovi percorsi. Non aspettatevi infatti di chiudere l’attività con la sola realizzazione del sensore di colore, perché gli studenti, senza esortazione alcuna, inizieranno ad immaginare nuove applicazioni  e a proporre soluzioni creative che saranno il motore di un circolo virtuoso alimentato dalla costante ricerca della conoscenza e dalla passione per la sperimentazione. Credo proprio sia questo il risultato più alto a cui un’attività come quella proposta possa ambire, al di là delle conoscenze disciplinari acquisite.
È il filo rosso di un nuovo modo di “FARE” scuola, una straordinaria possibilità per insegnati ed alunni di imparare a considerare la tecnologia come risorsa conoscitiva. Non possiamo infatti pensare di limitare la tecnologia, nella scuola come nella società, ad un uso estemporaneo o, ancor peggio, di facciata. Dobbiamo piuttosto farla diventare esperienza conoscitiva del vissuto quotidiano, motivo di sperimentazione comune e condivisa capace di esaltare nei discenti l’innata, ma spesso sopita, disposizione creativa.



Hai letto la lezione? Che cosa ne pensi? Lascia un commento qui sotto!

GIOVANNI GRECO

GRAZIE, molto interessante.... Potrei gentilmente avere la lista dei componenti Dell esercitazione.,il codice completo e lo schema elettrico in modo da proporlo.... Grazie molte la mia mail é giannigreco1957@gmail.com grazie molte e comimenti