Мазмұны:

5x4 жарықдиодты дисплей матрицасы 2 (bs2) негізгі маркасын және чарлиплексті қолданады: 7 қадам
5x4 жарықдиодты дисплей матрицасы 2 (bs2) негізгі маркасын және чарлиплексті қолданады: 7 қадам

Бейне: 5x4 жарықдиодты дисплей матрицасы 2 (bs2) негізгі маркасын және чарлиплексті қолданады: 7 қадам

Бейне: 5x4 жарықдиодты дисплей матрицасы 2 (bs2) негізгі маркасын және чарлиплексті қолданады: 7 қадам
Бейне: LED-телевизоры Philips линейки 4208 2024, Шілде
Anonim
5x4 жарықдиодты дисплей матрицасы 2 (bs2) базалық маркасын және чарлиплексті қолданады
5x4 жарықдиодты дисплей матрицасы 2 (bs2) базалық маркасын және чарлиплексті қолданады

Негізгі штамп 2 және қосымша жарық диодтары бар ма? Неліктен charlieplexing тұжырымдамасымен ойнауға және 5 түйреуіш арқылы шығыс жасауға болмайды?

Бұл нұсқаулық үшін мен BS2e қолданамын, бірақ BS2 отбасының кез келген мүшесі жұмыс істеуі керек.

1 -қадам: Шарлиплексинг: не, неге және қалай

Алдымен себебін анықтайық. Неліктен базалық штамп 2 көмегімен charlieplexing қолдану керек? --- Тұжырымдаманың дәлелі: Шарлиеплекстің қалай жұмыс істейтінін біліңіз және BS2 туралы біліңіз. Бұл маған кейінірек 8 істікшелі чиптерді қолдану арқылы пайдалы болуы мүмкін (олардың тек 5-і ғана енгізіледі).--- Пайдалы себеп: Негізінде жоқ. BS2-бұл өте баяу, жыпылықтаусыз көрсету. Шарлеплекс дегеніміз не? --- Шарлеплексинг-микропроцессорлық енгізу-шығару түйреуіштерінің саны аз светодиодтардың үлкен санын жүргізу әдісі. Мен charlieplexing туралы www.instructables.com сайтынан білдім, сонымен қатар сіз: Чарлиплекс светодиоды- теориясы Бірнеше микроконтроллердің түйреуішінен көп жарықдиодты қалай шығаруға болады. Сондай-ақ, википедияда: CharlieplexingҚалай мен 5 жарықдиодты 20 светодиодты басқара аламын? --- «Шарлиплекстеу дегеніміз не?» Тарауындағы үш сілтемені оқып шығыңыз. Бұл мен білгеннен де жақсы түсіндіреді. Шарлиплекстеу дәстүрлі мультиплекстеуден ерекшеленеді, оған әр жол мен әрбір баған үшін бір енгізу -шығару түйреуіші қажет (бұл 5/4 дисплейі үшін 9 кірістіру -шығыс болады).

2 -қадам: аппараттық және схемалық

Аппараттық және схемалық
Аппараттық және схемалық

