Menu
CoddyTech

Tęczowy cykl kolorów

Część sekcji Wyjścia ścieżki Arduino w Coddy. Lekcja 8 z 24.

Każdy kolor wymaga trzech wierszy digitalWrite(). Sekwencja sześciu kolorów wymagałaby ich 18, a łatwo pomylić, który wiersz jest który.

Funkcja skraca zapis. setColor() przyjmuje jedną wartość dla każdego koloru i ustawia wszystkie trzy piny:

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

Teraz każdy kolor zapisuje się w jednym wierszu, a jego trzy wartości wyglądają jak przepis:

setColor(HIGH, HIGH, LOW);  // żółty
delay(500);

HIGH i LOW to liczby 1 i 0, więc pasują do parametru int. Zachowaj tę samą kolejność parametrów, w jakiej je przekazujesz: czerwony, zielony, niebieski.

challenge icon

Wyzwanie

Łatwy

Napisz setColor() i użyj jej, aby wyświetlać tęczę, każdy kolor przez pół sekundy, raz za razem:

  1. czerwony
  2. żółty
  3. zielony
  4. cyjan
  5. niebieski
  6. magenta

Naciśnij Uruchom, a następnie Sprawdź.

Spróbuj swoich sił

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) {
  // zapisz każdą wartość do odpowiadającego jej pinu
}

void loop() {
  setColor(HIGH, LOW, LOW);  // czerwony
  delay(500);
  // następnie żółty, zielony, cyjan, niebieski i magenta
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Wyjścia

Poćwicz samodzielnie: Edytor online Arduino