Taula de continguts:
Vídeo: LED RGB amb Arduino Uno R3: 7 passos
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-10 13:46
Anteriorment, hem utilitzat la tecnologia PWM per controlar un LED il·luminat i atenuat. En aquesta lliçó, l’utilitzarem per controlar un LED RGB per parpellejar diversos tipus de color. Quan es defineixen diferents valors PWM als pins R, G i B del LED, la seva brillantor serà diferent. Quan es barregen els tres colors diferents, podem veure que el LED RGB parpelleja de diferents colors.
Pas 1: components
- Tauler Arduino Uno * 1
Cable USB * 1
- Resistència (220Ω) * 1
- LED RGB * 3
- Taula de pa * 1
- Cavalls de pont
Pas 2: Principi
El LED RGB significa LED vermells, blaus i verds. Llauna LED RGB
emet diferents colors barrejant els 3 colors bàsics vermell, verd i blau. Per tant, en realitat consta de 3 LED separats de color vermell, verd i blau empaquetats en una sola caixa. Per això, té 4 derivacions, una per a cadascun dels 3 colors i un càtode o ànode comú segons el tipus de LED RGB. En aquest tutorial faré servir un de càtode comú.
Pas 3: el diagrama esquemàtic
Pas 4: Procediments
En aquest experiment, també utilitzarem PWM que, si heu seguit les lliçons fins ara, ja teniu una comprensió bàsica. Aquí introduïm un valor entre 0 i 255 als tres pins del LED RGB per fer que mostri diferents colors. Després de connectar els pins de R, G i B a una resistència de limitació de corrent, connecteu-los al pin 9, pin 10 i pin 11 respectivament. El pin més llarg (GND) del LED es connecta al GND de l’Uno. Quan els tres pins tenen valors PWM diferents, el LED RGB mostrarà diferents colors.
Pas 1:
Construeix el circuit.
Pas 2:
Baixeu-vos el codi des de
Pas 3:
Pengeu l’esbós al tauler Arduino Uno
Feu clic a la icona Puja per penjar el codi al tauler de control.
Si apareix "Càrrega finalitzada" a la part inferior de la finestra, significa que l'esbós s'ha carregat correctament.
Aquí hauríeu de veure el flaix LED RGB circularment vermell, verd i blau primer, després vermell, taronja, groc, verd, blau, índigo i porpra.
Pas 5: Codi
// RGBLED
// El
El LED RGB apareixerà vermell, verd i blau primer, després vermell, taronja, groc, verd, blau, índigo i porpra.
// Lloc web: www.primerobotics.in
/*************************************************************************/
const
int redPin = 11; // Pètal R al mòdul LED RGB connectat al pin digital 11
const
int greenPin = 10; // Pètal G al mòdul LED RGB connectat al pin digital 10
const
int BluePin = 9; // Pètal B al mòdul LED RGB connectat al pin digital 9
/**************************************************************************/
buit
setup ()
{
pinMode (redPin, OUTPUT); // estableix el redPin
ser una sortida
pinMode (greenPin, OUTPUT); // estableix el
greenPin per ser una sortida
pinMode (bluePin, OUTPUT); // estableix el bluePin
per ser una sortida
}
/***************************************************************************/
buit
loop () // córrer una i altra vegada
{
// Colors bàsics:
color (255, 0, 0); // posa el LED RGB en vermell
retard (1000); // demora 1 segon
color (0, 255, 0); // gireu el LED RGB
verd
retard (1000); // demora 1 segon
color (0, 0, 255); // gireu el LED RGB
blau
retard (1000); // demora 1 segon
// Exemple de colors barrejats:
color (255, 0, 252); // gireu el LED RGB
vermell
retard (1000); // demora 1 segon
color (237, 109, 0); // gireu el LED RGB
taronja
retard (1000); // demora 1 segon
color (255, 215, 0); // gireu el LED RGB
groc
retard (1000); // demora 1 segon
color (34, 139, 34); // gireu el LED RGB
verd
retard (1000); // demora 1 segon
color (0, 112, 255); // Posa el LED RGB en blau
retard (1000); // demora 1 segon
color (0, 46, 90); // gireu el LED RGB índigo
retard (1000); // demora 1 segon
color (128, 0, 128); // gireu el LED RGB
porpra
retard (1000); // demora 1 segon
}
/******************************************************/
buit
color (vermell sense signe, verd sense signe, blau sense signe) // la funció de generació de color
{
analogWrite (redPin, vermell);
analogWrite (greenPin, green);
analogWrite (bluePin, blau);
}
/******************************************************/