Лекција 98-7: Светло што пешачи со помош на Arduino и 5 LED диоди
Светло што оди (исто така наречено „бркачко“ или „Knight Rider“ светло) е еден од класичните почетнички Arduino проекти — и тоа со добра причина. Те учи како да контролираш повеќе излези последователно, како да темпираш настани и како да размислуваш за отпорниците што ја ограничуваат струјата, а сето тоа додека создаваш нешто визуелно задоволувачко. Во овој проект ќе поврзеш пет LED диоди на Arduino и ќе ги програмираш така што секоја ќе светне по ред, создавајќи илузија на едно светло што „оди“ по редот.
Откако ќе ја разбереш шемата, можеш да ја пренамениш во изненадувачки голем број реални изработки:
- Декоративно осветлување: бркачка граница за полица, рамка за слика или модел.
- Показатели за насока: ефект на последователен трепкач за возило-реквизит или електричен велосипед.
- Приказ на напредок или статус: ред LED диоди што напредува како што завршува некој процес.
- Реквизити за игри и семафори: „подвижна цел“ или показател за ниво.
- Наставно помагало: најјасната можна демонстрација на дигитални излези и темпирање.
Истата врска со пет LED диоди се користи повторно во неколку други проекти во овој курс, така што хардверот што го градиш овде станува платформа што може повторно да се користи.
Како функционира светлото што оди
Принципот е сосема ист како вклучување на едно LED светло — едноставно се повторува пет пати (во видеото на 30:47). Секоја LED диода е поврзана на свој Arduino пин преку свој отпорник што ја ограничува струјата, а сите отпорници делат заедничка земјена шина. Потоа скицата го поставува едниот пин на HIGH, чека, го поставува на LOW, чека и преминува на следниот пин. Бидејќи во секој момент свети само една LED диода, окото ја чита секвенцата како движење.
Двете вредности за темпирање се она што му дава карактер на ефектот. Времето на вклученост контролира колку долго останува вклучена секоја LED диода, а времето на исклученост контролира паузата пред да светне следната LED диода. Кратко време на вклученост со долго време на исклученост создава единечна точка што патува брзо; долго време на вклученост со кратко време на исклученост создава помазно, понепрекинато поминување (во видеото на 35:00).
Хардвер и компоненти
- 1 × Arduino плочка (Uno, Nano или слична)
- 5 × LED диоди (било која боја; мешањето бои го прави ефектот полесен за читање)
- 5 × отпорници — 300 Ω до 1 kΩ функционираат добро
- 1 × breadboard
- Поврзувачки жици
- USB кабел или батериска кутија за напојување
Ако подоцна сакаш да додадеш варијанта со копче, ќе ти требаат и едно моментално копче и две дополнителни поврзувачки жици.
Избор на вредноста на отпорникот
LED диодата има напон на пропуштање од приближно 2 V и бара околу 10 mA за целосна осветленост (во видеото на 03:49). Со напојување од 5 V, отпорникот мора да ги намали преостанатите 3 V. Применувајќи го Омовиот закон, R = V / I = 3 V / 0.01 A = 300 Ω. Во пракса, било што од 300 Ω до околу 1 kΩ ќе функционира — колку е поголем отпорот, толку е потемна LED диодата, но колото е побезбедно и поефикасно (во видеото на 05:33).
Водич за поврзување
Вметни ги петте LED диоди во breadboard-от со нивните аноди (подолгата нога) свртени во иста насока. Поврзи ја секоја катода (пократката нога со рамна страна) со свој отпорник и спој го далечниот крај на сите пет отпорници со заедничка земјена шина. Потоа поврзи поврзувачка жица од секоја анода до Arduino пин.
Во оваа изработка LED диодите се доделени на пиновите 3, 4, 5, 6 и 7 (во видеото на 31:29). Броевите на пиновите се дефинирани на врвот на скицата, така што ако претпочиташ поинаков распоред, треба да ги промениш само тие пет линии.
Објаснување на кодот
Скицата е намерно едноставна за да може почетник да ја следи секоја линија. Само блокот на самиот врв треба да се уреди за твоето сопствено поставување.
const int LED1 = 3;
const int LED2 = 4;
const int LED3 = 5;
const int LED4 = 6;
const int LED5 = 7;
int offTime = 30; // the time each LED waits in the OFF state
int onTime = 100; // the time each LED is ON
Дефиниции на пиновите. Петте линии const int ја мапираат секоја LED диода на физички Arduino пин. Бидејќи се декларирани како const, вредностите не можат да се менуваат подоцна во програмата — ова е безбедносна навика што спречува случајно прераспоредување. Ако ги поврзеш LED диодите на различни пинови, промени ги броевите овде и ништо друго.
onTime и offTime. Овие два цели броја се единствените променливи за „однесување“ во проектот и токму со нив ќе сакаш да експериментираш:
onTime— колку долго (во милисекунди) секоја LED останува вклучена. Поголемите вредности го прават секој чекор да изгледа побавно и понамерно.offTime— паузата откако една LED ќе се исклучи пред да се вклучи следната. Помалите вредности го прават светлото да патува побрзо.
Пробајте onTime = 200 и offTime = 200 за рамномерно движење со средна брзина, или onTime = 30 и offTime = 30 за многу брз, речиси заматен ефект (во видеото на 36:06).
Функцијата setup() се извршува еднаш и едноставно ги поставува сите пет пина во режим OUTPUT. Потоа функцијата loop() го повторува истиот шаблон од четири чекори за секоја LED: го поставува пинот на HIGH, чека onTime, го поставува на LOW, чека offTime. Кога петтата LED ќе заврши, циклусот започнува повторно од првата, создавајќи бесконечно движење.
Жив проект и демонстрација
Со стандардните вредности LED-ите чекорат по редот со опуштено темпо. Качувањето на скицата со onTime и offTime поставени на 200 ms дава стабилно, рамномерно движење; намалувањето на двете на 30 ms го прави светлото да лета по редот речиси пребрзо за да се следи (во видеото на 36:21).
Два корисни експерименти што треба да се пробаат штом проработи:
- Направете времето на вклучување покусо од времето на исклучување за да создадете јасна точка што патува.
- Направете времето на вклучување подолго од времето на исклучување за да создадете меко, преклопувачко сјаење.
Истата поврзување со пет LED-и се користи повторно во следниот проект, каде што копче го поместува светлото еден чекор по еден. Таа изработка е опфатена во Лекција 98-8: Светло што оди со копче и LED-и со Arduino.
Ако повеќе сакате да го управувате редот од аналоген влез наместо од копче, видете Лекција 98-9: Мерач на ниво на напон со LED-и со Arduino или светло што оди со потенциометар.
Одење понатаму
Откако основното движење ќе проработи, природен следен чекор е да се направи светлото да се враќа напред-назад наместо да скока од последната LED на првата. Тоа е чиста вежба со код — без дополнителен хардвер — и е добар начин да се вежбаат циклуси и низи. Можете исто така да го комбинирате овој проект со верзијата со копче за да изградите рачно напредувано прикажување.
Поврзани проекти од ова видео
- Лекција 98-1: Како да вклучите и исклучите LED со Arduino
- Лекција 98-2: Како да вклучите и исклучите LED со копче со Arduino
- Лекција 98-3: Како да вклучите/исклучите LED со прекинувач со копче со Arduino
- Лекција 98-4: Затемнување на LED светло со Arduino: Контрола на осветленост
- Лекција 98-5: Затемнување на светло кога е притиснато копче со Arduino
- Лекција 98-6: Игра со LED-и клацкалка со Arduino
- Лекција 98-8: Светло што оди со копче и LED-и со Arduino
- Лекција 98-9: Мерач на ниво на напон со LED-и со Arduino или светло што оди со потенциометар
- Лекција 98-10: Arduino семафор
Поглавја
- [00:00] Преглед на десетте LED проекти
- [01:22] Вовед во Arduino курс чекор по чекор
- [02:29] Што е LED и како да се идентификуваат неговите пинови
- [03:49] Пресметување на отпорникот што ја ограничува струјата
- [30:47] Претставување на проектот светло што оди
- [31:06] Шема на поврзување за пет LED-и
- [32:52] Преглед на кодот за светло што оди
- [34:39] Демонстрација и менување на временските вредности
- [36:41] Напредување на светлото со копче (одделна лекција)
- [42:25] LED лента за напон со потенциометар (одделна лекција)
- [49:25] Arduino семафор (одделна лекција)
This code has not been parsed yet. Please return to the admin panel to parse it.
Работи што можеби ќе ви требаат
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
Ресурси и референци
-
ДокументацијаDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
Надворешно
-
Надворешно
-
Надворешно
Датотеки📁
Arduino библиотеки (zip)
-
SunFounder's 3-in-1 Smart Car learning kit изворен код
3in1-kit-main-v2.zip12.80 MB
Упатство за корисникот
-
Прирачник за склопување на SunFounder 3-во-1 Arduino паметен автомобилОвој документ покажува чекор по чекор склопување на SunFounder 3-во-1 Arduino паметен автомобил
SunFounder_car_assembly_manual.pdf1.20 MB