Материалдар тізімі: 1x - 220x негізгі маркасы - бір типті жарық диодтары (жарық диодтары) (түс және кернеудің төмендеуі) 5х - резисторлар (резистордың мәніне қатысты төменде қараңыз) Көмекші/Қосымша: BS2 қосылу түймесін қалпына келтіру қосқышы ретінде бағдарламалау әдісі -9v BS2 нұсқасына байланысты қуат көзі (нұсқаулықты оқыңыз) Схема: Бұл схема механикалық орналасуды ескере отырып құрастырылған. Сіз сол жақта жарық диодты торды көресіз, бұл BS2 коды жазылған бағдар. Светодиодтардың әр жұбында екіншісінің катодына қосылған анод бар екеніне назар аударыңыз. Содан кейін олар бес кіріс/шығыс түйреуішінің біріне қосылады. Светодиодтардың деректер кестесін тексеріңіз немесе жарықдиодты шамдардың кернеуінің төмендеуін табу үшін цифрлық мультиметрдегі жарықдиодты орнатуды қолданыңыз. Келіңіздер, бірнеше есептеулер жүргізейік: қоректендіру кернеуі - кернеудің төмендеуі / қажетті ток = резистор мәні токтың. Менің светодиодтарда 1,6 вольт төмендеу бар және 20 мА.5В - 1,6В /.02амперлер = 155 Ом жұмыс істейді BS2 қорғаныс үшін келесі резистор мәнін есептеу кезінде алғаннан пайдаланыңыз, бұл жағдайда бұл 180 Ом болады деп ойлаймын. Мен 220 омды қолдандым, себебі менің даму тақтасында резистордың мәні әр енгізу -шығару штыры үшін орнатылған. ЕСКЕРТПЕ: Менің ойымша, әр түйреуіште резистор болғандықтан, бұл әрбір сымдағы қарсылықты екі есе арттырады, себебі бір түйреу V+, ал екіншісі - Gnd. Бұл жағдайда резистордың мәнін екі есе азайту керек. Резистордың тым жоғары мәнінің жағымсыз әсері - бұл светодиодты өшіру. Біреу мұны тексеріп, маған ПМ немесе түсініктеме қалдыра алады ма, мен бұл ақпаратты жаңарта аламын ба? Бағдарламалау: Мен чипті тақтаға тікелей бағдарламалау үшін DB9 қосқышы бар әзірлеу тақтасын қолдандым. Мен бұл чипті дәнекерлемейтін тақтада қолданамын және тізбектегі сериялық бағдарламалау (ICSP) тақырыбын енгіздім. Тақырып-5 түйреуіш, 2-ден 5-ке дейінгі түйреуіштер DB9 сериялық кабелінің 2-5 түйреуіштеріне қосылады (1-ші түйін пайдаланылмайды). ICSP тақырыбын пайдалану үшін DB9 кабеліндегі 6 және 7 түйреуіштер бір -біріне жалғануы керек екенін ескеріңіз. Қалпына келтіру: Лездік қалпына келтіру түймесі міндетті емес. Бұл итерілген кезде 22 түйреуішті жерге түсіреді.

3 -қадам: Нан тарату

Breadboard
Breadboard
Breadboard
Breadboard

Енді матрицаны нан тақтасына салу керек, мен әр жетекші жұптың бір аяғын біріктіру үшін терминалды жолақты, ал басқа аяқтарды қосу үшін шағын секіргіш сымды қолдандым. Бұл егжей -тегжейлі суретте егжей -тегжейлі сипатталған және мұнда терең түсіндірілген: 1. Үлкен суретке сәйкес келетін тақтаны бағыттаңыз2. Анод (+) сізге қараған жарықдиодты 1 және катодты (-) сізден алыс орналастырыңыз. Светодиод 2 катодының қосылатын терминал жолағындағы Анодпен (+) бір бағытта орналастырыңыз. Кішкентай өтпелі сымды қолданып LED 1 анодын LED 2.5 катодына қосыңыз. Әр жұп жарық диодты тақтаға қосылмайынша қайталаңыз. Мен әдетте BS2 I/O түйреуіштеріне арналған жолақ ретінде нан тақтасының қуат шинасының жолақтарын қолданамын. Тек 4 автобус жолағы болғандықтан, мен P4 үшін терминалды жолақты қолданамын (бесінші енгізу -шығару қосылымы). Мұны төмендегі үлкен суреттен көруге болады. LED 1 катодының терминал жолағын P0 шина жолағына қосыңыз. Әр жұп үшін тиісті P* алмастыратын әрбір тақ санды жарықдиодты қайталаңыз (схеманы қараңыз). Жарықдиодты 2 катодының терминалдық жолағын P1 шинасына қосыңыз. Әр жұп үшін тиісті P* алмастыратын әрбір тақ санды жарықдиодты қайталаңыз (схеманы қараңыз). Әр шина жолағын BS2 (P0-P4) сәйкес енгізу-шығару түйреуішіне жалғаңыз.9. Схемаға сәйкес келетінін тексеру үшін барлық қосылымдарды тексеріңіз. ЕСКЕРТПЕ: Жақыннан түсіруде мен 7-қадамды орындағаным көрінбейтінін көресіз, себебі екінші енгізу-шығару түйреуіші тақ светодиодтардың анодында. Есіңізде болсын, жұп санды светодиодтардың катодтары тақ светодиодтардың анодына қосылған, сондықтан қосылу бірдей. Егер бұл ескерту сізді шатастырса, оны елемеңіз.

4 -қадам: Бағдарламалау негіздері

Charlieplexing жұмыс істеуі үшін сіз бір уақытта тек бір шамды қосасыз. Біздің BS2 -мен жұмыс істеу үшін бізге екі негізгі қадам қажет: 1. OUTS командасын қолдана отырып, түйреуіштердің шығыс режимдерін орнатыңыз. BS2 -ге DIRS пәрменін қолдана отырып, қандай түйреуіштерді шығыс ретінде пайдалану керектігін айтыңыз Бұл жұмыс істейді, себебі BS2 -ге қандай түйреуіштерді жоғары және төмен жүргізуге болатынын айтуға болады және сіз қандай түйреуіштер шығысы бар екенін көрсетпейінше күтеді. жай ғана светодиодты жыпылықтатуға тырысады 1. Егер сіз схемаға қарасаңыз, онда Р0 1 светодиодының катодына (-), ал P1-сол жарықдиодты анодқа қосылғанын көресіз. Бұл P0 төмен және жоғары P1 жүргізгіміз келетінін білдіреді. Мұны P4-P1 жоғары және Р0 төмен жүргізетін «OUTS = % 11110» (% екілік санды ұстану керек екенін көрсетеді. Ең төменгі екілік сан әрқашан оң жақта болады. 0 = LOW, 1 = HIGH)) BS2 бұл ақпаратты сақтайды, бірақ біз қандай түйреуіштер шығыс екенін жарияламайынша әрекет етпейді. Бұл қадам өте маңызды, себебі бір уақытта тек екі түйреуіш болуы керек. Қалғандары кірістер болуы керек, олар сол түйреуіштерді жоғары кедергіге қояды, сондықтан олар ток өткізбейді. Бізге P0 және P1 қозғау керек, сондықтан біз оларды шығысқа, ал қалғандарын келесідей енгіземіз: «DIRS = % 00011». (% Екілік сан орындалуы керек екенін көрсетеді. Ең төменгі екілік сан әрқашан оң жақта болады. 0) = INPUT, 1 = OUTPUT) Мұны бірнеше пайдалы кодқа біріктірейік: '{$ STAMP BS2e}' {$ PBASIC 2.5} DO OUTS = %11110 'P0 төмен диск және P1-P4 жоғары DIRS = %00011' P0 орнатыңыз. P1 шығыс ретінде және P2-P4 кіріс ретінде PAUSE 250 'Жарықдиодты DIRS күйінде қалу үшін кідіріс = 0' Барлық түйреуіштерді кіріске орнатыңыз. Бұл жарықдиодты тоқтату үшін PAUSE 250 'кідірісін өшіреді

5 -қадам: Даму циклы

Енді біз олардың барлығы жұмыс істейтініне көз жеткізу үшін бір істік жұмыс уақытын көрдік. Сіз әр түйреуіш қоқыс салынғаннан кейін мен барлық түйреуіштерді кіріске қайта айналдыру үшін «DIRS = 0» қолданатынымды байқайсыз. Егер сіз шығыс түйреуіштерін өшірмей OUTS -ті өзгертсеңіз, цикл арасында жыпылықтай алмайтын светодиод пайда болады, егер сіз осы кодтың басында W1 айнымалы мәнін «W1 = 1» етіп өзгертсеңіз әр жарық диодты жыпылықтауы арасында тек 1 миллисекундтық үзіліс болады. Бұл барлық жарық диодтары жанған сияқты көрінетін тұрақтылықты (POV) тудырады. Бұл светодиодты күңгірттендіретін әсерге ие, бірақ біз бұл матрицада таңбаларды қалай көрсететіндігіміздің мәні. Жарықдиодты қолдануға болатын үлгі. Бұл файл менің бірінші әрекетім. Сіз файлдың төменгі жағында таңбалар 5 таңбалы екілік төрт жолда сақталғанын көресіз. Әр жол оқылады, талданады және қосқыш қажет болған сайын кіші бағдарлама шақырылады, бұл код 1-0 цифрлары арқылы велосипедпен жұмыс істейді. Егер сіз оны іске қосуға тырыссаңыз, ол өте баяу жаңару жылдамдығына ие екенін байқайды, бұл кейіпкерлерді тануға тым баяу жыпылықтайды. Бұл код көптеген себептерге байланысты нашар. Біріншіден, екілік цифрлардың бес цифры EEPROM -де 8 цифрлы екілік сияқты көп орын алады, өйткені барлық ақпарат төрт биттік топтарда сақталады. Екіншіден, қандай түйреуішті жарықтандыру керектігін шешу үшін қолданылатын SELECT CASE 20 жағдайды қажет етеді. BS2 бір SELECT операциясына 16 жағдаймен шектеледі. Бұл IF-THEN-ELSE мәлімдемесімен бұл шектеулерді бұзуға тура келді дегенді білдіреді. Жақсы әдіс болуы керек. Бірнеше сағаттан кейін басы тырналғаннан кейін мен оны білдім.

