Menu
CoddyTech

Ciclo di colori arcobaleno

Fa parte della sezione Uscite del percorso Arduino di Coddy. Lezione 8 di 24.

Ogni colore richiede tre righe digitalWrite(). Una sequenza di sei colori ne richiederebbe 18, ed è facile confondere una riga con un’altra.

Una funzione rende tutto più breve. setColor() riceve un valore per ogni colore e scrive su tutti e tre i pin:

void setColor(int red, int green, int blue) {
  digitalWrite(redPin, red);
  digitalWrite(greenPin, green);
  digitalWrite(bluePin, blue);
}

Ora ogni colore occupa una riga e i suoi tre valori si leggono come una ricetta:

setColor(HIGH, HIGH, LOW);  // giallo
delay(500);

HIGH e LOW sono i numeri 1 e 0, quindi sono compatibili con un parametro int. Mantieni i parametri nello stesso ordine in cui li passi: rosso, verde, blu.

challenge icon

Sfida

Facile

Scrivi setColor() e usala per mostrare un arcobaleno, mezzo secondo per colore, ancora e ancora:

  1. rosso
  2. giallo
  3. verde
  4. ciano
  5. blu
  6. magenta

Premi Esegui, poi Verifica.

Provalo tu

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) {
  // scrivi ogni valore sul rispettivo pin
}

void loop() {
  setColor(HIGH, LOW, LOW);  // rosso
  delay(500);
  // poi giallo, verde, ciano, blu e magenta
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Uscite

Esercitati da solo: Playground Arduino