image/svg+xml
Logo Tom's Hardware
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Tom's Hardware Logo
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Forum
  • Sconti & Coupon
% Black Friday
%
Accedi a Xenforo
Immagine di Black Friday su Amazon: i best seller aggiornati che continuano a spopolare Black Friday su Amazon: i best seller aggiornati che continu...
Immagine di Black Friday su Amazon: tutte le migliori offerte in tempo reale Black Friday su Amazon: tutte le migliori offerte in tempo r...

Corso base di Arduino il PWM e LED RGB

Facendo riferimento alla precedente puntata sul PWM, in questo articolo vedremo come pilotare efficacemente dei dispositivi luminosi RGB, in modo da riprodurre diverse tonalità cromatiche della luce.

Advertisement

Avatar di Elettronica Open Source

a cura di Elettronica Open Source

Pubblicato il 24/09/2017 alle 09:26
Quando acquisti tramite i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Scopri di più

banner prova1

Consigliamo di dare una lettura alla precedente lezione del corso su Arduino, che ha trattato la generazione del segnale PWM. È utile in tante occasioni, anche quella rivolta all'accensione di un diodo LED RGB (o di una lampada RGB), al fine di ottenere una illuminazione variamente colorata.

Il diodo LED RGB

Un diodo LED RGB, infatti è un unico dispositivo contenente tre singoli LED di colore rosso, verde e blu (RGB appunto, dal nome dei colori in lingua inglese). È dotato di quattro terminali: il catodo comune e altri tre reofori corrispondenti agli anodi degli altrettanti colori (esiste anche il modello inverso). Per il suo funzionamento occorre utilizzare sempre le relative resistenze di limitazione. Dosando opportunamente il flusso di corrente ad esso fornita o, nel nostro caso, variando il duty cycle del segnale PWM, è possibile ottenere diverse intensità di luminosità e colori. La mescolanza dei tre colori fondamentali, infatti, crea diverse sfumature di luce.

La figura 1 mostra il semplice cablaggio. Si tratta di un diodo LED RGB a catodo comune, le resistenze di limitazione sono di 220 ohm. Si controlli, tuttavia, la corretta piedinatura del diodo a disposizione, poiché potrebbe cambiare da caso a caso. Le porte utilizzate di Arduino sono la numero 11 (rosso), la 10 (verde) e la 9 (blu). Per tali porte la scheda offre una generazione hardware del PWM. Vediamo di cosa si tratta.

figura 1 cablaggio
FIGURA 1 cablaggio

Il PWM Hardware

A differenza della precedente puntata, questa volta produrremo il PWM in maniera del tutto automatica. Illuminando i tre componenti del diodo LED con diversi livelli di potenza è possibile ottenere tante sfumature di luce, secondo le combinazioni elencate in figura 2.

figura 2 colori
FIGURA 2 colori primari e secondari

figura 3 listato

Lo sketch di Arduino, una volta compilato e caricato, permette di eseguire diverse colorazioni del diodo LED, dalla durata di un secondo per colore, come segue: Rosso, Verde, Blu, Bianco, Porpora, Giallo, Nero (spento). Il cuore del programma è la funzione analogWrite(pin,valore) che invia una tensione analogica, creata tramite PWM, su un determinato pin. Dopo l'esecuzione di tale funzione, Arduino genera un'onda quadra sulla porta specificata e a un determinato duty cycle, compreso tra 0 e 255. Per generare un PWM del 50% occorre specificare, come parametro, il valore 128.

Con tale varietà di scelte combinative, il numero massimo di sfumature di luce è:

256 x 256 x 256 = 256^3 = 16.777.216.

Nel listato si notano diverse argomentazioni. Innanzi tutto è stata creata una funzione, ColoraLed(r,g,b), che riceve la tonalità di colore desiderato tramite tre parametri e provvede a inoltrare tali valori direttamente sulle porte di uscita. Volendo accorciare ulteriormente il listato, si può inserire la pausa di ritardo in coda a tale funzione UDF e toglierla dalla funzione loop().

Infine, per creare un effetto alba o tramonto di colori alternati, è sufficiente sottoporre tale funzione all'interno di uno o più cicli, in modo da cambiare continuamente l'entità dell'illuminazione.

listato

Tom's Consiglia

Per chi inizia ora e voglia dotarsi di tutto l'occorrente, Arduino Uno si trova facilmente a un prezzo abbordabile.

👋 Partecipa alla discussione! Scopri le ultime novità che abbiamo riservato per te!

0 Commenti

⚠️ Stai commentando come Ospite . Vuoi accedere?

Invia

Per commentare come utente ospite, clicca cerchi

Cliccati: 0 /

Reset

Questa funzionalità è attualmente in beta, se trovi qualche errore segnalacelo.

Segui questa discussione

Advertisement

Ti potrebbe interessare anche

Black Friday su Amazon: tutte le migliori offerte in tempo reale
3

Altri temi

Black Friday su Amazon: tutte le migliori offerte in tempo reale

Di Dario De Vita
Black Friday su Amazon: i best seller aggiornati che continuano a spopolare

Altri temi

Black Friday su Amazon: i best seller aggiornati che continuano a spopolare

Di Dario De Vita
Plex TV a -40% per il Black Friday! Vivi il vero streaming

Altri temi

Plex TV a -40% per il Black Friday! Vivi il vero streaming

Di Dario De Vita
Black Friday Lastminute: vola, parti e risparmia fino a 250€

Altri temi

Black Friday Lastminute: vola, parti e risparmia fino a 250€

Di Dario De Vita
Arriva la Cyber Week su eBay: ecco come ottenere il massimo risparmio
1

Altri temi

Arriva la Cyber Week su eBay: ecco come ottenere il massimo risparmio

Di Dario De Vita

Advertisement

Advertisement

Footer
Tom's Hardware Logo

 
Contatti
  • Contattaci
  • Feed RSS
Legale
  • Chi siamo
  • Privacy
  • Cookie
  • Affiliazione Commerciale
Altri link
  • Forum
Il Network 3Labs Network Logo
  • Tom's Hardware
  • SpazioGames
  • CulturaPop
  • Data4Biz
  • TechRadar
  • SosHomeGarden
  • Aibay

Tom's Hardware - Testata giornalistica associata all'USPI Unione Stampa Periodica Italiana, registrata presso il Tribunale di Milano, nr. 285 del 9/9/2013 - Direttore: Andrea Ferrario

3LABS S.R.L. • Via Pietro Paleocapa 1 - Milano (MI) 20121
CF/P.IVA: 04146420965 - REA: MI - 1729249 - Capitale Sociale: 10.000 euro

© 2025 3Labs Srl. Tutti i diritti riservati.