CORSO BASE LEZIONE 10

INDICE

  1. Avvertenze
  2. Note sul Copyright
  3. Approfondimento sulla Luce: gli Infrarossi
  4. Modulo Sensore Infrarossi KY-032
  5. Confronto fra Modulo ad Ultrasuoni HCSR04 e ad Infrarosso KY032
  6. Progetto 37 – L’uso del Modulo KY032 con il PIN EN disabilitato
  7. Analisi dello Sketch: Progetto 37 – Modulo KY032
  8. Progetto 38 – L’uso del Modulo KY032 con il PIN EN abilitato
  9. Modulo Sensore ad Infrarossi KY-033 – Inseguimento di Linea
  10. Progetto 39 – L’uso del Modulo KY033 Line Tracking
  11. Analisi dello Sketch: Progetto 39 – Modulo KY033 Line Tracking
  12. Il Telecomando ad Infrarossi – IR Remote Controller
  13. Progetto 40 – Decodificare il segnale IR di un telecomando
  14. Progetto 41 – Pilotare eventi con Telecomando IR
  15. Analisi dello Sketch: Progetto 41 – Pilotare eventi con Telecomando IR

Avvertenze

Relativamente agli aspetti di sicurezza, poiché i progetti sono basati su alimentazione elettrica in bassissima tensione erogata dalla porta usb del pc o da batterie di supporto o alimentatori con al massimo 9V in uscita, non ci sono particolari rischi di natura elettrica. È comunque doveroso precisare che eventuali cortocircuiti causati in fase di esercitazione potrebbero produrre danni al pc, agli arredi ed in casi estremi anche a ustioni, per tale ragione ogni qual volta si assembla un circuito, o si fanno modifiche su di esso, occorrerà farlo in assenza di alimentazione e al termine dell’esercitazione occorrerà provvedere alla disalimentazione del circuito rimuovendo sia il cavo usb di collegamento al pc che eventuali batterie dai preposti vani o connettori di alimentazione esterna. Inoltre, sempre per ragioni di sicurezza, è fortemente consigliato eseguire i progetti su tappeti isolanti e resistenti al calore acquistabili in un qualsiasi negozio di elettronica o anche sui siti web specializzati.

Al termine delle esercitazioni è opportuno lavarsi le mani, in quanto i componenti elettronici potrebbero avere residui di lavorazione che potrebbero arrecare danno se ingeriti o se a contatto con occhi, bocca, pelle, etc. Sebbene i singoli progetti siano stati testati e sicuri, chi decide di seguire quanto riportato nel presente documento, si assume la piena responsabilità di quanto potrebbe accadere nell’esecuzione delle esercitazioni previste nello stesso. Per i ragazzi più giovani e/o alle prime esperienze nel campo dell’Elettronica, si consiglia di eseguire le esercitazioni con l’aiuto ed in presenza di un adulto.

Roberto Francavilla

Approfondimento sulla Luce: gli Infrarossi

Il sole è fonte di vita per la terra, grazie ad esso abbiamo la luce ed il calore di cui necessitiamo per la nostra sopravvivenza. La luce è prodotta da una trasformazione dell’energia, infatti, grazie alle alte temperature della massa costituente il sole, la sua incandescenza viene trasferita non solo come calore, ma anche come luce.
Lo stesso principio vale per le candele, per le lampadine ad incandescenza che hanno il filamento in tungsteno che scaldandosi, grazie alla circolazione della corrente, oltre a produrre calore, emette luce.
Ci sono altri modi per produrre luce, ad esempio facendo passare delle scariche elettriche in un gas (le luci al neon, oppure quelle a vapori di mercurio), oppure sfruttando le caratteristiche elettroluminescenti di particolari materiali come accade per i LED.

Tralasciando la Fisica Quantistica del grande scienziato Albert Einstein, cerchiamo di capirne un pochino di più rispetto a quanto appreso nella Lezione n. 3.
Abbiamo visto già che la luce si propaga in onde, però a differenza del suono, non necessità di un mezzo “materiale” perché sono delle particolari onde elettromagnetiche (onde di fotoni). In sostanza la luce si propaga anche nel vuoto (basti pensare alla luce che ci giunge dalle stelle, ma anche dallo stesso sole).
La propagazione della luce avviene su traiettorie rettilinee dette “raggi” ed anch’essi, sul loro percorso, possono incontrare degli ostacoli. La velocità di propagazione della luce, è molto più alta di quella del Suono. La dimostrazione di questo è quando c’è un temporale… i fulmini generano sia la luce che allo stesso momento, il rumore, ma a noi ci giunge prima il lampo… e dopo qualche secondo il tuono. La luce viaggia a circa 300 mila km al secondo , cioè in un secondo la luce percorre circa 300 mila chilometri!
La luce quando incontra un corpo trasparente, riesce ad oltrepassarlo, solo una piccolissima parte viene riflessa. Se il corpo è opaco, allora si ha una riflessione diffusa. Se il corpo è uno specchio, allora la riflessione si dice speculare. Grazie alla riflessione noi siamo in grado di vedere anche gli oggetti che non emettono luce propria.

Giusto per completare l’argomento “luce” di nostro interesse, mi preme dire che l’infrarosso è quella particolare luce il cui spettro (cioè lunghezza d’onda) è al di sotto del colore rosso (da cui “infrarosso”), cioè un frequenza la cui lunghezza d’onda è maggiore dei 700 nano-metro è dell’ordine dei tera-Hertz.

Gli Infrarossi trovano, in campo elettronico e nella robotica, innumerevoli applicazioni, noi ne vedremo alcune.

Modulo Sensore Infrarossi KY-032

Questo modulo sensore è utilizzato quale metodo alternativo al modulo sensore HC-SR04 per la rilevazione degli ostacoli. Il principio di funzionamento del sensore è molto simile al modulo ad ultrasuoni, infatti si basa sull’emissione di segnali infrarossi che poi vengono riflessi da eventuali corpi che si trovano nella traiettoria del fascio di segnali incidenti e quindi, una volta riflessi, vengono captati dal ricevitore:

Confronto fra Modulo ad Ultrasuoni HCSR04 e ad Infrarosso KY032.

Per il confronto fra Modulo ad Ultrasuoni HCSR04 e Modulo ad Infrarosso KY032 per il rilevamento di ostacoli, costruiamo una piccola tabella per evidenziare le maggiori differenze tra i due moduli ai fini della rilevazione degli ostacoli:

Principali Caratteristiche

Modulo ad Ultrasuoni (Suono)

Modulo ad Infrarosso (Luce)

Spettro

Frequenze al di sopra dei 20 kHz (20 chilo-hertz, cioè 20 mila hetz). Gli ultrasuoni si collocano nella fascia alta dello spettro del suono.

Frequenza dell’ordine dei THz (tera-hertz, cioè mille miliardi di hertz). Gli infrarossi si collocano nella fascia bassa dello spettro della luce.

Propagazione

Rispetto ai corpi solidi, il suono nell’aria si propaga ad una velocità minore e non si propaga nel vuoto. Nell’aria la velocità del suono è di circa 340 m/s (340 metri al secondo)

La massima velocità di propagazione della luce è nel vuoto: 300.000 km/s (300 mila chilometri al secondo).

Capacità dell’onda riflessa di ritornare nella stessa direzione del generatore.

Ottima per superfici solide che si trovano perpendicolarmente alla direzione dell’onda sonora, man mano che tali superfici si inclinano, rispetto alla direzione dell’onda, la dispersione del suono riflesso aumenta. Per particolari inclinazioni l’onda sonora non ritorna nella direzione del generatore e quindi la riflessione fa disperdere il suono.

A parità di inclinazione rispetto al suono, con la luce si ha un’ottima riflessione nella direzione del generatore… anche per superfici molto inclinate. La luce non viene riflessa dai corpi di colore molto scuro, in tal caso la luce viene assorbita e nel caso di materiali trasparenti, dove la luce oltrepassa il materiale.

