Menu
CoddyTech

Ciclo de cores do arco-íris

Parte da seção Saídas do Journey de Arduino da Coddy. Lição 8 de 24.

Cada cor exige três linhas de digitalWrite(). Uma sequência de seis cores exigiria 18 linhas, e é fácil confundir qual linha corresponde a cada cor.

Uma função deixa isso mais curto. setColor() recebe um valor para cada cor e escreve nos três pinos:

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

Agora cada cor ocupa uma linha, e seus três valores parecem uma receita:

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

HIGH e LOW são os números 1 e 0, então cabem em um parâmetro int. Mantenha os parâmetros na mesma ordem em que os passa: red, green, blue.

challenge icon

Desafio

Fácil

Escreva setColor() e use-o para exibir um arco-íris, meio segundo por cor, repetidamente:

  1. vermelho
  2. amarelo
  3. verde
  4. ciano
  5. azul
  6. magenta

Pressione Executar e depois Verificar.

Experimente você mesmo

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) {
  // escreva cada valor no pino correspondente
}

void loop() {
  setColor(HIGH, LOW, LOW);  // vermelho
  delay(500);
  // depois amarelo, verde, ciano, azul e magenta
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Saídas

Pratique por conta própria: Playground de Arduino