Ciclo de colores del arcoíris
Parte de la sección Salidas del Journey de Arduino de Coddy. Lección 8 de 24.
Cada color requiere tres líneas de digitalWrite(). Una secuencia de seis colores requeriría 18 líneas, y es fácil confundir cuál es cuál.
Una función lo hace más breve. setColor() recibe un valor para cada color y escribe en los tres pines:
void setColor(int red, int green, int blue) {
digitalWrite(redPin, red);
digitalWrite(greenPin, green);
digitalWrite(bluePin, blue);
}Ahora cada color ocupa una línea, y sus tres valores se leen como una receta:
setColor(HIGH, HIGH, LOW); // amarillo
delay(500);HIGH y LOW son los números 1 y 0, así que encajan en un parámetro int. Mantén los parámetros en el mismo orden en que los pasas: rojo, verde, azul.
Desafío
FácilEscribe setColor() y úsala para mostrar un arcoíris, medio segundo por color, una y otra vez:
- rojo
- amarillo
- verde
- cian
- azul
- magenta
Pulsa Ejecutar y después Comprobar.
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) {
// escribe cada valor en su pin
}
void loop() {
setColor(HIGH, LOW, LOW); // rojo
delay(500);
// después, amarillo, verde, cian, azul y magenta
}
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