Progetto 37 – L’uso del Modulo KY032 con il PIN EN disabilitato

Per questo progetto ci occorre:

Lo schema elettrico è il seguente:

Lo schema di montaggio è il seguente:

Clicchiamo sull’icona di Arduino e dopo aver aperto un file nuovo ricopiamo lo sketch sotto riportato:

Una volta caricato lo sketch ed attivato il monitor seriale, passare la mano davanti al modulo sensore a differenti distanze e verificare la rilevazione con l’accensione del LED a bordo del modulo e la scritta che compare sul monitor seriale. Il punto di intervento del sensore può essere regolato tramite i trimmer posizionati sul modulo.

Video-Progetto 37 – L’uso del Modulo KY032 con il PIN EN disabilitato

Analisi dello Sketch: Progetto 37 – Modulo KY032.

Poiché il Modulo funziona come switch, cioè se trova l’ostacolo entro la distanza tarata dai trimmer, il modulo mette in stato di LOW il PIN del segnale, è suggeribile procedere , prima del suo utilizzo, alla taratura. Questo lo si fa con l’aiuto di un righello e posizionando un ostacolo alla distanza desiderata. Occorrerà regolare i due trimmer finché l’ostacolo, a quella precisa distanza, non viene rilevato.

Progetto 38 – L’uso del Modulo KY032 con il PIN EN abilitato

Per questo progetto ci occorre:

Lo schema elettrico è il seguente:

Per il montaggio occorre seguire lo schema sotto:

Clicchiamo sull’icona di Arduino e dopo aver aperto un file nuovo ricopiamo lo sketch sotto riportato:

<

Una volta caricato lo sketch ed attivato il monitor seriale, passare la mano davanti al modulo sensore a differenti distanze e verificare la rilevazione con l’accensione del LED a bordo del modulo e la scritta che compare sul monitor seriale. Il punto di intervento del sensore può essere regolato tramite i trimmer posizionati sul modulo.

In sostanza, in questo progetto, come si può vedere, si ha solo la particolarità che il funzionamento del modulo può essere abilitato o disabilitato all’occorrenza. Per abilitarlo bisogna mettere il PIN EN allo stato alto (HIGH). Con la presenza del jumper l’EN risulta essere sempre abilitato.

Video-Progetto 38 – L’uso del Modulo KY032 con il PIN EN abilitato

Modulo Sensore ad Infrarossi KY-033 - Inseguimento di Linea

Abbiamo visto, nei paragrafi precedenti, che gli infrarossi quando colpiscono superfici con  particolari colori molto scuri, non riescono ad essere riflessi e quindi non captati dal sensore ricevente. Allora, dei vostri colleghi Maker hanno giustamente pensato di sfruttare tale fenomeno per realizzare un sensore che potesse identificare una linea di colore scuro rispetto agli altri colori. Tale modulo è stato chiamato Modulo ad Inseguimento di Linea (in inglese: Line Tracking) e la sua sigla con cui viene commercialmente venduto è KY-033, noi lo chiameremo sensore o modulo ad inseguimento di linea.

Il funzionamento di tale sensore è semplice ed il modulo è simile al precedente:

In sostanza, quando il ricevitore non capta l’infrarosso emesso dal LED emettitore, significa che il sensore è posizionato sulla Linea di colore NERO (ovviamente occorre usare, per disegnare le linee che saranno di riferimento, colori molto scuri, il NERO è l’ottimale).

Il modulo ha tre PIN, uno per la massa (indicato con G o GND), uno per l’alimentazione (indicato con Vcc o V+) ed uno per il segnale di uscita (indicato con S o OUT). La posizione non è sempre quella indicata in figura per cui occhio alle indicazioni riportate sul modulo.

Inoltre il modulo ha un trimmer che serve per regolare l’intensità del segnale in emissione e quindi a seconda della distanza fra emettitore e linea da inseguire bisogna fare una piccola regolazione (in genere nella posizione centrale, che è quella rappresentata in figura sopra, già funziona egregiamente). Occorre osservare che il segnale in uscita è analogico, per cui occorrerà collegare il PIN del segnale del modulo ad un PIN Analogico di Arduino. Ma vediamo meglio il funzionamento del modulo nel progetto che segue.

