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.
Wyzwanie
ŁatwyNapisz setColor() i użyj jej, aby wyświetlać tęczę, każdy kolor przez pół sekundy, raz za razem:
- czerwony
- żółty
- zielony
- cyjan
- niebieski
- 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
}
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