Мазмұны:
- 1 -қадам: компоненттер
- 2 -қадам: Бірінші прототиптер
- 3 -қадам: ПХД дизайны
- 4 -қадам: Бағдарламалау
- 5 -қадам: тестілеу
- 6 -қадам: Қорытынды және келесі қадамдар
Бейне: Бірнеше жарықдиодты дисплей модулі: 6 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бәріне сәлем, Маған 7 сегментті немесе нүктелік матрицамен жарықдиодты дисплейлермен жұмыс істеу ұнайды, мен олармен көптеген жобалар жасадым.
Әрқашан олар қызықты, өйткені олардың жұмыс істеуінің қандай да бір сиқыры бар, себебі сіз көріп отырғаныңыз оптикалық иллюзия!
Дисплейлерде Arduino -ға (немесе басқа микроконтроллерге) қосылу үшін көптеген түйреуіштер бар және олардың портын пайдалануды азайту үшін деректерді мультиплекстеу техникасын қолдану ең жақсы шешім болып табылады.
Бұл әрекетті орындаған кезде әр сегмент немесе әрбір жарық диоды бірнеше минутқа қосылады (миллисекунд немесе одан аз), бірақ оның қайталануы секундына бірнеше рет көрсетілуі керек кескіннің елесін тудырады.
Мен үшін ең қызықтысы - сіздің жобаңызға сәйкес дұрыс ақпаратты қалай көрсете алатынын білу үшін логиканы дамыту.
Дисплейлерді пайдаланатын бір жобада барлық компоненттерді қосуға арналған көптеген сымдары бар тақтаға жинауға көп уақыт қажет.
Мен білемін, нарықта I2C -мен жұмыс істейтін әр түрлі дисплейлер бар, оларды бағдарламалаудың жеңілдетілген әдістері бар (немесе жоқ), мен оларды қолдандым, бірақ 74HC595 (IC мультиплексоры) және ULN2803 (драйверлер) сияқты стандартты компоненттермен жұмыс істеуді жөн көремін. олар сіздің бағдарламаңызға көбірек бақылау береді, сонымен қатар сіздің сенімділігіңіз бен сенімділігіңізді арттырады.
Құрастыру процесін жеңілдету үшін мен Arduino әлемінде қарапайым және қарапайым компоненттерді қолдана отырып, бірнеше мақсатқа арналған LED Dipslay модулін жасадым.
Бұл модульдің көмегімен сіз екі стандартты өлшемдегі (үлкенірек және кішірек) қос түсті жарықдиодты нүктелік матрицамен жұмыс жасай аласыз, сонымен қатар оларды нарықта оңай табылатын 7 Seg x 4 Digits дисплейін басқара аласыз.
Сондай -ақ, сіз бұл модульдермен каскадта сериялық түрде (әр түрлі деректер дисплейде) немесе параллельді түрде (дисплейде бірдей деректер) жұмыс жасай аласыз.
Ендеше, бұл модуль қалай жұмыс істейтінін және сіздің дамуыңызға көмектесетінін көрейік!
Бейне (жарықдиодты дисплей модулі)
Бейне (матрицалық тест)
Құрметпен, ЛАГСИЛВА
1 -қадам: компоненттер
ПХД (баспа схемасы)
- 74HC595 (03 x)
- ULN2803 (02 x)
- PNP транзисторы - BC327 (08 x)
- резистор 150 Ом (16 x)
- резистор 470 Ом (08 x)
- конденсатор 100 нФ (03 x)
- IC розеткасы 16 түйреуіш (03 x)
- IC розеткасы 18 түйреуіш (02 x)
- түйреуіш коннектор - 6 түйреуіш (8 x)
- Тікелей тақырыптар 90º (01 x)
- Жоғарғы тақырыптар 180º (01 x)
- Conector Borne KRE 02 түйреуіштері (02 x)
- ПХД (01 x) - Өндірілген
Басқалар
- Arduino Uno R3 / Nano / ұқсас
- Жарықдиодты дисплей 04 сандық 7 х сегменті - (жалпы анод)
- LED нүктелік матрицасы қос түсті (жасыл және қызыл) - (жалпы анод)
Маңызды ескертулер:
- Мен барлық маңызды компоненттердің деректер кестесін тек сілтеме ретінде қоямын, бірақ сіз оларды қолданар алдында өзіңіздің жеке компоненттеріңіздің деректер кестесін тексеруіңіз керек.
- Бұл тақта тек COMMON ANODE дисплейлерін қолдануға арналған.
2 -қадам: Бірінші прототиптер
Менің алғашқы прототипім схеманы тексеру үшін тақтада жасалды.
Осыдан кейін мен суретте көріп тұрғандай әмбебап тақтаның көмегімен басқа прототип жасадым.
Мұндай тақтаның жылдам прототипін шығару қызықты, бірақ сіз әлі де көптеген сымдарды сақтайтынын түсінесіз.
Бұл функционалды шешім, бірақ соңғы шығарылған ПХД -мен (көгілдір) салыстыруға келерлік емес.
Мен дәнекерлеуді жақсы білмеймін, өйткені менде бұл тәжірибе жеткіліксіз, бірақ менде бұл тәжірибе жақсы нәтиже берді және одан да маңызды: мен ешқандай компонентті де, қолымды да күйдірмедім!
Мүмкін, келесі тақтадағы нәтиже жаттығулардың арқасында жақсы болады.
Осыған байланысты мен сізге осындай тәжірибені қолдануға кеңес беремін, себебі бұл сіз үшін өте жақсы болады.
Тек ыстық үтікті күтуді ұмытпаңыз және оны күйдірмеу үшін компонентке бірнеше секундтан артық уақыт жұмсамауға тырысыңыз !!
Ақырында, Youtube -те сіз шынайы әлемге барар алдында білуге болатын дәнекерлеу туралы көптеген бейнелерді таба аласыз.
3 -қадам: ПХД дизайны
Мен бұл ПХД -ді екі қабатты тақтаны шығару үшін арнайы бағдарламалық жасақтаманың көмегімен жасадым және ол соңғы нұсқаның алдында бірнеше түрлі нұсқада жасалды.
Бастапқыда менде әр дисплейдің бір нұсқасы болды, мен бәрін бір нұсқада біріктіруді шештім.
Дизайн мақсаттары:
- Прототиптер үшін қарапайым және пайдалы.
- Оңай орнату және кеңейту.
- 3 түрлі дисплейлерді қолдана алады.
- Жарықдиодты үлкен нүктелік матрицаның максималды ені.
- Тақтаны шығаруға кететін шығындарды азайту үшін максималды ұзындығы 100 мм.
- Қолмен дәнекерлеу процесінде қиындықтарды болдырмау үшін SMD орнына дәстүрлі компоненттерді қолданыңыз.
- Басқару тақтасы каскадты басқа тақталармен байланысу үшін модульдік болуы керек.
- Басқа тақталар үшін сериялық немесе параллельді шығу.
- Бірнеше тақтаны тек Arduino басқаруы керек.
- Arduino байланысы үшін тек 3 сымдық деректер.
- Сыртқы 5В қуат қосылымы.
- Жарықдиодты басқару үшін транзисторлар мен драйверлерді (ULN2803) қолдана отырып, электр беріктігін арттырыңыз.
Ескерту:
Осы соңғы тармаққа байланысты мен сізге осы компоненттер туралы басқа нұсқаулықты оқуды ұсынамын:
Shift Register 74HC595 көмегімен ULN2803, UDN2981 және BC327
ПХД өндірісі:
Дизайн аяқталғаннан кейін мен оны Қытайдағы ПХД өндірушісіне әр түрлі жергілікті жеткізушілермен және әр түрлі елдерде көптеген іздеулерден кейін жібердім.
Негізгі мәселе тақталар мен шығындардың мөлшеріне қатысты болды, себебі маған олардың бірнешеуі ғана қажет.
Ақырында мен Қытайдағы компаниямен тек 10 тақтаға тұрақты тапсырыс беруді шештім (жоғары шығындарға байланысты жедел тапсырыс емес).
Небары 3 күннен кейін тақталар дайындалып, маған 4 күннен астам әлемді кесіп өтуге жіберілді.
Нәтижелер керемет болды !!
Тапсырыс бергеннен кейін бір аптадан кейін тақталар менің қолымда болды, мен олардың жоғары сапасы мен жылдамдығына таң қалдым!
4 -қадам: Бағдарламалау
Бағдарламалау үшін аппараттық құралдар дизайны мен 74HC595 ауысым регистрі туралы кейбір маңызды түсініктерді есте сақтау қажет.
74HC595 негізгі функциясы 8 разрядты сериялық кіруді 8 параллель шығуға ауыстыру болып табылады.
Барлық сериялық деректер №14 түйреуішке енеді және әр сағат сигналында биттер сәйкес келетін параллель түйреуіштерге (Qa-Qh) өтеді.
Егер сіз қосымша деректерді жіберуді жалғастырсаңыз, биттер бірінен соң бірі №9 (Qh ') түйініне сериялық шығыс ретінде жылжиды және осы функцияның арқасында каскадқа қосылған басқа чиптерді қоюға болады.
Маңызды:
Бұл жобада бізде 74HC595 үш IC бар. Алғашқы екеуі бағандарды басқаруға арналған (Позитивті логикамен) және соңғысы желілерді басқаруға арналған (PNP транзисторларының жұмысына байланысты НЕГАТИВТІ логикамен).
Позитивті логика Arduino -дан жоғары деңгейлі сигналды (+5В) жіберу керек дегенді білдіреді, ал теріс логика - төмен деңгейдегі сигналды (0В) жіберу керек дегенді білдіреді.
Светодиодтардың нүктелік матрицасы
- Біріншісі қызыл жарықдиодты катодтардың шығуына арналған (8 x) >> COLUMN RED (1 -ден 8 -ге дейін).
- Екіншісі, жасыл диодтардың катодтарының шығуына арналған (8 x) >> COLUMN GREEN (1 -ден 8 -ге дейін).
- Соңғысы барлық светодиодтардың анодтарын шығаруға арналған (08 x Қызыл және Жасыл) >> LINES (1 -ден 8 -ге дейін).
Мысалы, егер сіз 1 -баған мен 1 -жолдың жасыл жарық диодын ғана қосқыңыз келсе, келесі сериялық деректердің ретін жіберуіңіз керек:
1º) ЖОЛДАР
~ 10000000 (тек бірінші жол қосулы) - ~ белгісі - барлық биттерді 1 -ден 0 -ге дейін және керісінше түрлендіру.
2º) БАҒАН Жасыл
10000000 (жасыл жарық диодының бірінші бағанасы ғана қосулы)
3º) БАҒАН ҚЫЗЫЛ
00000000 (қызыл светодиодтардың барлық бағандары өшірулі)
Arduino мәлімдемелері:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Сызықтар үшін теріс логика
shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Жасыл бағандар үшін оң логика
shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Қызыл бағандар үшін оң логика
Ескерту:
Сондай -ақ, екі Светодиодты (Жасыл және Қызыл) біріктіріп, САРЫ түсі келесідей болуы мүмкін:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000);
shiftOut (dataPin, clockPin, LSBFIRST, B10000000);
shiftOut (dataPin, clockPin, LSBFIRST, B10000000);
7 сегменттер дисплейі
Мұндай дисплейлер үшін реттілік бірдей. Жалғыз айырмашылық - жасыл светодиодты қолданудың қажеті жоқ.
1º) DIGIT (1 -ден 4 -ке солдан оңға қарай) ~ 10000000 (орнатылған сан #1)
~ 01000000 (орнатылған сан 2)
~ 00100000 (орнатылған сан #3)
~ 00010000 (орнатылған цифр #4)
2º) ПАЙДАЛАНЫЛМАЙДЫ
00000000 (барлық бит нөлге тең)
3º) СЕГМЕНТТЕР (A -дан F -ге дейін - дисплейдің деректер кестесін тексеріңіз)
10000000 (А сегментін орнату)
01000000 (В сегментін орнату)
00100000 (C сегментін орнату)
00010000 (D сегментін орнату)
00001000 (E сегментін орнату)
00000100 (F сегментін орнату)
00000010 (G сегментін орнату)
00000001 (DP орнату)
3 нөмірі бар № 2 дисплейді орнату үшін Arduino мысалы:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // DISPLAY 2 орнату (теріс логика)
shiftOut (dataPin, clockPin, LSBFIRST, 0); // Деректерді нөлге қойыңыз (қолданылмайды)
shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // A, B, C, D, G сегменттерін орнатыңыз)
Ақырында, бұл процесті қолдана отырып, сіз дисплейдің кез келген жарықдиодты басқара аласыз, сонымен қатар сізге қажет кез келген арнайы таңбаларды жасай аласыз.
5 -қадам: тестілеу
Дисплей модулінің функционалдылығының мысалы ретінде екі бағдарлама келтірілген.
1) кері санақ дисплейі (999,9 секундтан нөлге дейін)
2) Матрица
3) 4 цифр мен 7 сегменттің LED дисплейіндегі цифрлық сағаттық RTC
Бұл соңғы - менің сандық сағаттың бірінші нұсқасының жаңартылуы.
6 -қадам: Қорытынды және келесі қадамдар
Бұл модуль жарықдиодты дисплейді қажет ететін барлық болашақ жобаларда пайдалы болады.
Келесі қадамдар ретінде мен олармен каскадты режимде жұмыс істеу үшін бірнеше тақталар жинаймын және бағдарламалауды одан әрі жеңілдету үшін кітапхананы дамытамын.
Сізге бұл жоба ұнады деп сенемін.
Пожалуйста, маған өз пікіріңізді жіберіңіз, себебі бұл жобаны және осы нұсқаулықтағы ақпаратты жақсарту үшін маңызды.
Құрметпен, ЛАГСИЛВА
26. мамыр 2016 ж
Ұсынылған:
Python және сіздің Raspberry Pi GPIO түйреуіштерімен бірнеше жарықдиодты басқару: 4 қадам (суреттермен)
Python және Raspberry Pi -дің GPIO түйреуіштерімен бірнеше жарықдиодты басқару: Бұл нұсқаулық RaspberryPi -дегі 4 светодиодты қосу үшін бірнеше GPIO түйреуіштерін қалай басқаруға болатынын көрсетеді. Ол сондай -ақ Python -дағы параметрлермен және шартты мәлімдемелермен таныстырады. Біздің Raspberry Pi GPIO түйреуіштерін пайдалану үшін алдыңғы нұсқаулық
Жарықдиодты-жарықдиодты-жарықдиодты: 7 қадам (суреттермен)
Жарықдиодты-жарықдиодты/жарықдиодты шамдар: мектептің ең жақсы жобасы геплоидты плексиглаздың көмегімен жүзеге асады, содан кейін ол мейрамхананың мейрамханасынан басталады. , кафе, … де о
Микроскоптарға арналған жарықдиодты жарықдиодты жарықдиодты жарықдиодты тақта!: 6 қадам (суреттермен)
Микроскоптар үшін DIY жарықдиодты жарықдиодты PCB! Мен электрониканы қолдануға арналған екінші микроскопты сатып алдым және сіз
Ағаштан жасалған жарықдиодты жарықдиодты жарықдиодты шамдар: 6 қадам (суреттермен)
Ағаштан жасалған жарықдиодты жарықдиодты жарықдиодты шамдар: Бұл идея бірнеше жерден келді. Мен қолөнер сатылымында светодиодтары бар ағаштан жасалған белгіні көрдім және бұл таңғажайып және қарапайым болып көрінді деп ойладым. Бірнеше аптадан кейін мен Джулиан Илеттің бейнелерін сақина осцилляторларынан таптым. Екеуін біріктіру
Бірнеше микроконтроллерден көптеген жарықдиодты қалай шығаруға болады: 6 қадам (суреттермен)
Бірнеше микроконтроллердің түйіспесінен көп жарықдиодты қалай шығаруға болады: Көптеген микроконтроллерлердің үш күйі бар екенін қолдана отырып (+V, GND немесе «жоғары импедентті»), сіз N*(N-1) жарықдиодты N істікшелерден басқара аласыз. Сонымен, PIC12Fxxx немесе ATtiny11 сияқты 8 істікшелі микроконтроллер бес жарық диодты 20 жарықдиодты жүргізе алады