У овом упутству ћемо дизајнирати 8к8 ЛЕД матрични заслон за померање користећи Ардуино Уно, који ће приказати абецеде за померање.
8к8 ЛЕД матрица садржи 64 ЛЕД (диоде које емитују светлост) које су поређане у облику матрице, па је отуда и назив ЛЕД матрица. Направићемо ову Матрицу тако што ћемо ових 64 ЛЕД-а залемити на перфбоард или ДОТ ПЦБ. ЛЕД диоде могу бити у било којој боји, одаберите оне које су вам доступне. Тада ћемо написати програм за Ардуино за контролу ових 64 ЛЕД матрице. УНО, према програму, напаја одговарајуће ЛЕД диоде да приказују ликове на помични начин.
Компоненте потребне:
- Ардуино Уно
- 64 ЛЕД диоде
- Перфбоард са другим алатима за лемљење
- Отпорник 1КΩ (8 комада)
- Напајање (5в)
Објашњење кола и рада:
Постоје 64 ЛЕД диоде распоређене у матричном облику. Дакле, имамо 8 колона и 8 редова. Преко тих редова и ступаца сабрани су сви позитивни терминали у низу. За сваки ред постоји један заједнички позитивни терминал за свих 8 ЛЕД у том реду. То је приказано на доњој слици,
Дакле, за 8 редова имамо 8 заједничких позитивних терминала. Узмимо у обзир први ред, као што се види на слици, 8 ЛЕД диода од Д57 до Д64 имају заједнички позитивни прикључак и означени су са 'ПОЗИТИВ0'. Сада, ако желимо да жаримо једну или све ЛЕД диоде у првом РЕДУ матрице, онда бисмо требали напајати ПИН0 ЛЕД матрице. Исто тако, ако желимо да жаримо било коју ЛЕД (или све) у било ком РЕДУ, тада морамо да напајамо одговарајући заједнички позитивни терминални пин тог одговарајућег реда.
Ово још није готово и само остављање МАТРИКС РОВС-а са позитивном понудом неће донети ништа. Морамо да уземљимо негативне диоде ЛЕД-а да би их светили. Дакле, у 8к8 ЛЕД матрици, сви негативни терминали ЛЕД-а у било којој колони су окупљени у осам заједничких негативних терминала, као што су сви негативни терминали у првој колони повезани заједно са ПИН-А1 (НЕГАТИВЕ7). Ово је приказано на доњој слици:
На ове пинове треба обратити пажњу док лепите ЛЕД диоде на Перфбоард.
Сада ако треба да уземљимо било коју ЛЕД диоду у првој колони, тада ћемо уземљити ПИН-А1 (НЕГАТИВНИ7) МАТРИКЕ, а он ће уземљити све ЛЕД диоде у првој колони. Исти поступак важи и за свих осталих седам уобичајених негативних колона.
Од сада знате како функционишу заједнички позитивни и заједнички негативни. Саставимо их да видимо како раде заједно и коначни приказ кола за померање 8к8 ЛЕД матрице ће изгледати овако:
Вожња 8к8 ЛЕД матрицом користећи Мултиплекинг:
Рецимо сада да желимо да укључимо ЛЕД57, онда морамо да напајамо ПИН0 УНО и уземљимо ПИН-8 УНО. Сада да бисмо укључили и ЛЕД57 и ЛЕД50, морамо напајати ПИН0, ПИН1 и уземљити ПИН8, ПИН9. Али то неће укључити само Д57, Д50 већ и Д49, Д58. Да бисмо то избегли, користимо технику звану Мултиплексирање. Већ смо детаљно разговарали о овој Мултиплек техници у 8к8 ЛЕД матрици; прођите кроз тај чланак за детаљно објашњење. Овде укратко објашњавамо Мултиплексирање.
Људско око не може да ухвати фреквенцију већу од 30 ХЗ. То је ако се ЛЕД непрекидно УКЉУЧУЈЕ И ИСКЉУЧУЈЕ брзином од 30Хз или више. Око види ЛЕД непрекидно УКЉУЧЕНУ. Међутим, то није случај и ЛЕД ће се заправо непрестано палити и гасити. Ова техника се назива мултиплексирање.
Рецимо, на пример, желимо да укључимо само ЛЕД57 и ЛЕД50 без укључивања Д49 и Д58. Трик је у томе што ћемо прво напајати први ред да се УКЉУЧИ ЛЕД57 и сачекати 1мСЕЦ, а затим ћемо га искључити. Тада ћемо напајати други ред да укључи ЛЕД50 и сачекати 1мСЕЦ, а затим ћемо га искључити. Циклус се континуирано одвија са високим фреквенцијама и ЛЕД57 и ЛЕД50 ће се брзо палити и гасити, а чини се да ће обе ЛЕД диоде непрестано бити УКЉУЧЕНЕ за наше око. Значи да напајамо само један по један ред, елиминишући шансе за укључивање других ЛЕД диода у другим редовима. Овом техником ћемо приказати све ликове.
Постоји и библиотека ЛедЦонтролМС.х да се побрине за сву ову сложеност мултиплексирања, где је потребно само да унесете знак или број који желите да одштампате на ЛЕД матрици, детаљније погледајте ову Ардуино ЛЕД матрицу са пројектом МАКС7219.
Објашњење програмирања:
У нашем коду написали смо децималну вредност за сваки знак и програмирали ове вредности у Ардуино. Програм је написао да помера ове вредности у следећи ред сваких 0,2 секунде, то ће се видети као померање знакова према горе, врло је једноставно.
Да бисте променили знакове који ће се приказати, само замените вредност у пољу цхар АЛПХА према вредностима знакова датим у наставку, 24,60,102,126,102,102,102,0,0,0, // А 124,102,102,124,102,102,124,0,0,0, // Б 60,102,96,96,96,102,60,0, 0,0, // Ц 120,108,102,102,102,108,120,0, 0,0, // Д 126,96,96,120,96,96,126,0, 0,0, // Е 126,96,96,120,96,96,96,0, 0,0, // Ф 60,102,96,110,102,102,60, 0, 0,0, // Г 102,102,102,126,102,102,102,0, 0,0, // Х 60,24,24,24,24,24,60,0, 0,0, // И 30,12,12,12, 12,108,56,0, 0,0, // Ј 102,108,120,112,120,108,102,0, 0,0, // К 96,96,96,96,96,96,126,0, 0,0, // Л 99,119,127,107,99, 99,99,0, 0,0, // М 102,118,126,126,110,102,102,0, 0,0, // Н 60,102,102,102,102,102,60,0, 0,0, // О 124,102,102,124,96,96,96,0, 0,0, // П 60,102,102,102,102,60,14,0, 0,0, // К 124,102,102,124,120,108,102,0, 0,0, // Р 60,102,96,60,6,102,60,0, 0,0, // С 126, 24,24,24,24,24,24,0, 0,0, // Т 102,102,102,102,102,102,60,0, 0,0, // У 102,102,102,102,102,60,24,0, 0,0, // В 99,99,99,107,127,119,99,0, 0,0, // В 102,102,60,24,60,102,102,0, 0,0, // Кс 102,102,102,60,24,24,24,0, 0,0, // И 126,6,12, 24,48,96,126,0, 0,0, // З
Као ако желите да прикажете ДАД на ЛЕД матрици, прво замените вредности знакова у пољу цхар АЛПХА стављањем вредности за знакове Д, А и Д са горње листе:
цхар АЛПХА = {0,0,0,0,0,0,0,0,0,0,0, 120,108,102,102,102,108,120,0,0,0, 24,60,102,126,102,102,102,0,0,0, 120,108,102,102,102,108,120,0,0, 0, 0,0,0,0,0,0,0,0,0,0,0};
Укупне вредности су сада 5 * 10 = 50 вредности, дакле
Замените, за (инт к = 0; к <142; к ++) // 150-8 (да зауставите преливање) {…….. Са, за (инт к = 0; к <42; к ++) // 50-8 (да се заустави преливање) {……..
Дакле, само треба да промените број.
Овим сте завршили програмирање и сада можете да померате било који текст на ЛЕД матрици 8к8, проверите пуни код доле са демонстрацијским видеом.