Nota
Ciao, benvenuto nella Community SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirsi?
Supporto Esperti: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Ottieni accesso anticipato ai nuovi annunci di prodotti e anteprime esclusive.
Sconti Speciali: Godi di sconti esclusivi sui nostri prodotti più recenti.
Promozioni Festive e Giveaway: Partecipa a giveaway e promozioni festive.
👉 Pronto a esplorare e creare con noi? Clicca [Qui] e unisciti oggi stesso!
2.4 Luce Colorata
Come sappiamo, la luce può essere sovrapposta. Ad esempio, mescolando la luce blu e quella verde si ottiene il ciano, mentre mescolando la luce rossa e quella verde si ottiene il giallo. Questo è chiamato «Metodo additivo di miscelazione dei colori».
Basandosi su questo metodo, possiamo utilizzare i tre colori primari per miscelare la luce visibile di qualsiasi colore secondo diverse proporzioni. Ad esempio, l’arancione può essere prodotto con più rosso e meno verde.
In questo capitolo, utilizzeremo il LED RGB per esplorare il mistero della miscelazione additiva dei colori!
Il LED RGB è equivalente a incapsulare un LED Rosso, un LED Verde e un LED Blu sotto un unico cappuccio, e i tre LED condividono un unico pin di catodo comune. Poiché il segnale elettrico viene fornito per ogni pin di anodo, è possibile visualizzare la luce del colore corrispondente. Modificando l’intensità del segnale elettrico di ciascun anodo, è possibile produrre vari colori.
Componenti Necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
Kepler Kit |
450+ |
Puoi anche acquistarli separatamente dai link sottostanti.
SN |
COMPONENTE |
QUANTITÀ |
LINK |
|---|---|---|---|
1 |
1 |
||
2 |
Cavo Micro USB |
1 |
|
3 |
1 |
||
4 |
Diversi |
||
5 |
3(1-330Ω, 2-220Ω) |
||
6 |
1 |
Schema

I pin PWM GP13, GP14 e GP15 controllano rispettivamente i pin Rosso, Verde e Blu del LED RGB, e collegano il pin di catodo comune a GND. Questo permette al LED RGB di visualizzare un colore specifico sovrapponendo la luce su questi pin con diversi valori PWM.
Collegamenti
Il LED RGB ha 4 pin: il pin lungo è il catodo comune, che di solito è collegato a GND; il pin a sinistra vicino al pin più lungo è il Rosso; e i due pin a destra sono Verde e Blu.

Codice
Nota
Apri il file
2.4_colorful_light.pynel percorsokepler-kit-main/micropythono copia questo codice in Thonny, poi clicca su «Esegui Script Corrente» o semplicemente premi F5 per eseguirlo.Non dimenticare di selezionare l’interprete «MicroPython (Raspberry Pi Pico)» nell’angolo in basso a destra.
Per tutorial dettagliati, fai riferimento a Aprire ed Eseguire Codice Direttamente.
import machine
import utime
red = machine.PWM(machine.Pin(13))
green = machine.PWM(machine.Pin(14))
blue = machine.PWM(machine.Pin(15))
red.freq(1000)
green.freq(1000)
blue.freq(1000)
def interval_mapping(x, in_min, in_max, out_min, out_max):
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
def color_to_duty(rgb_value):
rgb_value = int(interval_mapping(rgb_value,0,255,0,65535))
return rgb_value
def color_set(red_value,green_value,blue_value):
red.duty_u16(color_to_duty(red_value))
green.duty_u16(color_to_duty(green_value))
blue.duty_u16(color_to_duty(blue_value))
color_set(255,128,0)
Qui, possiamo scegliere il nostro colore preferito in un software di disegno (come paint) e visualizzarlo con il LED RGB.

Scrivi il valore RGB in color_set(), e potrai vedere il LED RGB illuminarsi con i colori che desideri.
Come funziona?
Per permettere ai tre colori primari di lavorare insieme, abbiamo definito una funzione color_set().
Attualmente, i pixel nell’hardware dei computer usano solitamente una rappresentazione a 24 bit. Ogni colore primario è suddiviso in 8 bit, e l’intervallo dei valori di colore è da 0 a 255. Ci sono 256 possibili combinazioni per ciascuno dei tre colori primari (non dimenticare di contare 0!), quindi 256 x 256 x 256 = 16.777.216 colori.
La funzione color_set() utilizza anche la notazione a 24 bit, quindi possiamo scegliere un colore più facilmente.
E poiché l’intervallo dei valori di duty_u16() è 0~65535 (anziché 0 a 255) quando si inviano segnali al LED RGB tramite PWM, abbiamo definito le funzioni color_to_duty() e interval_mapping() per mappare i valori di colore ai valori di duty.
