Spisu treści:

Kontrola jasności, Arduino (z animacjami): 7 kroków
Kontrola jasności, Arduino (z animacjami): 7 kroków

Wideo: Kontrola jasności, Arduino (z animacjami): 7 kroków

Wideo: Kontrola jasności, Arduino (z animacjami): 7 kroków
Wideo: ChatGPT pisze mi program na ARDUINO. A.I. ZABIERA PRACĘ PROGRAMISTOM!!! 2024, Lipiec
Anonim
Image
Image

W ciągu ostatnich kilku lat zbudowałem dwie maszyny do pinballa (pinballdesign.com) i dwie głowice robotów (grahamasker.com), z których każda sterowana jest przez Arduinos. Po karierze inżyniera mechanika jestem w porządku z projektowaniem mechanizmów, jednak zmagam się z programowaniem. Postanowiłem stworzyć animacje ilustrujące niektóre podstawowe koncepcje Arduino. Myślałem, że to pomoże mi i innym zrozumieć je. Obraz jest wart tysiąca słów, a animacja może składać się z tysiąca obrazów!

Oto animowane wyjaśnienie na temat kontroli jasności. Powyższa animacja przedstawia schemat potencjometru podłączonego do Arduino. Pokazuje, jak regulacja położenia potencjometru może zmienić jasność diody led. Wyjaśnię wszystkie elementy tego procesu. Dla każdego, kto nie zna potencjometrów i ledów, zacznę od nich. Następnie wyjaśnię, dlaczego dioda LED musi być podłączona do pinu Arduino z włączoną funkcją PWM i w jaki sposób funkcja MAP jest używana w szkicu Arduino, aby przekonwertować wejście z potencjometru na wyjście, które jest odpowiednie do sterowania diodą LED.

Jeśli znasz diody i potencjometry, możesz pominąć sekcje 1 i 2.

Krok 1: O diodach LED

O diodach LED
O diodach LED

Lewa ilustracja powyżej pokazuje symbol obwodu diody LED i biegunowość nóg diody. Prąd przepływa przez diodę LED tylko w jednym kierunku, dlatego ważna jest polaryzacja. Dłuższa noga to pozytyw. Istnieje również płaska strona kołnierza, jest to strona ujemna.

NAPIĘCIE i PRĄD

Napięcie wymagane przez diodę LED waha się od około 2,2 V do 3,2 V w zależności od jej koloru. Ich prąd znamionowy wynosi zwykle 20mA. Aby ograniczyć prąd i zapobiec przegrzaniu diody LED, konieczne jest zastosowanie rezystora szeregowo z każdą diodą LED. Polecam około 300 omów.

Ilustracja po prawej powyżej pokazuje sposób przylutowania rezystora do nogi diody led i zaizolowania go koszulką termokurczliwą.

Krok 2: POTENCJOMETR

POTENCJOMETR
POTENCJOMETR

W Arduino potencjometr to czujnik. „Czujnik” odnosi się do dowolnego urządzenia zewnętrznego, które po podłączeniu do pinów wejściowych może zostać wykryte przez Arduino. Do sterowania jasnością diody LED użyjemy potencjometru podłączonego do Arduino. Potencjometr bywa nazywany dzielnikiem napięcia, co moim zdaniem jest lepszym określeniem. Schemat po lewej powyżej wskazuje zasadę dzielnika napięcia. W tym przykładzie rezystor jest podłączony do masy na jednym końcu i utrzymywany przez jakieś źródło zasilania do 5V na drugim końcu. Jeśli suwak zostanie przesunięty wzdłuż rezystora, będzie miał napięcie 0V na lewym końcu, 5V na prawym końcu. W każdej innej pozycji będzie miał wartość od 0V do 5V. W połowie drogi będzie na przykład przy 2,5V. Jeśli zmienimy układ, jak pokazano po prawej stronie powyżej, reprezentuje to działanie obracającego się potencjometru.

Krok 3: OBWÓD

OBWÓD
OBWÓD

Powyższa ilustracja pokazuje, jak należy podłączyć potencjometr i diodę led do Arduino.

Ardunio musi wyczuć napięcie podawane do niego przez potencjometr. Napięcie zmienia się płynnie wraz z obracaniem potencjometru, jest więc sygnałem analogowym i dlatego musi być podłączone do analogowego pinu wejściowego w Arduino. Napięcie na tym pinie będzie odczytywane przez Arduino za każdym razem, gdy program zażąda go za pomocą funkcji „analogRead”.

