domenica 31 gennaio 2016

Kit Sensori per Arduino 37 in 1 - Parte 2








Questo post e' la seconda parte dell'articolo dedicato all'analisi del contenuto del Kit Sensori per Arduino 37 in 1 - Parte 1







Continuiamo con la descrizione dei moduli del kit dal 19 al 37.

Sensore #19 [Small sound]: Sensore audio KY-037

Questo modulo ha le stesse funzionalita' del sensore #13 KY-038 come spigato qui

Questo modulo ha una doppia funzionalita' in quanto e' sia un sensore di intensita' sonora che un interruttore sonoro.
Il sensore audio ha due tipi di uscite: una analogica ed una digitale. Sull'uscita analogica c'e' un valore proporzionale all'intensita' sonora rilevata dal sensore, mentre sull'uscita digitale c'e' uno stato logico che indica se l'intesita' sonora ha superato una certa soglia o meno.
La sensibilita' del sensore puo' essere regolata tramiter il trimmer blu.






Sensore #20 [Digital temp]: Sensore di temperatura - KY-028

Questo e' un sensore di temperatura basato su un termistore di tipo NTC (piu' informazioni qui)
Questo modulo ha una doppia funzionalita' in quanto e' sia un sensore analogico di temperatura che un interruttore termico.

Il sensore di temperatura ha due tipi di uscite: una analogica ed una digitale. Sull'uscita analogica c'e' un valore proporzionale alla temperatura rilevata dal sensore, mentre sull'uscita digitale c'e' uno stato logico che indica se la temperatura ha superato una certa soglia o meno.
La sensibilita' del sensore puo' essere regolata tramiter il trimmer blu.




Sensore #21 [Two-color]: Modulo led a due colori - KY-011


Questo modulo e' un led a due colori con intensita' di luce regolabile. Il suo funzionamento e' uguale a quello del modulo #15 con la sola differenza che il led e' piu' piccolo.
In questo caso i colori non si mescolano, quindi il led o e' rosso o e' verde.
Tramite un segnale PWM sui piedini di controllo si puo' regloare l'intesita' luminosa.











Sensore #22 [Button]: Modulo pulsante - KY-004

Questo modulo e' un semplice pulsante a pressione. Quando si preme l'interruttore il circuito si chiude e poi si riapre quando viene rilasciato.

Questo modulo puo' essere utile in molti progetti arduino.

Il modulo puo' essere acquistato individualmente qui





Sensore #23 [Photoresistor]: Modulo foto resistenza - KY-018

