Lekcia 98-6: Hojdacia LED hra s Arduinom
Projekt seesaw LED je klasickým cvičením pre začiatočníkov, ktoré učí jeden z najdôležitejších konceptov programovania Arduino: ako striedať dva výstupy v časovom rytme. Pomocou iba dvoch LED, dvoch rezistorov a niekoľkých prepojovacích vodičov zostavíte obvod, v ktorom sa zelená a červená LED striedajú v svietení, napodobňujúc pohyb hore a dole detskej hojdačky. Je to jednoduchá konštrukcia, ale predstavuje základné stavebné prvky — definície pinov, časové konštanty a sekvenčné volania digitalWrite() — ktoré sa objavujú takmer v každom Arduino skici, ktorú kedy napíšete.
Pretože vzor hojdačky je v skutočnosti len "zapni jednu vec, vypni ju, zapni druhú vec, vypni ju, opakuj," rovnaká štruktúra sa škáluje do desiatok praktických použití. Tu je niekoľko nápadov, ktoré podnietia vašu predstavivosť:
- Striedavé indikačné svetlá — pár "bezpečné / upozornenie" na ovládacom paneli, ktorý sa strieda tam a späť.
- Simulácia železničného priecestia — dve lampy blikajúce striedavo, keď sa blíži vlak.
- Dvojsmerná značka — zobrazenie šípky "choď tam / choď onam" pre príjazdovú cestu alebo parkovisko.
- Sviatočná dekorácia — červené a zelené LED si vymieňajú miesta pre sviatočný blikajúci efekt.
- Základ pre učenie — zručnosti v časovaní a sekvenovaní sú tu rovnaké, aké neskôr použijete pre semafory, chodiace svetlá a multi-LED animácie.
Ako funguje efekt hojdačky
LED je dióda, ktorá emituje svetlo, a jej symbol je trojuholník smerujúci na čiaru. Plochá čiara je katóda (negatívna) a zadná časť trojuholníka je anóda (pozitívna). Na fyzickej LED je dlhšia nožička anóda a kratšia, plochá nožička je katóda. Prúd tečie od anódy ku katóde, takže anóda sa pripája k pinu Arduina a katóda sa pripája cez rezistor k zemi (vo videu v 02:29).
Rezistor je dôležitý. Typická malá LED chce približne 2 V na sebe a asi 10 mA prúdu. Ak vaše Arduino dodáva 5 V, zvyšné 3 V musí zniesť rezistor. Pomocou Ohmovho zákona, R = V / I = 3 V / 0,01 A = 300 Ω. Čokoľvek od asi 300 Ω do 1000 Ω bude fungovať — vyššie hodnoty jednoducho robia LED tmavšou (vo videu v 03:49).
Pre hojdačku sú obe LED zapojené identicky: každá anóda ide na svoj vlastný pin Arduina a každá katóda ide cez svoj vlastný rezistor na spoločnú zemniacu lištu. Jediný rozdiel medzi nimi je, ku ktorému pinu sú pripojené.
Hardvér a komponenty
- 1 × Arduino doska (Uno, Nano, Mega alebo podobná)
- 2 × LED — jedna červená, jedna zelená (fungujú akékoľvek dve farby)
- 2 × rezistory, 300 Ω až 1000 Ω (220 Ω alebo 330 Ω sú bežné voľby)
- 1 × nepájivé pole
- Prepojovacie vodiče (DuPont vodiče)
- USB kábel pre programovanie a napájanie
To je všetko — žiadne tlačidlá, žiadne potenciometre, žiadne senzory. Toto je zámerne najskromnejší možný zoznam súčiastok, aby ste sa mohli plne sústrediť na logiku kódu.
Sprievodca zapojením
Zapojenie je symetrické a ľahko sledovateľné. Vložte obe LED do nepájivého poľa. Pripojte anódu (dlhšiu nožičku) zelenej LED k Arduinu pin 2 a anódu červenej LED k Arduinu pin 3. Každá katóda (kratšia nožička) sa pripája k jednému koncu svojho vlastného rezistora a druhý koniec oboch rezistorov sa spája so spoločnou lištou, ktorá vedie k GND pinu Arduina (vo videu v 27:45).
Pretože obe LED zdieľajú rovnakú zemniacu lištu, je potrebný iba jeden zemniaci vodič z nepájivého poľa späť k Arduinu. Dva signálne vodiče — jeden k pinu 2, jeden k pinu 3 — sú jediné spojenia, ktoré sa medzi oboma LED menia.
Vysvetlenie kódu
Skica je zámerne krátka, aby každý riadok mal význam. Tu sú časti, ktoré budete skutočne chcieť upraviť:
Definície pinov
const int greenLEDPin = 2;//define a pin for green LED
const int redLEDPin = 3;//define a pin for red LED
Tieto dve konštanty hovoria Arduinu, ku ktorým pinom sú LED pripojené. Ak ste svoje LED zapojili k iným pinom — napríklad pin 8 a pin 9 — toto je jediné miesto, ktoré potrebujete zmeniť. Kľúčové slovo const znamená, že hodnota je pevná počas životnosti programu a nemôže byť neskôr náhodne prepísaná.
Časová konštanta
const int ON_TIME = 500;Táto jediná hodnota určuje, ako dlho zostane každá LED rozsvietená, v milisekundách. Predvolená hodnota 500 znamená, že každá LED svieti pol sekundy, takže celý cyklus zelená-potom-červená trvá jednu sekundu. Znížte ju na 200 pre rýchle blikanie alebo zvýšte na 1000 pre pomalý, zámerný rytmus jednej sekundy na LED (vo videu v 30:17). Keďže obe LED zdieľajú túto konštantu, vždy zostávajú synchronizované — hojdačka zostáva vyvážená.
Nastavenie
Vnútri setup() sú dva piny deklarované ako výstupy pomocou pinMode() a sériový monitor sa spustí na 9600 baudov, takže môžete sledovať, ako sa posúvajú správy o stave LED. Toto sa spustí raz, keď sa doska zapne.
Slučka
Funkcia loop() je miesto, kde sa hojdačka odohráva. Vykonáva štyri akcie v poradí: rozsvieti zelenú LED, počká ON_TIME milisekúnd, zhasne ju, potom to isté urobí s červenou LED. Keď slučka dosiahne koniec, automaticky sa spustí od začiatku — to je celé správanie „hojdačky". Neexistuje žiadna stavová premenná ani žiadna podmienka na kontrolu, pretože vzor je čisto sekvenčný.
Živý projekt a demonštrácia
Po nahratí kódu uvidíte, že zelená LED svieti pol sekundy, potom červená LED, potom opäť zelená, donekonečna. Otvorenie sériového monitora (Nástroje → Sériový monitor alebo Ctrl+Shift+M) zobrazuje „Green LED ON" a „Red LED ON" vytlačené počas behu vzoru, čo je praktický spôsob, ako potvrdiť, že časovanie zodpovedá tomu, čo ste nastavili.
Skúste zmeniť ON_TIME na 200 a znova nahrať — LED budú viditeľne rýchlejšie striedať. Nastavte ju na 1000 a hojdačka sa stane pomalým, zámerným striedaním. Môžete tiež odpojiť Arduino od USB a napájať ho z batérie alebo 5 V adaptéra; náčrt beží identicky, pretože je už uložený v pamäti dosky.
Súvisiace projekty z tohto videa
- Lekcia 98-1: Ako zapnúť a vypnúť LED pomocou Arduina
- Lekcia 98-2: Ako zapnúť a vypnúť LED pomocou tlačidla s Arduinom
- Lekcia 98-3: Ako zapnúť/vypnúť prepínaciu LED pomocou tlačidla s Arduinom
- Lekcia 98-4: Postupné stmavovanie LED svetla pomocou Arduina: Ovládanie jasu
- Lekcia 98-5: Stmavovanie svetla pri stlačení tlačidla pomocou Arduina
- Lekcia 98-7: Bežiace svetlo pomocou Arduina a 5 LED
- Lekcia 98-8: Bežiace svetlo s tlačidlom a LED s Arduinom
- Lekcia 98-9: Merač úrovne napätia LED pomocou Arduina alebo bežiace svetlo s potenciometrom
- Lekcia 98-10: Arduino semafor
Kapitoly
- [00:00] Prehľad 10 Arduino LED projektov
- [01:22] Úvod do kurzu Arduino krok za krokom
- [02:29] Pochopenie LED: symbol, anóda a katóda
- [03:49] Výpočet sériového odporu LED pomocou Ohmovho zákona
- [27:32] Predstavenie projektu hojdačky LED
- [27:45] Schéma zapojenia projektu hojdačky
- [28:28] Vysvetlenie kódu hojdačky
- [30:06] Demonštrácia hojdačky s rôznym časovaním
- [30:47] Prehľad projektu bežiaceho svetla
- [36:41] Bežiace svetlo ovládané tlačidlom
- [42:25] LED pruhový merač napätia s potenciometrom
- [49:25] Projekt Arduino semafor
This code has not been parsed yet. Please return to the admin panel to parse it.
Veci, ktoré by ste mohli potrebovať
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
Zdroje a referencie
-
DokumentáciaDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
Externé
-
Externé
-
Externé
Súbory📁
Knižnice Arduino (zip)
-
SunFounder's 3-in-1 Smart Car learning kit source code
3in1-kit-main-v2.zip12.80 MB
Používateľská príručka
-
Montážny manuál SunFounder 3-v-1 Arduino Smart CarTento dokument ukazuje krok za krokom montáž SunFounder 3-v-1 Arduino Smart Car
SunFounder_car_assembly_manual.pdf1.20 MB