Progetto 39 – L’uso del Modulo KY033 Line Tracking

Per questo progetto ci occorre:

Lo schema da realizzare è il seguente:

Per il montaggio, seguire lo schema in basso:

Clicchiamo sull’icona di Arduino e dopo aver aperto un file nuovo ricopiamo lo sketch sotto riportato:

Una volta caricato lo sketch ed attivato il monitor seriale, passare il sensore su una Linea spessa almeno un paio di cm ed osservare il segnale di uscita.

Video-Progetto 39 – L’uso del Modulo KY033 Line Tracking

Analisi dello Sketch: Progetto 39 – Modulo KY033 Line Tracking.

Analizzando lo sketch sopra possiamo osservare la seguente istruzione:

int ledPin = 13;

Con questa istruzione diciamo che la Variabile Intera di nome LED ha un valore di 13.

Stessa cosa si può dire dell’istruzione:

int sensorPin = A5; 

Dove A5 è il numero del PIN Analogico di Arduino dove abbiamo collegato il segnale “OUT” del sensore.

Alla Variabile di nome “sensorValue”, viene assegnato un valore 0 inizialmente, con l’istruzione:

int sensorValue = 0;

Relativamente alla sezione di SETUP, possiamo osservare le istruzioni:

  pinMode(ledPin, OUTPUT);

che definisce come OUTPUT il LED che è su Arduino (ed è collegato proprio al PIN 13).

Nella sezione di LOOP abbiamo la parte interessante: per prima cosa facciamo leggere con l’istruzione analogRead(sensorPIN); il valore presente sul PIN A5 e lo assegniamo alla variabile sensorValue. A questo punto quando il sensore è sopra un superficie chiara, il modulo restituisce un valore di tensione basso (circa 83 mV – milliVolt), per cui ricordandoci che il PIN analogico va da 0 a 1023, tariamo il sensore ad un valore di 500, ovvero: 5 V/1024*500 = 2,44 V. Ovvero quando il sensore restituisce un valore superiore a 2,44 V (cioè maggiore di 500) è su una superficie scura e per noi il sensore è in posizione corretta è quindi “ON LINE”.

Ho effettuato diverse prove, anche usando la regolazione concessa dal trimmer, ed ho osservato che, posizionando il sensore a circa 4 – 5 cm dalla superficie, con il colore marrone il sensore restituisce valori tra 500 e 600, mentre con il nero si va tra gli 800 e i 1000.

La migliore funzionalità del sensore comunque si ha quando se ne mettono due accoppiati. Essi riescono ad individuare meglio il loro posizionamento relativo rispetto alla linea da inseguire.

Il Telecomando ad Infrarossi – IR Remote Controller

La luce ad infrarossi oltre ad essere utilizzata per i sensori nell’individuazione di ostacoli o per inseguire linee, è utilizzata anche per trasmettere delle informazioni da un dispositivo ad un altro. Esempio di ciò è il nostro telecomando della TV.

In questa parte della Lezione ci concentreremo nell’imparare il funzionamento di un telecomando ad infrarossi (trasmettitore delle informazioni) e del suo corrispondente dispositivo di ricezione dell’informazione (che nel nostro caso è un ricevitore ad infrarossi denominato KY022). Le informazioni da un dispositivo ad un altro sono trasmesse tramite segnali ad Infrarossi (si usa la sigla IR per abbreviare) di tipo codificato.

Normalmente quando si acquista il telecomando, il produttore dello stesso, nel manuale, indica anche la codifica con cui il telecomando trasmette le informazioni su segnale IR, ma noi ne faremo a meno di questa informazione, perché vedremo anche come ricavare tali informazioni dal nostro telecomando. Per cui eseguiremo due progetti pratici, uno per recuperare le informazioni di codifica (quindi di decodifica del segnale) e l’altro per utilizzare le informazioni codificate trasmesse per far eseguire ad Arduino delle operazioni.

