|||Сабақ 98-2: Arduino көмегімен батырма арқылы жарықдиодты қалай қосу және өшіруге болады|||
Бұл жоба Arduino көмегімен батырма арқылы жарықдиодты басқару жолын көрсетеді. Жарықдиодтың өздігінен жыпылықтауына жол берудің орнына, оның қашан жанатынын өзіңіз шешесіз: батырманы басып ұстасаңыз — жарықдиод жанады, қоя берсеңіз — өшеді. Бұл қарапайым жыпылықтау скетчінен кейінгі табиғи келесі қадам, себебі ол кез келген Arduino жобасында дерлік кездесетін екі идеяны ұсынады — цифрлық кірісті оқу және сол кірісті кодта шешім қабылдау үшін пайдалану.
Мұндағы нағыз құндылық — микроконтроллердің физикалық әлемді қалай сезетінін үйрену. Батырма — ең қарапайым адам кірісі құрылғысы, бірақ дәл осы үлгі — кірісті оқу, шартты тексеру, шығысты басқару — 3D принтердегі шектік қосқышты оқу, қауіпсіздік жүйесінде есіктің ашылуын анықтау немесе басқару панелінен қозғалтқышты іске қосу үшін де қолданылады. Осы бір схеманы түсінгеннен кейін, жарықдиодты кез келген нәрсеге ауыстыра аласыз.
Міне, осы техникамен жасауға болатын практикалық нәрселер:
- Басылған кезде шам жағатын қоңырау немесе шақыру батырмасы.
- Батырма ұсталған кезде ғана релені (және ол қоректендіретін нәрсені) қуаттандырып ұстайтын «өлі адам қосқышы».
- Машинаға арналған қолмен тексеру батырмасы, мұнда индикатор жарықдиоды кірістің тіркеліп жатқанын растайды.
- Қозғалтқыш драйвері немесе сорғы үшін іске қосу батырмасы, жарықдиод күй шамы ретінде әрекет етеді.
- Қарапайым ойын дыбыс сигналы, мұнда бірінші басқан ойыншы жеңеді және жарықдиод жеңімпазды хабарлайды.
- Сенсор жобасындағы калибрлеу немесе «үйрену» батырмасы, режим белсенді кезде жанып тұрады.
Аппараттық қамтамасыз ету және құрамдас бөліктер
Бөлшектер тізімі әдейі шағын, сондықтан бұл тамаша бірінші кіріс жобасы болып табылады:
- Arduino платасы — Uno, Nano, Mega немесе кез келген үйлесімді плата.
- Бір жарықдиод, 5 мм немесе 3 мм, кез келген түсте.
- Жарықдиодқа арналған бір резистор, 200 Ω-нан 1000 Ω-ға дейін.
- Бір моменттік батырма қосқышы.
- Бредборд және бірнеше DuPont қосқыш сымдары.
Егер резистордың не үшін қажет екенін ойласаңыз, транскрипт математиканы түсіндіреді (бейнеде 03:49). Әдеттегі жарықдиод өзінен шамамен 2 V түсіреді және шамамен 10 mA ток қажет етеді. 5 V қорек көзімен қалған 3 V-ты резистор түсіруі керек, сондықтан Ом заңы R = 3 V / 0.01 A = 300 Ω береді. 300 Ω-нан шамамен 1000 Ω-ға дейінгі кез келген мән жарайды — мән неғұрлым жоғары болса, жарықдиод соғұрлым күңгірт, бірақ қауіпсіз және тиімдірек. Ток маңызды емес; сіз жай ғана жарықтылықты төмен ток тұтынуға айырбастайсыз.
Сымдарды жалғау нұсқаулығы
Схема — жыпылықтау скетчінде қолданатын жарықдиод схемасының дәл өзі, тек батырма қосылған. Жарықдиодтың аноды (ұзынырақ аяғы) резистор арқылы Arduino-ның 3-ші пинына қосылады, ал катоды (қысқарақ аяғы, пластик жиектің тегіс жағымен белгіленген) жерге қосылады. Батырма 2-ші пин мен жер арасына қосылады.
Білуге тұрарлық бір деталь: батырманың төрт аяғы бар, бірақ олар іштей жұптасқан. Екі аяқ бір-бірімен тұрақты қосылған, ал қалған екеуі де бір-бірімен тұрақты қосылған — батырманы басу екі жұпты біріктіреді. Егер мультиметріңіз болса, батырма басылмаған кезде қай аяқтардың қосылып тұрғанын табу үшін оның үздіксіздік (дыбыс) режимін пайдаланыңыз; сол екеуі — пайдаланбауға тиіс жұп. Екі тәуелсіз жұптың әрқайсысынан бір аяқтан таңдаңыз (бейнеде 07:50).
Код қалай жұмыс істейді
Скетч қысқа, және оның барлығы дерлік реттеуге болатын конфигурация. Жоғарғы үш жол — шын мәнінде қол тигізетін жолдар:
const int pushButtonPin = 2;//define a pin number for push button
const int LEDPin = 3;//define a pin that is connected to LED
const int delayLED = 0;//how long the LED should stay ON
pushButtonPin — батырма жалғанған цифрлық пин. Егер батырманы басқа пинге ауыстырсаңыз, мұны өзгертіңіз — тек физикалық сымды сәйкестендіріп жылжытуды ұмытпаңыз.
LEDPin — жарықдиодты басқаратын пин. Кез келген цифрлық пин жарайды, бірақ 0 және 1 пиндері сериялық қосылыммен пайдаланылатынын есте сақтаңыз, сондықтан олардан аулақ болған дұрыс.
delayLED — ең қызықты параметр. Ол түймені жібергеннен кейін LED қанша уақыт қосулы қалатынын миллисекундпен басқарады. Оны 0 етіп орнатсаңыз, саусағыңызды көтерген сәтте LED өшеді. 1000 етіп орнатсаңыз, жібергеннен кейін LED бір секунд бойы жанып тұрады, ал 5000 оны бес секунд ұстайды (бейнеде 16:31). Бұл бір сан жобаның қалай сезілетінін толығымен өзгертеді және кодтағы айнымалының қалай тікелей бақылай алатын әрекетке айналатынын көрудің жақсы жолы.
Орнатудағы тағы екі нәрсені атап өткен жөн. Біріншіден, түйме істігі қарапайым INPUT емес, INPUT_PULLUP арқылы конфигурацияланған:
pinMode(pushButtonPin, INPUT_PULLUP);//define a pin for push button switch
Бұл Arduino-ның ішкі тарту резисторын қосады, ол түйме басылмаған кезде істікті тұрақты HIGH деңгейінде ұстайды. Онсыз қалқымалы кіріс істігі кездейсоқ электрлік шуды қабылдап, кездейсоқ көрсеткіштер берер еді, және оны түзету үшін сыртқы резистор қажет болар еді. Ішкі тарту қосылған кезде сымдар қарапайым болып қалады: түйменің бір жағы істікке, екінші жағы жерге. Түймені басқан кезде істік жерге тартылып, LOW оқылады (бейнеде 14:08).
Екіншіден, сериялық монитор 9600 бодпен іске қосылады, сондықтан күй өзгерістерін болып жатқанда бақылай аласыз:
Serial.begin(9600);//initialize the serial monitor
Serial.println("Robojax LED with push button");//print this text on Serial Monitor
Негізгі циклде логика қарапайым if/else. Код түйме істігін оқып, оны LOW-мен салыстырады. Егер түйме басылса, LED істігі HIGH болады, "LED ON" хабарламасы басылып шығады және скетч delayLED миллисекунд күтеді. Егер түйме басылмаса, LED істігі LOW болады және LED өшеді. loop() қайта-қайта орындалатындықтан, бұл тексеру секундына мыңдаған рет орындалады, сондықтан жауап лезде сезіледі.
Тікелей көрсетілім
delayLED 1000 етіп орнатылғанда, түймені басу LED-ті жағады және оны жібергеннен кейін бір секунд бойы қосулы ұстайды. Мәнді 5000-ға түсірсеңіз, LED бес секунд бойы қалады — түймеден кетіп қалсаңыз да оның қосулы екенін көре алатындай ұзақ. Оны 0 етіп орнатсаңыз, LED саусағыңызды дәл қайталайды: бассаңыз — қосулы; жіберсеңіз — өшірулі (бейнеде 17:02).
Код жүктелгеннен кейін Arduino-ны USB-ден ажыратып, оны батареядан немесе 5 V адаптерден қуаттандыра аласыз. Плата жұмыс істеу үшін компьютер қажет емес — бағдарлама оның жадында сақталады және әр қосылған сайын автоматты түрде іске қосылады (бейнеде 12:27).
Егер сіз LED-тің бір басқаннан кейін қосулы қалып, келесі басқанда өшкенін қаласаңыз, бұл ауыстырып-қосу деп аталатын басқа мінез-құлық және ол 98-3 сабағы: Arduino көмегімен түймені пайдаланып ауыспалы LED-ті қалай қосу/өшіруге болады оқулығында қарастырылған. Түйменің сымдары бірдей, сондықтан дәл осы схеманы қайта пайдалана аласыз.
Осы бейнедегі ілеспе жобалар
- 98-1 сабағы: Arduino көмегімен LED-ті қалай қосу және өшіруге болады
- 98-3 сабағы: Arduino көмегімен түймені пайдаланып ауыспалы LED-ті қалай қосу/өшіруге болады
- 98-4 сабағы: Arduino көмегімен LED жарығын бәсеңдету: жарықтықты басқару
- 98-5 сабағы: Arduino көмегімен түйме басылғанда жарықты бәсеңдету
- 98-6 сабағы: Arduino көмегімен теңселме LED ойыны
- 98-7 сабағы: Arduino және 5 LED көмегімен жүретін жарық
- 98-8 сабағы: Arduino көмегімен түйме және LED-термен жүретін жарық
- 98-9 сабағы: Arduino көмегімен LED кернеу деңгейінің өлшегіші немесе потенциометрмен жүретін жарық
- 98-10 сабағы: Arduino бағдаршамы
Тараулар
- [00:00] Осы бейнедегі 10 жобаға шолу
- [01:00] Arduino қадамдық курсына кіріспе
- [02:29] LED дегеніміз не: таңба, анод, катод және физикалық пішін
- [03:49] Ом заңымен LED резисторын есептеу
- [07:32] LED пен түймені breadboard-та сымдау
- [08:50] Кодты түсіндіру: істіктер, орнату және негізгі цикл
- [12:43] Түйме қосқышы қалай жұмыс істейді
- [13:22] Түймені 2-істікке және жерге сымдау
- [13:43] Кодты шолу: INPUT_PULLUP және түймені оқу
- [16:14] Көрсетілім: delayLED-ті 1 с-тан 5 с-қа және 0-ге өзгерту
- [19:52] Түйме ауыстырып-қосқышының практикалық қолданылуы
Суреттер
This code has not been parsed yet. Please return to the admin panel to parse it.
Сізге қажет болуы мүмкін нәрселер
-
АмазонкаSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Амазонка
-
Амазонка
-
Амазонка
Ресурстар мен сілтемелер
-
ҚұжаттамаDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
Сыртқы
-
Сыртқы
-
Сыртқы
Файлдар📁
Arduino кітапханалары (zip)
-
SunFounder 3-і-1 Smart Car оқу жинағының бастапқы коды
3in1-kit-main-v2.zip12.80 MB
Пайдаланушының нұсқаулығы
-
SunFounder 3-в-1 Arduino Smart Car құрастыру нұсқаулығыБұл құжат SunFounder 3-в-1 Arduino Smart Car құрастыруды қадам бойынша көрсетеді
SunFounder_car_assembly_manual.pdf1.20 MB