6 -қадам: Жақсы аудармашы

Біздің матрицаның әр жолы 4 светодиодтан тұрады, олардың әрқайсысын қосуға немесе өшіруге болады. BS2 ақпаратты EEPROM -да төрт биттік топтарда сақтайды. Бұл корреляция бізге жағдайды едәуір жеңілдетуі керек, сонымен қатар төрт бит 0-15 ондық сандарға сәйкес келеді, барлығы 16 мүмкіндікке сәйкес келеді. Бұл EEPROM-де сақталатын 7 цифры: '7 %1111, %1001, %0010, %0100, %0100, әр жолда ондық эквивалент 0-15-ке дейін бар, сондықтан біз оқимыз. жадтан енгізіңіз және оны тікелей SELECT CASE функциясына жіберіңіз. Бұл әр таңбаны (1 = қосулы, 0 = өшірулі) жасау үшін пайдаланылатын адам оқитын екілік матрица аудармашының кілті екенін білдіреді. 5 жолдың әрқайсысы үшін бірдей SELECT CASE пайдалану үшін мен басқа таңдау жағдайын қолдандым. DIRS және OUTS айнымалы ретінде орнату үшін. Мен алдымен символдың әрбір бес жолында ROW1-ROW5 айнымалыларын оқыдым. Содан кейін негізгі бағдарлама таңбаны көрсету үшін кіші бағдарламаны шақырады. Бұл қосалқы бағдарлама бірінші жолды алады және төрт ықтимал OUTS комбинациясын outp1-outp4 айнымалысына және екі ықтимал DIRS комбинациясын direc1 & direc2-ге тағайындайды. Жарық диодты шамдар жыпылықтайды, қатардың есептегіші ұлғайтылады және басқа төрт жолдың әрқайсысы үшін бірдей процесс орындалады, бұл бірінші интерпретаторлық бағдарламадан әлдеқайда жылдам. Айтпақшы, әлі де айқын жыпылықтау бар. Бейнеге қараңыз, камера жыпылықтауды нашарлатады, бірақ сіз түсінікті аласыз. Бұл тұжырымдаманы picMicro немесе AVR чипі сияқты әлдеқайда жылдам чипке көшіру бұл таңбаларды айтарлықтай жыпылықтамай көрсетуге мүмкіндік береді.

7 -қадам: Осы жерден қайда бару керек

Менде плиталар жасауға арналған CNC диірмені немесе тегістеу құралдары жоқ, сондықтан мен бұл жобаны өткізбеймін. Егер сізде диірмен болса және осы жерден алға жылжу үшін ынтымақтастыққа қызығушылық танытсаңыз, маған хабарлама жіберіңіз. Мен бұл жобаның дайын өнімін көрсетуге қуаныштымын, материалдар мен жеткізілім үшін ақы төлеуге қуаныштымын.

Басқа мүмкіндіктер: 1. Мұны басқа чипке салыңыз. Бұл матрицалық конструкцияны үш күйге қабілетті 5 кіру-шығыс түйіндері бар кез келген чиппен қолдануға болады (жоғары, төмен немесе кіріс (жоғары импеданс) түйреуіштер). 2. Жылдамырақ чипті (мүмкін AVR немесе picMicro) қолдана отырып, масштабты арттыруға болады. 20 істікшелі чиптің көмегімен 8х22 дисплейді шарлиплекске салу үшін 14 түйреуішті, ал қалған түйреуіштерді компьютерден немесе басқа контроллерден сериялық командаларды қабылдау үшін пайдалануға болады. Тағы 20 түйреуішті үш чипті қолданыңыз, сонда 8x88 айналдыру дисплейі болады, барлығы 11 таңбадан тұрады (әр таңбаның еніне байланысты). Сәттілік, көңілді болыңыз!

Ұсынылған: