Мазмұны:

Жарықдиодты матрицаның батырмасы: 4 қадам
Жарықдиодты матрицаның батырмасы: 4 қадам

Бейне: Жарықдиодты матрицаның батырмасы: 4 қадам

Бейне: Жарықдиодты матрицаның батырмасы: 4 қадам
Бейне: Той во время чумы. Почему нас не остановила даже пандемия? 2024, Шілде
Anonim
Жарықдиодты матрицаның батырмасы
Жарықдиодты матрицаның батырмасы

Бұл жобаны Arduino -ның басқа кіріспе жобасы деп санауға болады, ол сіздің әдеттегі «жарық диодты жарықтандыру» жобасынан сәл озық. Бұл жобада жарықдиодты матрица, түймелер, ауысу регистрлері (Arduino тақтасындағы түйреуіштерді сақтай алатын) және мультиплексинг деп аталатын негізгі ұғым бар. Сіз оқулықты ағартатын деп ойлайсыз және оны жақсартуға тырысасыз!

Жабдықтар

(1x) Arduino Uno

(5x) тактильді батырмалар

(2x) 0,1 uF конденсаторлары

(2x) 1 uF конденсаторлар

(8x) 1k резисторлар

(5x) 10к резисторлар

(2x) 74HC595 ауысымдық регистрлер

Jumper Wires

Қара сым

Қызыл сым

1 -қадам: 1 -қадам: жарықдиодты матрицаны құру

1 -қадам: жарықдиодты матрицаны құру
1 -қадам: жарықдиодты матрицаны құру
1 -қадам: жарықдиодты матрицаны құру
1 -қадам: жарықдиодты матрицаны құру
1 -қадам: жарықдиодты матрицаны құру
1 -қадам: жарықдиодты матрицаны құру

Мен осы жобада 8x8 жарықдиодты матрицаны құруға арналған оқулықты мына жерден табуға болады. Жарықдиодты матрицаның жалпы конфигурациясы бар:

а) Ортақ қатарлы анод

б) Жалпы катодты катод

Мен матрицаның катодының ортақ жолын қолданғандықтан, мен оны негізінен осы жерде талқылаймын және сіз де сол логиканы Common Row Anode орналасуына қарай кеңейте аласыз. Ортақ жол катодында светодиодтардың катодтары (немесе жарықдиодтың қысқа аяғы болатын теріс терминалдар) қатарға қосылады, ал анодтар (немесе светодиодтағы ұзын аяқ болып табылатын оң терминалдар) бір -біріне бағандарда қосылады.. Белгілі бір светодиодты шешу үшін, жарықдиодты катод төмен орналасқан катодтар қатарын тартыңыз және жарық диодты анод жоғары тұрған анод бағанасын тартыңыз.

Ескертпе: жоғарыдағы сілтемеде көрсетілген жарықдиодты матрицаны жасағанда, жарықдиодты шамаларға кернеудің кез келген мөлшерін қолданбас бұрын анодтық бағандарды 1к Ом резисторлармен қосқаныңызға көз жеткізіңіз.

2 -қадам: 2 -қадам: батырмалар мен ауысымдық регистрлерді қосу

2 -қадам: батырмалар мен ауысым регистрлерін қосу
2 -қадам: батырмалар мен ауысым регистрлерін қосу
2 -қадам: батырмалар мен ауысым регистрлерін қосу
2 -қадам: батырмалар мен ауысым регистрлерін қосу
2 -қадам: батырмалар мен ауысым регистрлерін қосу
2 -қадам: батырмалар мен ауысым регистрлерін қосу
2 -қадам: батырмалар мен ауысым регистрлерін қосу
2 -қадам: батырмалар мен ауысым регистрлерін қосу

Түймешіктер мен ауысым регистрлерінің сымдары жоғарыда көрсетілген. Электр схемасындағы ауысым регистрлерінде чиптер үшін жердегі (ИК 8 түйреуіші) және Vcc немесе қуат көзінің (ИК 16 штыры) түйреуіштері көрсетілмейтінін атап өткім келеді; жерге тұйықтауыш Arduino тақтасының GND түйреуішіне, ал Vcc Arduino тақтасының 5В істігіне қосылады. Әр ауысым регистрінің Vcc штыры жерге қосылған 0,1uF конденсаторға қосылады.

Ескерту: Әр ауысым регистрінің шығысы QA - QH (QH*елемеу) ретінде тізімделеді. Олар ең маңызды битке (LSB) (QA үшін) ең маңызды битке (MSB) (QH үшін) сәйкес келтірілген, яғни QA 0 -ші жолды немесе бағанды басқарады және т.

3 -қадам: 3 -қадам: Кодты жүктеу

Жарықдиодты матрицаны басқару коды осы оқулыққа қоса берілген. Мен кодты мүмкіндігінше түсіндіруге тырыстым, сондықтан бағдарламаның қалай жұмыс істейтіні түсінікті болды. Бағдарламаның негізгі негізі - қай светодиодты қосу немесе өшіруді қадағалайтын матрица. Қажет емес диодтарды кездейсоқ қоспай әр түрлі жарықдиодты дұрыс көрсету үшін мультиплекстеу деген ұғымды қолдану қажет. Мультиплексинг - бұл жеке қатардағы жеке жарықдиодты жарықтандыру, ал басқа жолдардағы барлық басқа светодиодтар, содан кейін қалған жолдар үшін де солай жасайды. Егер светодиодтар жолдар арасында жеткілікті жылдам айналса, сіздің көздеріңіз жеке жолдар бір уақытта жанып тұрғанын айтады. Егер сіз жарықдиодты шамдар арқылы көзіңізді алдаудың басқа жолдарын іздегіңіз келсе, көру қабілеттілігінің тұжырымдамасын қарастырғыңыз келуі мүмкін (Google немесе Instructables арқылы оңай іздеуге болады).

Анодтық бағандар мен катодтық жолдарды жаңарту әдісі-«UpdateShiftRegisters» деп аталатын пайдаланушы анықтайтын функция. Бұл функция алдымен шығысқа жаңа байт (8 бит) жіберілуін бақылайтын ысырманың түйреуішін айналдырады, сондықтан микросхемаға жаңа биттер жазылып жатқанда, шығысқа ешқандай өзгеріс енгізуге болмайды. Содан кейін деректерді жылжыту регистрлеріне жіберуді арнайы өңдейтін 'ShiftOut' деп аталатын кіріктірілген Arduino функциясын қолдана отырып, бағдарлама қай (катодты) қатар төмен болатынын және қай (анодты) бағандар жоғары болатынын жазады. Соңында, шығыс (жарықдиодты шамдар) жаңарту үшін ысырманың штыры жоғары тартылады.

4 -қадам: Қосымша ақпарат/ресурстар

Бұл жобаға қатысты қосымша ақпарат бере алатын веб -сайттарға немесе кітаптарға сілтемелер:

learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code

www.arduino.cc/kz/tutorial/ShiftOut

www.ti.com/lit/ds/symlink/sn74hc595.pdf

www.youtube.com/watch?v=7VYxcgqPe9A

www.youtube.com/watch?v=VxMV6wGS3NY

Arduino -дан бастау, Массимо Банзидің екінші басылымы

Ұсынылған: