Colores intermedios
Parte de la sección Salidas del Journey de Arduino de Coddy. Lección 9 de 24.
Los pines 11, 10 y 9 tienen ~, así que cada color del LED RGB se puede atenuar con analogWrite(). Cada canal va de 0 a 255, y al mezclar tres niveles se obtienen muchos más de ocho colores:
- naranja: rojo 255, verde 80, azul 0
- morado: rojo 128, verde 0, azul 255
- blanco suave: los tres a 60
Cambia setColor() para que use analogWrite(), y sus parámetros pasarán a ser niveles de brillo:
void setColor(int red, int green, int blue) {
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}Por eso las patas de color están conectadas a los pines ~: en otro pin, el color solo podría estar encendido o apagado.
Desafío
FácilCambia setColor() para que use analogWrite() y después muestra, una y otra vez:
- naranja (255, 80, 0) durante un segundo
- morado (128, 0, 255) durante un segundo
Presiona Run y después Check.
Pruébalo tú mismo
const int redPin = 11;
const int greenPin = 10;
const int bluePin = 9;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void setColor(int red, int green, int blue) {
digitalWrite(redPin, red);
digitalWrite(greenPin, green);
digitalWrite(bluePin, blue);
}
void loop() {
// naranja (255, 80, 0) durante un segundo, luego morado (128, 0, 255) durante un segundo
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Salidas
Practica por tu cuenta: Playground de Arduino