Menu
CoddyTech

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.

challenge icon

Desafío

Fácil

Escribe setColor() y úsala para mostrar un arcoíris, medio segundo por color, una y otra vez:

  1. rojo
  2. amarillo
  3. verde
  4. cian
  5. azul
  6. 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
}
quiz iconPonte a prueba

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