Menu
CoddyTech

Miernik światła

Część sekcji Wejścia ścieżki Arduino w Coddy. Lekcja 22 z 22.

Ta lekcja łączy całą sekcję: miernik światła, który wyświetla natężenie światła jako procent i pokazuje je na pasku złożonym z trzech diod LED, podobnie jak paski zasięgu w telefonie.

Podziel zadanie na funkcje, z których każda wykonuje jedno zadanie, aby loop() przypominało opis:

void loop() {
  int percent = lightPercent();
  showLevel(percent);
  // wyświetl wartość procentową
}

lightPercent() odczytuje AO modułu światła i zwraca wartość od 0 (ciemno) do 100 (jasno). Wartość AO maleje wraz ze wzrostem natężenia światła, więc mapuj ją odwrotnie: map(reading, 0, 1023, 100, 0) zamienia 1023 na 0, a 0 na 100.

showLevel(int percent) przypisuje każdej diodzie LED na pasku własny próg: pierwsza zapala się powyżej 25, druga powyżej 50, a trzecia powyżej 75. Każda z nich potrzebuje swojej instrukcji else, aby pasek mógł się ponownie skrócić, gdy natężenie światła spadnie.

challenge icon

Wyzwanie

Średni

Wyjście AO modułu światła jest podłączone do A0, a diody LED na pasku do pinów 10, 11 i 12:

  • int lightPercent(): 0 w ciemności, 100 w jasnym świetle
  • void showLevel(int percent): pin 10 zapala się powyżej 25, pin 11 powyżej 50, pin 12 powyżej 75
  • w loop() wywołaj obie funkcje, wypisz procent i odczekaj 200 ms

Naciśnij Run, przesuń suwak światła, a następnie naciśnij Check.

Spróbuj swoich sił

const int lowPin = 10;
const int midPin = 11;
const int highPin = 12;

// napisz tutaj int lightPercent()

// napisz tutaj void showLevel(int percent)

void setup() {
  pinMode(lowPin, OUTPUT);
  pinMode(midPin, OUTPUT);
  pinMode(highPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // odczytaj natężenie światła w procentach, pokaż je na pasku, wypisz je, odczekaj 200 ms
}
quiz iconSprawdź się

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

Wszystkie lekcje w sekcji Wejścia

Poćwicz samodzielnie: Edytor online Arduino