Progetto 40 – Decodificare il segnale IR di un telecomando

Per questo progetto ci occorre:

Lo schema elettrico di collegamento è:

Per il montaggio, si faccia riferimento allo schema sotto:

Dopo i collegamenti passiamo a scrivere lo sketch.

Collegare Arduino al PC tramite il cavo USB e lanciare l’applicativo dell’IDE di Arduino cliccando due volte sulla relativa icona.

Aprire una nuova finestra vuota e scrivere lo sketch sotto:

A questo punto, una volta caricato lo sketch su Arduino, aprite il Monitor Seriale dell’IDE , puntare il telecomando verso il ricevitore e pigiare su ogni singolo pulsante del telecomando  una sola volta. Ad ogni pigiata, la luce verde si accende quando viene catturato il segnale e si spegne a decodifica avvenuta. Il codice del pulsante pigiato compare sul Monitor Seriale. Adesso non resta che scrivervi i codici corrispondenti ad ogni tasto del telecomando. Nel mio caso:

  • Pulsante di spegnimento: 16580863
  • Volume +: 16613503
  • Volume -: 16617583
  • 1 : 16582903
  • 2 : 16615543
  • 3 : 16599223
  • 4 : 16591063
  • Etc…

Video-Progetto 40 – Decodificare il segnale IR di un telecomando

Analisi dello Sketch: Progetto 40 – Decodificare il segnale IR di un telecomando

Come è possibile osservare dallo sketch, abbiamo introdotto una nuova libreria: #include  <IRremote.h> che rende molto semplice l’uso dell’IR Receiver. Infatti basta leggere le righe di commento in corrispondenza delle singole righe di comando che si intuisce subito quale funzione svolge la singola istruzione. Fate attenzione, è del tutto normale che il ricevitore IR catturi anche altri segnali infrarossi, ad esempio quelli generati dall’illuminazione artificiale o anche di altri comandi remoti.

Progetto 41 – Pilotare eventi con Telecomando IR

Grazie al Modulo KY-022 possiamo pilotare eventi con un telecomando ad Infrarossi, infatti, una volta memorizzati i codici corrispondenti ai singoli tasti del telecomando, con l’istruzione if che stabilisce quale tasto è stato premuto, possiamo far avvenire un determinato evento. Un esempio è il progetto che segue. Per questo progetto ci occorre:

Lo schema elettrico di collegamento è:

Per il montaggio, si faccia riferimento allo schema sotto:

Dopo i collegamenti passiamo a scrivere lo sketch.

Collegare Arduino al PC tramite il cavo USB e lanciare l’applicativo dell’IDE di Arduino cliccando due volte sulla relativa icona.

Aprire una nuova finestra vuota e scrivere lo sketch sotto:

A questo punto, una volta caricato lo sketch su Arduino, aprite il Monitor Seriale dell’IDE , puntare il telecomando verso il ricevitore e pigiare il tasto “1” per accendere il LED giallo, il tasto “2” per accendere il LED rosso ed il tasto “3” per quello blu. Per spegnere tutto pigiare il tasto di spegnimento rosso

Video-Progetto 41 – Pilotare eventi con Telecomando IR

Analisi dello Sketch: Progetto 41 – Pilotare eventi con Telecomando IR.

Analizzando lo sketch sopra possiamo osservare che per far funzionare in modo semplice il ricevitore IR occorre caricare la libreria IRremote.h:

#include <IRremote.h>

Come potete osservare il codice, con questa libreria, è molto semplice:

Per creare l’oggetto “receiver”

IRrecv xxxxxxx (pinIRremote);

per abilitare il ricevitore IR

xxxxxxx.enableIRIn();

Per decodificare il segnale IR

xxxxxxx.decode

Una volta decodificato il segnale, si immette il valore nella variabile results

results.value

Per prepararsi a ricevere altro segnale IR

xxxxxxxx.resume();

 

Se hai trovato la lezione interessante fai una donazione mi aiuterai a realizzarne tante altre.