Lekcja 98-6: Gra w „See saw LED” z Arduino
Projekt migających diod LED to klasyczne ćwiczenie dla początkujących, które uczy jednej z najważniejszych koncepcji w programowaniu Arduino: sprawiania, by dwa wyjścia przełączały się naprzemiennie w rytmie czasowym. Używając zaledwie dwóch diod LED, dwóch rezystorów i kilku przewodów połączeniowych, zbudujesz układ, w którym zielona i czerwona dioda LED zapalają się na zmianę, naśladując ruch huśtawki w górę i w dół. To prosty projekt, ale wprowadza podstawowe elementy składowe — definicje pinów, stałe czasowe i sekwencyjne wywołania digitalWrite() — które pojawiają się w niemal każdym szkicu Arduino, jaki kiedykolwiek napiszesz.
Ponieważ wzór huśtawki to tak naprawdę tylko „włącz jedną rzecz, wyłącz ją, włącz drugą rzecz, wyłącz ją, powtórz", ta sama struktura skaluje się do dziesiątek praktycznych zastosowań. Oto kilka pomysłów, które rozbudzą wyobraźnię:
- Naprzemienne lampki wskaźnikowe — para „bezpiecznie / alarm" na panelu sterowania, która przełącza się tam i z powrotem.
- Symulacja przejazdu kolejowego — dwie lampy migające naprzemiennie, gdy zbliża się pociąg.
- Znak kierunkowy dla dwóch pasów — wyświetlacz strzałkowy „jedź tędy / jedź tamtędy" dla podjazdu lub parkingu.
- Dekoracja świąteczna — czerwone i zielone diody LED zamieniające się miejscami dla świątecznego efektu migania.
- Fundament nauki — umiejętności dotyczące czasu i sekwencji są tymi samymi, których później użyjesz do sygnalizacji świetlnej, świateł kroczących i animacji z wieloma diodami LED.
Jak działa efekt huśtawki
Dioda LED to dioda emitująca światło, a jej symbol to trójkąt skierowany w stronę linii. Płaska linia to katoda (ujemna), a tył trójkąta to anoda (dodatnia). W fizycznej diodzie LED dłuższa nóżka to anoda, a krótsza, z płaskim bokiem, to katoda. Prąd płynie od anody do katody, więc anoda łączy się z pinem Arduino, a katoda przez rezystor do masy (w filmie o 02:29).
Rezystor ma znaczenie. Typowa mała dioda LED potrzebuje około 2 V na sobie i około 10 mA prądu. Jeśli Arduino dostarcza 5 V, pozostałe 3 V musi zostać odłożone na rezystorze. Korzystając z prawa Ohma, R = V / I = 3 V / 0,01 A = 300 Ω. Wszystko od około 300 Ω do 1000 Ω będzie działać — wyższe wartości po prostu powodują, że dioda LED świeci słabiej (w filmie o 03:49).
W przypadku huśtawki obie diody LED są podłączone identycznie: każda anoda trafia do własnego pinu Arduino, a każda katoda przez własny rezystor do wspólnej szyny masy. Jedyną różnicą między nimi jest to, do którego pinu są podłączone.
Sprzęt i komponenty
- 1 × płytka Arduino (Uno, Nano, Mega lub podobna)
- 2 × diody LED — jedna czerwona, jedna zielona (dowolne dwa kolory są odpowiednie)
- 2 × rezystory, od 300 Ω do 1000 Ω (220 Ω lub 330 Ω to popularne wybory)
- 1 × płytka stykowa
- Przewody połączeniowe (przewody DuPont)
- Kabel USB do programowania i zasilania
To wszystko — żadnych przycisków, żadnych potencjometrów, żadnych czujników. To celowo najskromniejsza możliwa lista części, abyś mógł skupić się całkowicie na logice kodu.
Przewodnik po połączeniach
Okablowanie jest symetryczne i łatwe do prześledzenia. Włóż obie diody LED do płytki stykowej. Podłącz anodę (dłuższą nóżkę) zielonej diody LED do Arduino pin 2, a anodę czerwonej diody LED do Arduino pin 3. Każda katoda (krótsza nóżka) łączy się z jednym końcem własnego rezystora, a drugi koniec obu rezystorów łączy się ze wspólną szyną prowadzącą do pinu GND Arduino (w filmie o 27:45).
Ponieważ obie diody LED współdzielą tę samą szynę masy, potrzebny jest tylko jeden przewód masy z płytki stykowej z powrotem do Arduino. Dwa przewody sygnałowe — jeden do pinu 2, jeden do pinu 3 — to jedyne połączenia, które zmieniają się między dwiema diodami LED.
Wyjaśnienie kodu
Szkic jest celowo krótki, aby każda linia była znacząca. Oto części, które faktycznie będziesz chciał dostosować:
Definicje pinów
const int greenLEDPin = 2;//define a pin for green LED
const int redLEDPin = 3;//define a pin for red LED
Te dwie stałe mówią Arduino, do których pinów podłączone są diody LED. Jeśli podłączyłeś diody LED do innych pinów — powiedzmy pin 8 i pin 9 — to jedyne miejsce, które musisz zmienić. Słowo kluczowe const oznacza, że wartość jest stała przez cały czas życia programu i nie może zostać przypadkowo nadpisana później.
Stała czasowa
const int ON_TIME = 500;Ta pojedyncza wartość kontroluje, jak długo każda dioda LED pozostaje zapalona, w milisekundach. Domyślna wartość 500 oznacza, że każda dioda LED świeci przez pół sekundy, więc pełny cykl zielony-czerwony trwa jedną sekundę. Zmniejsz ją do 200, aby uzyskać szybkie miganie, lub zwiększ do 1000, aby uzyskać wolny, miarowy rytm jednej sekundy na diodę LED (w filmie o 30:17). Ponieważ obie diody LED współdzielą tę stałą, zawsze pozostają zsynchronizowane — huśtawka pozostaje w równowadze.
Konfiguracja
Wewnątrz setup() dwa piny są zadeklarowane jako wyjścia za pomocą pinMode(), a monitor szeregowy jest uruchamiany z prędkością 9600 bodów, dzięki czemu możesz obserwować przewijające się komunikaty o stanie diod LED. Działa to raz, gdy płytka zostanie włączona.
Pętla
Funkcja loop() to miejsce, w którym odbywa się huśtawka. Wykonuje cztery działania po kolei: włącza zieloną diodę LED, czeka ON_TIME milisekund, wyłącza ją, a następnie robi to samo dla czerwonej diody LED. Gdy pętla dojdzie do końca, automatycznie zaczyna od nowa — to całe zachowanie „huśtawki”. Nie ma zmiennej stanu ani warunku do sprawdzenia, ponieważ wzorzec jest czysto sekwencyjny.
Projekt na żywo i demonstracja
Po wgraniu kodu zobaczysz, że zielona dioda LED świeci przez pół sekundy, potem czerwona dioda LED, potem znowu zielona, i tak w nieskończoność. Otwarcie monitora szeregowego (Narzędzia → Monitor szeregowy lub Ctrl+Shift+M) pokazuje komunikaty „Green LED ON” i „Red LED ON” wypisywane podczas działania wzorca, co jest wygodnym sposobem potwierdzenia, że synchronizacja odpowiada ustawionej wartości.
Spróbuj zmienić ON_TIME na 200 i wgrać ponownie — diody LED będą przełączać się zauważalnie szybciej. Ustaw ją na 1000, a huśtawka stanie się powolnym, miarowym naprzemiennym świeceniem. Możesz także odłączyć Arduino od USB i zasilić je z baterii lub adaptera 5 V; szkic działa identycznie, ponieważ jest już zapisany w pamięci płytki.
Powiązane projekty z tego filmu
- Lekcja 98-1: Jak włączać i wyłączać diodę LED za pomocą Arduino
- Lekcja 98-2: Jak włączać i wyłączać diodę LED za pomocą przycisku z Arduino
- Lekcja 98-3: Jak włączać/wyłączać diodę LED przełączaną przyciskiem za pomocą Arduino
- Lekcja 98-4: Ściemnianie światła LED za pomocą Arduino: kontrola jasności
- Lekcja 98-5: Ściemnianie światła po naciśnięciu przycisku za pomocą Arduino
- Lekcja 98-7: Światło wędrujące za pomocą Arduino i 5 diod LED
- Lekcja 98-8: Światło wędrujące z przyciskiem i diodami LED z Arduino
- Lekcja 98-9: Miernik poziomu napięcia LED za pomocą Arduino lub światło wędrujące z potencjometrem
- Lekcja 98-10: Sygnalizacja świetlna na Arduino
Rozdziały
- [00:00] Przegląd 10 projektów LED na Arduino
- [01:22] Wprowadzenie do kursu krok po kroku po Arduino
- [02:29] Zrozumienie diod LED: symbol, anoda i katoda
- [03:49] Obliczanie rezystora szeregowego diody LED za pomocą prawa Ohma
- [27:32] Wprowadzenie do projektu huśtawki LED
- [27:45] Schemat połączeń dla projektu huśtawki
- [28:28] Omówienie kodu huśtawki
- [30:06] Demonstracja huśtawki z różnymi czasami
- [30:47] Przegląd projektu światła wędrującego
- [36:41] Światło wędrujące sterowane przyciskiem
- [42:25] Paskowy miernik napięcia LED z potencjometrem
- [49:25] Projekt sygnalizacji świetlnej na Arduino
This code has not been parsed yet. Please return to the admin panel to parse it.
Rzeczy, których możesz potrzebować
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
Zasoby i odniesienia
-
DokumentacjaDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
Zewnętrzny
-
Zewnętrzny
-
Zewnętrzny
Pliki📁
Biblioteki Arduino (zip)
-
Kod źródłowy zestawu edukacyjnego inteligentnego samochodu SunFounder 3-w-1
3in1-kit-main-v2.zip12.80 MB
Instrukcja obsługi
-
Instrukcja montażu SunFounder 3-in-1 Arduino Smart CarTen dokument pokazuje krok po kroku montaż SunFounder 3-in-1 Arduino Smart Car
SunFounder_car_assembly_manual.pdf1.20 MB