Questo modulo puo' essere utilizzato come rilevatore di luce o come intrerruttore crepuscolare.
Il suo funzionamento si basa sulle caratteristiche della foto resistenza presente nel modulo(piu' informazioni qui).

In pratica la foto resistenza e' una resistenza che assume un valore proporzionale all'intensita' di luce. Piu' in dettaglio se e' buio il valore di resistenza e' molto elevato e se e' completamente esposto alla luce il valore scende moltissimo (quasi nullo).

Il modulo fornisce un piedino analogico che presenta al suo capo un valore proporzionale alla luce a cui la foto resistenza e' esposta.

Questo modulo puo' essere usato per molti progetti Arduino.

Il modulo puo' essere acquistato individualmente qui




Sensore #24 [IR emission]: Modulo led trasmettitore ad infrarossi  - KY-005

Questo e' un modulo led emettitore ad infrarossi molto simile a quelli che si trovano nei comuni telecomandi per televisore o altri elettrodomestici.

Trasforma un segnale digitale al suo piedino di ingresso in un segnale luminoso ad infrarossi.

Questo modulo puo' essere untilizzato in molti progetti arduino in cui e' necessario far comunicare un arduino con dei dispotivi esterni o far comunicare 2 arduino fisicamente distanti (ma non troppo).

Il modulo puo' essere acquistato individualmente qui






Sensore #25 [Tracking]: Modulo rilevatore di tracciato - KY-033

Questo modulo e' composto da una coppia di un led emettitore ad infrarossi e un ricevitore ad infrarossi. In pratica il led ad infrarossi emette un fascio di luce (non visibile ad occhio nudo) che puo' essere riflesso od assorbito in funzione della superfice su cui e' puntato.
Se il fascio di luce ad infrarossi torna indietro e' captato dal led ricevitore ad infrarossi e quindi il led sul modulo si accende.

Il modulo presenta un'uscita digitale che indica se il fascio luminoso viene rilevato oppure no.

Questo modulo puo' avere vari utilizzi nei progetti arduino. Un'utilizzo molto bello si puo' vedere qui

Il modulo puo' essere acquistato individualmente qui












Sensore #26 [buzzer]: Modulo buzzer attivo - KY-012

Questo modulo e' costituito solamente da un buzzer di tipo attivo (Una spigazione dettagliata di tutti i tipi di buzzer la trovi qui a pagina 653).

Il buzzer attivo ha un oscillatore al suo interno quindi basta alimentare il buzzer ed emettera' un suono tipo le vecchie radiosveglia.

Il modulo puo' essere acquistato individualmente qui



Sensore #27 [Reed switch]: Modulo interruttore Reed - KY-025

Questo modulo implementa un interruttore magnetico. Basato sul contatto Reed (qui piu' informazioni) questo modulo fornisce un valore logico sul suo piedino digitale d'uscita D0 in funzione della presenza o meno di un campo magnetico.

Piu' in particolare se si avvicina un magnete al sensore il piedino D0 assume valore HIGH, mentre quando il magnete si allontana D0 diventa LOW.

Questo modulo ha anche un'uscita analogica A0 che assume un valore proporzionale all'intensita' del campo magnetico rilevato dal sensore reed.

La sensibilita' del sensore puo' essere regolata tramiter il trimmer blu.

Questo modulo puo' essere impiegato in vari progetti arduino.

Il modulo puo' essere acquistato individualmente qui





Sensore #28 [Shock]: Modulo rilevatore di vibrazione - KY-02

Questo modulo e' basato su un sensore di vibrazione. Il funzionamento e' piuttosto semplice.
Come si vede qui  il sensore e' essenzialmente composto da un terminale dritto circondato da una spirale (il secondo terminale).

Quando il sensore e' sottoposto ad una vibrazione la spirale tocca il terminale dritto chiudendo il
circuito.

Questo sensore fornisce un'uscita digitale da collegare ad arduino.

Il modulo puo' essere acquistato individualmente qui




Sensore #29 [Temp and humidity]: Modulo sensore di temperatura ed umidita' digitale - KY-015

Questo modulo include un sesnore di temperatura e di umidita'. Il modulo fornisce un'uscita digitale calibrata su singolo filo (1-wire) quindi e' adatto per essere pilotato da un microcontrollore come arduino.
Il modulo e' adatto a misurare temperature tra gli 0 e i 50 gradi celsius con un'umidita' compresa tra il 20 e il 90%.
Il modulo e' preciso ed affidabile per progetti arduino DIY.

Il modulo puo' essere acquistato individualmente qui











Sensore #30 [IR receiver]: Modulo ricevitore infrarossi 38KHz - KY-022

Questo modulo e' il complementare del modulo #24.
Questo e' un modulo diodo ricevitore ad ad infrarossi molto simile a quelli che si trovano nei comuni telecomandi per televisore o altri elettrodomestici.

Trasforma un un segnale ad infrarossi in un segnale digitale sul suo piedino di uscita,

Questo modulo puo' essere untilizzato in molti progetti arduino in cui e' necessario far comunicare un arduino con dei dispotivi esterni o far comunicare 2 arduino fisicamente distanti (ma non troppo).

Il modulo puo' essere acquistato individualmente qui




Sensore #31 [Avoid]: Modulo sensore di ostacolo ad infrarossi - KY-032

Questo modulo permette di rilevare un ostacolo ad una distanza compresa tra 2 e 40 centimeri. Tale distanza e' regolabile.
Si basa su un led emittitore ad infrarossi e su un diodo ricevitore.
Il led emette un segnale ad infrarossi. In base al segnale riflesso che viene captato dal diodo ad infrarossi e' possibile capire se si e' in presenza di un ostacolo o meno.

Il modulo fornisce un'uscita digitale che se e' LOW significa che c'e' un'ostacolo. Al contrario se l'uscita e' HIGH significa che non ci sono ostacoli nelle vicinanze.

Questo modulo puo' essere impiegato in vari progetti arduino ed in particolare come sensore di ostacoli per robot mobili controllati da arduino.


Il modulo puo' essere acquistato individualmente qui





Sensore #32 [Passive buzzer]: Modulo buzzer passivo - KY-006

Questo modulo e' molto simile al #26 con la sola differenza che non contiene un oscillatore al suo interno. Cio' significa che arduino deve fornizre al buzzer un segnale ad onda quadra compreso tra i 2KHz e 5KHz.

Con questo semplice modulo e con il programma adatto si possono generare delle note musicali e delle piacevoli melodie.

Per chi si ricorda, questo modulo e' molto simile allo speaker dei vecchi PC.

Il modulo puo' essere acquistato individualmente qui






Sensore #33 [Mini Reed]: Modulo interruttore Reed - KY-021

Questo modulo implementa un interruttore magnetico. Questo modulo funziona in maniera analoga al modulo #27. La differenza principale e' che questo modulo non fornisce un'uscita analogica.

Basato sul contatto Reed (qui piu' informazioni) questo modulo fornisce un valore logico sul suo piedino digitale d'uscita D0 in funzione della presenza o meno di un campo magnetico.

Piu' in particolare se si avvicina un magnete al sensore il piedino D0 assume valore HIGH, mentre quando il magnete si allontana D0 diventa LOW.

Questo modulo puo' essere impiegato in vari progetti arduino.

Il modulo puo' essere acquistato individualmente qui







Sensore #34 [Rotary encoder]: Modulo encoder rotativo - KY-040

Questo modulo implementa un encoder rotativo che viene utilizzato per misuare il verso e la velocita' di rotazione di un asse (spesso usato per misurare la posizione e la velocita di rotazione di un motore).

Chi vuole approfondire il funzionamento di un encoder puo' leggere qui.


Il modulo puo' essere acquistato individualmente qui



Sensore #35 [Analog Hall]: Modulo sensore effetto di Hall - KY-035

Il modulo e' funzionalmente uguale al modulo #6 (qui)
La differenza principale che non ha a bordo la resistenza ed il led e che l'uscita e' analogica.

In pratica sul piedino d'uscita c'e' un valore proporzionale all'intensita del campo magnetico rilevato.

Il modulo puo' essere acquistato individualmente qui






Sensore #36 [Tap module]: Modulo sensore di colpo - KY-031

Questo modulo e' un sensore di colpo, di battuta.
In pratica e' un sensore di vibrazione che viene utilizzato in progetti arduino per riconoscere il battito di una mano su un tavolo o porta.

Con questo modulo e' possibile riconoscere quando bussiamo ad una porta o su un tavolo ed eseguire una funzione specifica.


Il modulo puo' essere acquistato individualmente qui





Sensore #37 [Light blocking]: Modulo interruttore luminoso - KY-010

Questo modulo include una coppia di trasmettitore e ricevitore ottico. Il modulo fornisce un'uscita digitale che cambia valore se il fascio luminoso, tra le due parti in plastica, viene interrotto.

Non sono sicuro dell'utilizzo di questo modulo. Se scopriro' un suo utilizzo ve lo faro' sapere

Il modulo puo' essere acquistato individualmente qui








venerdì 8 gennaio 2016

Kit Sensori per Arduino 37 in 1 - Parte 1








Qualche settimana fa' ho acquistato un kit per Arduino che si chiama 37 In 1 Sensor Module Board Set Kit For Arduino per far impratichire i mie nipotini con Arduino.

Il kit e' formato da 37 sensori  di diverso tipo che possono essere utilizzati singolarmente o in combinazione per implementare delle funzionalita' piu' complesse.

In questo primo post facciamo una carrellata dei primi 18 sensori e della loro funzionalita'.

Il Kit

Ho ricevuto il kit in una pratica scatola (che posso riutilizzare). Il tutto molto ben ordinato e con ogni sensore imbustato singolarmente.
Considerando che ogni sensore l'ho pagato (euro 25,84 / 37) 0,69 Euro lo trovo di ottima qualita' e di sicuro un buon acquisto (meno di 1 caffe' al giorno)

Il kit viene fornito con un foglio illustrativo in cui sono riportati in ordine tutti i sensori con il nome (in inglese e forse in cinese :) )




Come detto i sensori sono organizzati e riposti in una pratica valigetta che risulta molto pratica ed utile.




Scopo

Dal mio punto di vista questo kit e' molto utile per dei principianti e per dei bambini/ragazzi che vogliono avvicinarsi al mondo Arduino.
Il kit da la possibilita' di capire il funzionamento e l'interfacciamento di una serie di sensori con Arduino. Alcuni sono digitali mentre altri sono analogici.

Ritengo che il kit sia un buon punto di inizio per impratichirsi con Arduino senza annoiarsi interfacciando e comprendendo il funzionamento di ogni singolo sensore.

In una seconda fase e' possibile combinare piu' sensori in uno stesso progetto ottenendo delle funzionalita' piu' complesse ed interessanti.


I 37 sensori

Vediamo ora una breve descrizione di ogni singolo sensore contenuto nella scatola.

Ho seguito l'ordine con cui i sensori sono riposti nella scatola partendo dall'angolo in alto a sinistra e muovendomi per righe

I sensori sono prodotti da un'azienda chiamata KEYES (http://en.keyes-robot.com/index.aspx)

NOTA: i 37 moduli inclusi nel kit non sono tutti sensori. Ad esempio il led RGB,il led a due colori, il rele' ed altri moduli non sono strettamente dei sensori in quanto non misurano nessuna grandezza fisica

Qui una definizione di sensore per chi vuole approfondire l'argomento





Sensore #1 [Joystick]: Joystick - KY-023

Joystick PS2 analogico.  Fornisce le coordinate X e Y del joystick tramite pin analogico. Fornisce la pressione del pulsante tramite pin digitale.

Il modulo e' essenzialmente composto da due potenziometri per le X-Y e da un micro switch per il pulsante.

Puo' essere utilizzato in molti progetti arduino in cui si ha bisogno di pilotare un oggetto (robot, RC car)

Il modulo puo' essere acquistato individualmente qui




Sensore #2 [Flame]: Sensore di fiamma - KY-026

Sensore di fiamma ad infrarossi con doppia uscita analogica e digitale.

Il sensore riconosce la presenza di una fiamma e fornisce sul piedino analogica una tensione proporzionale alla distanza dalla fiamma (piu' in dettaglio valore proporzionale alla temperatura percepita della fiamma).

Allo stesso tempo fornisce un uscita digitale (HIGH/LOW) in funzione di una soglia configurabile tramite potenziometro (trimmer).

Puo' essere utilizzato in varie situazioni e sopratutto a bordo di un robot pompiere (video)

Il modulo puo' essere acquistato individualmente qui





Sensore #3 [RGB LED]: Led RGB - KY-016

Led RGB con controllo PWM.
Il led e' composto da tre led di color Rosso, Verde e Blue.

Fornendo un valore PWM  su ciascun pin e' possibile ottenere colori diversi del led.

Calcola il colore qui

Il modulo puo' essere acquistato individualmente qui










Sensore #4 [Heartbeat]: Monitor battito cardiaco - KY-039

Modulo per rilevare il batitto cardiaco basato su una misurazione indiretta.
Il modulo e' composto da un led infrarosso e da un foto-transistor.

Inserendo il dito al variare del flusso sanguinio la foto-resistenza cambia di valore. Questa e' una misura indiretta del ritmo del battito cardiaco.

Ovviamente e' solo un concetto. Il modulo non funziona in modo corretto ed in ogni caso non riporta un valore attendibile

NOTA: il valore resistuito da questo modulo non deve per nessun motivo essere considerato il valore corretto del battito cardiaco di chi lo usa.

Il modulo puo' essere acquistato individualmente qui




Sensore #5 [Light Cup]: Rilevatore di inclinazione al mercurio - KY-027

Il modulo e' un sensore di inclinazione basato su di un tilt switch al mercurio.

La goccia di mercurio si muove liberamente all'interno del tubetto di vetro andando a collegare i due terminali.
Quando il sensore e' inclinato da un lato non c'e' collegamento (stato logico LOW), mentre quando l'inclinazione e' opposta la goccia di mercurio collega i due terminali (stato logico HIGH).

Quest'informazione e' disponibile su un pin digitale di uscita.

Il modulo include anche in led che puo' essere pilotato tramite l'apposito piedino.

NOTA: prestare attenzione a non danneggiare il modulo e a far fuoriuscire il mercurio in quanto e' un materiale tossico.

Il modulo puo' essere acquistato individualmente qui





Sensore #6 [Hall magnetic]: Interruttore magnetico ad effetto di Hall - KY-003

Il modulo e' un interruttore magnetico ad effetto di Hall.

Il modulo dispone di un pin digitale di uscita che varia il suo valore in presenza di un campo magnetico. In pratica se non c'e' campo magnetico il piedino d'uscita e' a HIGH, se invece il sensore si avvicina rileva un campo magnetico il piedino va a LOW.
E' anche presente un led sul modulo che indica quando un campo magnetico e' rilevato.

Puo' essere utilizzato per rilevare la velocita' di rotazione di un motore elettrico, la posizione di un oggetto, l'avvicinarsi ad una barriera magnetica

Il modulo puo' essere acquistato individualmente qui











Sensore #7 [Relay]: Modulo Rele' a 5V - KY-019

Il modulo e' un rele' a 5V e viene utilizzato per pilotare un carico tramite un piedino digitale.
Questo modulo puo' essere collegato ad un carico elletrico fino a 250V in alternata e fino a 30 Volt in continua.

In questo modo tramite il rele' si disaccoppia l'uscita digital di Arduino dal carico da pilotare.
Il modulo si collega ad un pin digitale di arduino e quando il pin e' HIGH il rele' si eccita e chiude i contatti in uscita su cui e' collegato il carico.

Puo' essere utilizzato in una varieta'  di casi (accensione di una lampada, di un motore, di una elettro-pompa, ...)

Io per esempio l'ho utilizzato in un mio progetto per accendere/spegnere la mia caldaia per riscaldamento casalingo (vedi i dettagli qui e qui)

Il modulo puo' essere acquistato individualmente qui



Sensore #8 [Linear Hall]: Sensore di campo magnetico ad effetto Hall - KY-024

Questo modulo ha una doppia funzionalita' in quanto e' sia un sensore di campo magnetico che un interruttore magnetico.

Infatti ha due tipi di uscite: una analogica ed una digitale.
Sull'uscita analogica c'e' un valore proporzionale all'intensita' del campo magnetico rilevato dal sensore, mentre sull'uscita digitale c'e' uno stato logico che indica la presenza o meno di un campo magnetico.

La sensibilita' del sensore puo' essere regolata tramiter il trimmer blu.

Gli utilizzi sono simili a quelli del sensore #6

Il modulo puo' essere acquistato individualmente qui




Sensore #9 [SMD RGB]: Led RGB SMD - KY-009

Led SMD RGB con controllo PWM.
Il led e' composto da tre led di color Rosso, Verde e Blue.

Fornendo un valore PWM  su ciascun pin e' possibile ottenere colori diversi del led.

Questo modulo ha un funzionamento uguale al sensore #3. L'unica differenza consiste nel tipo di led utilizzato.

Il modulo puo' essere acquistato individualmente qui











Sensore #10 [7 color flash]: Led lampeggiante a 7 colori - KY-034

Questo modulo e' un led ad alta luminosita' lampeggiante in 7 colori diversi.

Il modulo non si interfaccia ad arduino ma funziona in modo autonomo

Il modulo puo' essere acquistato individualmente qui




Sensore #11 [Tilt switch]: Interruttore al mercurio - KY-017

Questo modulo e' simile al sensore #5. Questo modulo e' ul tilt switch al mercurio.

La goccia di mercurio si muove liberamente all'interno del tubetto di vetro andando a collegare i due terminali.

Il sensore ha un'uscita digitale che segnala lo stato dell'interruttore.
La differenza principale e' che questo modulo non ha un led incorporato.


NOTA: prestare attenzione a non danneggiare il modulo e a far fuoriuscire il mercurio in quanto e' un materiale tossico.

Il modulo puo' essere acquistato individualmente qui




Sensore #12 [TEMP]: Sensore di temperatura digitale - KY-001

Questo modulo e' un sensore di temperatura con interfaccia digital OneWire.

Il protocollo OneWire si basa su due soli fili di connessione (GND e Data) e quindi e' estremamente semplice ed economico.

Il vantaggio di un sensore di temperatura digitale e' che puo' essere utilizzato da micrtocontrollori che non hanno pin analogici (exempio: EPS8266-01) senza dover usare un convertitore Analogico/Digitale esterno.

Questo modulo misura temperatura da circa -10  a +85 Celsius con una tolleranza di +- 0.5 gradi

Il sensore e' basato su un chip DS18B20 che include un numero seriale univoco. Questo puo' essere un altro modo di utilizzare il modulo.


Il modulo puo' essere acquistato individualmente qui




Sensore #13 [Big sound]: Sensore audio - KY-038

Questo modulo ha una doppia funzionalita' in quanto e' sia un sensore di intensita' sonora che un interruttore sonoro.

Questo modulo e' simile al sendore #8 nelle sue funzionalita. Infatti ha due tipi di uscite: una analogica ed una digitale.
Sull'uscita analogica c'e' un valore proporzionale all'intensita' sonora rilevata dal sensore, mentre sull'uscita digitale c'e' uno stato logico che indica se l'intesita' sonora ha superato una certa soglia o meno. 

La sensibilita' del sensore puo' essere regolata tramiter il trimmer blu.


Il modulo puo' essere acquistato individualmente qui










Sensore #14 [Touch]: Sensore di contatto - KY-036

Questo modulo e' un sensore di contatto umano, nel senso che il sensore rileva il tocco di un dito umano. 

Questo modulo ha una doppia funzionalita' in quanto e' sia un sensore di intensita' sonora che un interruttore sonoro.

Questo modulo e' simile al sendore #8 nelle sue funzionalita. Infatti ha due tipi di uscite: una analogica ed una digitale.

Sull'uscita analogica c'e' un valore proporzionale alla distanza del dito rispetto al sensore, mentre sull'uscita digitale c'e' uno stato logico che indica se il sensore e' stato toccato o meno da un dito umano.

La sensibilita' del sensore puo' essere regolata tramiter il trimmer blu.

Con questo modulo si puo' realizzare un interruttore attivato da un dito.

Il modulo puo' essere acquistato individualmente qui



Sensore #15 [Two-color]: Modulo led a due colori - KY-029

Questo modulo e' un led a due colori con intensita' di luce regolabile.

Il suo funzionamento e' simile al sensore #3 solo che ha 2 piedini di controllo (rosso e verde).
In questo caso i colori non si mescolano,  quindi il led o e' rosso o e' verde.

Tramite un segnale PWM sui piedini di controllo si puo' regloare l'intesita' luminosa.




Sensore #16 [Laser emit]: Led laser - KY-008

Questo modulo e' un led laser. Funziona e si pilota in maniera analoga ad un led ma emette un fascio laser a bassa potenza.
Il led laser si pilota tramite un pin digitale sul modulo


NOTA: anche se il led laser e' a bassa potenza non puntare MAI il fascio luminoso negli occhi di altre persone o animali. Potrebbe essere pericoloso ed arrecare un danno

Il modulo puo' essere acquistato individualmente qui



Sensore #17 [Ball switch]: Sensore di inclinazione meccanico - KY-020

Questo modulo ha le stesse funzionalita' del modulo #1. L'unica differenza e' che il sensore e' meccanico (con 2 piccole biglie metalliche) e non al mercurio.

In questo caso due piccole biglie metalliche si muovo liberamente nel corpo del sensore andando a collegare i due terminali.

Il sensore ha un'uscita digitale che segnala lo stato dell'interruttore.


Il modulo puo' essere acquistato individualmente qui



Sensore #18 [Analog temp]: Sensore di temperatura analogico - KY-013

Questo modulo e' un sensore di temperatura analogico basato su un termistore  che varia la sua resistenza in funzione della temperatura.

Questo modulo misura temperatura da circa -55  a +125 Celsius con una tolleranza di +- 0.5 gradi

Questo modulo deve essere interfacciato ad un microcontrollore con ingresso analogico.

Il modulo puo' essere acquistato individualmente qui







mercoledì 6 gennaio 2016

Scratch e Arduino - Progetto #5: Il led a luce variabile

In questo progetto vediamo come accendere un led con un'intensita' di luce variabile. Piu' in generale vediamo come pilotare un pin "analogico" o PWM di arduino.




Obiettivi del progetto

Accendere un led con un'intensita' di luce variabile impostata da un potenziometro.


Lista Componenti

Vediamo di cosa abbiamo bisogno per eseguire il progetto.


Scheda Arduino
Breadboard

Led

Resistenza da 220 ohm 

Potenziometro


Fili Maschio-Maschio




Come abbiamo visto nel progetto del led un pin digitale puo' assumere solo due valori

  • ON/HIGH/ACCESO o 100
  • OFF/LOW/SPENTO o 0

Tuttavia ci sono dei casi in cui vogliamo far assumere ad un pin digitale valori diversi da ON/OFF. Per esempio per accendere un led con un'intensita' di luce tra il massimo (tutto acceso = ON) e il minimo (tutto spento = OFF). In questo caso sul pidino che controlla il led dobbiamo passare valori differenti da ON e OFF.

Per far questo si usa una tecnica di modulazione chiamata PWM (Pulse With Modulation).
In questo modo possiamo far assumere al pin digitale di arduino un qualsiasi valore compreso tra 0 (OFF) e 100 (ON).
Ad ogni valore corrisponde un'intesita' di luce del led diversa.

Potete trovare una descrizione del concetto di PWM qui

Circuito e collegamenti

Qui lo schema dei collegamenti da realizzare. Ho usato il software Fritzing per rappresentare gli schemi di collegamento.




E qui la realizzazione su breadboard del circuito












Il circuito e' molto semplice. E' l'unione dei circuiti gia' realizzati per il led e per il potenziometro.

Abbiamo collegato il pin numero 9 di arduino, tramite il filo arancione, ad uno dei piedini della resistenza. L'altro piedino della resistenza e' collegato sul piedino positivo del led (anodo). Il piedino negativo del led (catodo) e' collegato indirettamente, tramite il filo nero, al pin GND (massa) di arduino (tramite la breadboard).

Abbiamo anche collegato il piedino centrale del potenziometro al pin analogico A0.

In questo modo quando ruoteremo il potenziometro la tensione sul piedino A0 variera' tra un valore di 0 e 100.
Useremo poi questo programma per accendere il led con una luce proporzionale a tale valore.




Programma Scratch

Crea questo script in Scratch usando il mouse







Adesso vediamo cosa fa il programma scratch descrivendo i vari blocchetti dall'alto al basso:





Imposta il Pin Analogio A0 come ingresso per legegre i valori del poteniometro ad esso collegato




Impostiamo il Pin 9 con uscita PWM.
 In questo caso possiamo solo usare i pin 3,5,6,9,10,11 o comunque quelli contrassegnati  con un tilde (~). Questi sono pin digitali speciali sui quali e' possibile impostare un valore qualsiasi tra 0 e 255 usando la tecnica PWM


Questo e' il ciclo principlae che viene eseguito per sempre. All'inizio devi creare una variabile chiamata luminosita. iniziamo il ciclo impostando il valore della variabile luminosita con il valore restituito dalla lettura del potenziometro (valore pin analogico (A) 0). A questo punto portiamo la luminosita' del ledA al valore contenuto nella variabile luminosita che ha sua volta e' il valore letto dal potenziometro. In questo modo al variare della posizione del potenziometro varia la luminosita' del ledA.
Notare che siccome il valore analogico assume valori tra 0 e 1023 sia necessario dividere il valore per 4 per portarlonel range 0 - 255


In questo modo abbiamo creato un programma che ha un input (il potenziometro) ed un output (il la luminosita' del led). Li abbiamo correlati tramite il software.

Faccio notare che questo circuito puo' essere implementato anche senza l'uso di Arduino, ma lo scopo e' di far comprendere l'uso dei pin PWM di arduino.






Complimenti!!! Con questo progetto hai imparato ad utilizzare i pin digitali ed analogici di Arduino in input e output.
Queste nozioni ti saranno utili in qualsiasi progetto arduino.