Arduino ma tylko cyfrowe piny wyjściowe. Jednak te piny z tyldą (~) obok nich symulują wyjście analogowe, które jest odpowiednie do sterowania jasnością diody LED. Proces ten nazywa się modulacją szerokości impulsu (PWM) i jest wyjaśniony w następnej animacji, Krok 4.

Krok 4: PWM

PWM, modulacja szerokości impulsu

Jak już wcześniej wspomniano, piny z tyldą, „~” obok nich to piny PWM. Ponieważ piny są cyfrowe, mogą mieć tylko 0 V lub 5 V, jednak z PWM mogą być używane do przyciemniania diody LED lub sterowania prędkością silnika. Robią to, dostarczając 5 V do diody LED, ale pulsując między 0 V a 5 V z częstotliwością 500 Hz (500 razy na sekundę) i rozciągając lub zmniejszając czas trwania każdego elementu 0 V i 5 V impulsu. Ponieważ dioda LED widzi dłuższy impuls 5 V niż impuls 0 V, staje się jaśniejsza. W naszym programie używamy funkcji analogWrite(), aby wyprowadzić „falę kwadratową” PWM. Ma 256 przyrostów, zero daje cykl pracy 0%, a 255 daje 100% „cykl pracy”, tj. ciągłe napięcie 5 woltów. Tak więc 127 daje 50% cyklu pracy, połowę czasu przy 0 V i połowę czasu przy 5 V. Powyższa animacja pokazuje, jak w miarę rozciągania tego cyklu pracy w kierunku 100% dioda LED staje się jaśniejsza.

Krok 5: PROGRAM (SZKIC ARDUINO)

Image
Image

Powyższy film przedstawia program (szkic), za pomocą którego można sterować jasnością diody led za pomocą potencjometru. Obwód jest taki sam, jak pokazano w kroku 3.

Jeśli uważasz, że ten film jest zbyt szybki (lub wolny) do wygodnego czytania możesz dostosowaćjego szybkość Na prawym końcu dolnego paska kontrolnego znajduje sięsymbol w kształcie koła zębatego (czasami z czerwoną etykietą"HD".) Kliknięcie spowoduje wyświetlenie menu, które zawiera "prędkość odtwarzania".

Oczywiście byłoby lepiej, gdybyś mógł kliknąć przycisk, aby przejść przez każdą linię programu we własnym tempie, jednak niestety nie jest możliwe zapewnienie tutaj tej interaktywnej metody. Jeśli wolisz skorzystać z tej metody w tym temacie i wielu innych tematach Arduino, dostępna jest bezpłatna wersja zapoznawcza interaktywnego/animowanego ebooka dostępnego na animowanyarduino.com

Jest jedna funkcja w programie, która moim zdaniem wymaga więcej wyjaśnień: w wierszu 14 używana jest funkcja "mapa". Poniżej znajduje się wyjaśnienie jego celu, w kroku 6

Krok 6: MAPA

Potencjometr mamy podłączony do pinu analogowego. Napięcie potencjometru waha się od 0V do 5V. Ten zakres jest rejestrowany w procesorze w 1024 przyrostach. Gdy wejście wartości jest używane do tworzenia wyjścia przez pin cyfrowy z włączoną funkcją PWM, zakres ten musi być zmapowany do zakresu wyjściowego pinu cyfrowego. To ma 255 przyrostów. Służy do tego funkcja mapy i zapewnia wyjście proporcjonalne do wejścia.

Powyższy film ilustruje to.

Krok 7: Animowane Arduino

Obrazy w tym Instructable zostały zaczerpnięte z mojego e-booka Animated Arduino, który jest dostępny na stronie www.animatedarduino.com, w którym staram się zapewnić lepsze zrozumienie niektórych pojęć napotkanych podczas nauki programowania Arduino.

Na stronie internetowej dostępna jest bezpłatna kopia poglądowa ebooka, która pozwala doświadczyć interaktywnego charakteru książki. Jest to w zasadzie zbiór przykładowych stron, przez co pomija wiele wyjaśnień. Zawiera przykładowe strony, które umożliwiają klikanie przycisków, które przechodzą przez każdy wiersz programu i przeglądanie powiązanych komentarzy. Inne strony zawierają animacje wideo i treści audio, którymi możesz sterować. Dołączona jest strona ze spisem treści, aby można było zobaczyć, co zawiera pełne wydanie.

Zalecana: