Menu
CoddyTech

Stopniowo rozjaśniaj i przyciemniaj

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

Aby ponownie stopniowo zmniejszać jasność, krok musi zmienić kierunek. Przechowuj krok we własnej zmiennej, fadeAmount. Dodanie liczby ujemnej powoduje zmniejszenie jasności:

int brightness = 0;
int fadeAmount = 5;

void loop() {
  analogWrite(9, brightness);
  brightness = brightness + fadeAmount;
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  delay(30);
}

Znak minus przed zmienną zmienia jej znak: -fadeAmount zmienia 5 na -5, a -5 z powrotem na 5.

Instrukcja if sprawdza oba krańce. Na górze krok zmienia się na -5, a dioda LED przygasa; na dole znów zmienia się na 5, a dioda LED jaśnieje. Dioda LED oddycha i nigdy nie przeskakuje od jasności do ciemności.

challenge icon

Wyzwanie

Łatwy

Spraw, aby dioda LED na pinie 9 stopniowo się rozjaśniała, a następnie przyciemniała, i tak w kółko:

  • zmienna fadeAmount o wartości 5 obok brightness
  • dodawaj fadeAmount do jasności za każdym razem, gdy uruchamia się loop(), a następnie odczekaj 30 ms
  • zmień znak wartości, gdy jasność osiągnie 0 lub 255

Naciśnij Run, a następnie Check.

Spróbuj swoich sił

const int ledPin = 9;
int brightness = 0;
// utwórz tutaj fadeAmount

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  analogWrite(ledPin, brightness);
  brightness = brightness + 5;
  if (brightness > 255) {
    brightness = 0;
  }
  delay(30);
}
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