Menu
CoddyTech

Wskaźnik świetlny serwomechanizmu

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

Z igłą na ramieniu serwo staje się wskaźnikiem, takim jak prędkościomierz w samochodzie. Tutaj pokazuje, jak jasno jest.

Podobnie jak w przypadku lampki nocnej, AO modułu odczytuje niższe wartości przy jaśniejszym świetle: około 1023 w ciemności i blisko 0 w pełnym świetle. Wskaźnik powinien wychylać się wyżej, gdy jest jaśniej, więc przeliczenie działa odwrotnie. Tak jak w mierniku światła, podaj map() nowy zakres w odwrotnej kolejności:

int angle = map(reading, 0, 1023, 180, 0);

Odczyt 0, czyli pełne światło, daje 180 stopni, a 1023, czyli ciemność, daje 0. Wszystkie wartości pośrednie mieszczą się pomiędzy nimi, w odwrotnej kolejności.

challenge icon

Wyzwanie

Średni

Wyjście AO czujnika światła jest podłączone do A0, a serwo do pinu 9. Zrób ze wskazówki miernik światła:

  • ciemność ustawia wskazówkę na 0 stopni, pełne światło na 180
  • użyj map() z odwróconym nowym zakresem
  • wypisuj kąt i za każdym razem czekaj 50 ms

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

Spróbuj swoich sił

#include <Servo.h>

const int lightPin = A0;
Servo arm;

void setup() {
  arm.attach(9);
  Serial.begin(9600);
}

void loop() {
  // odczytaj natężenie światła, przeskaluj je odwrotnie do zakresu 180..0, przesuń ramię, wypisz kąt
}
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