- Потребан хардвер:
- Упознавање са ОЛЕД дисплејима:
- Хардвер и везе:
- Програмирање ССД1306 ОЛЕД екрана за Ардуино:
Већини нас би био познат матрични ЛЦД дисплеј са 16 × 2 тачке који се користи у већини пројеката за приказивање неких информација кориснику. Али ови ЛЦД дисплеји имају пуно ограничења у ономе што могу учинити. У овом упутству ћемо научити о ОЛЕД екранима и како их користити Ардуино. На тржишту је доступно много врста ОЛЕД екрана и постоји много начина да се они покрену. У овом упутству ћемо разговарати о његовим класификацијама и о томе које ће најбоље одговарати вашем пројекту.
Потребан хардвер:
- 7пин 128 × 64 ОЛЕД модул екрана (ССД1306)
- Ардуино УНО / Нано
- Бреадбоард
- Повезивање жица
- Рачунар / Лаптоп
Упознавање са ОЛЕД дисплејима:
Термин ОЛЕД означава се као „ органска диода која емитује светлост“ и користи исту технологију која се користи на већини наших телевизора, али има мање пиксела у поређењу са њима. Заиста је забавно имати ове модуле дисплеја који се међусобно повезују са Ардуином, јер ће наши пројекти изгледати супер. Овде смо покрили цео чланак о ОЛЕД екранима и њиховим врстама.
Користимо монохроматски 7-пински ССД1306 0.96 ”ОЛЕД екран. Разлог за одабир овог екрана је тај што може радити на три различита комуникациона протокола као што су СПИ 3 Вире начин, СПИ четворожични режим и ИИЦ режим. Овај водич ће описати како користити модул у СПИ четворожичном режиму, јер је то најбржи и задати начин комуникације.
Прибадаче и његове функције су објашњене у доњој табели.
Пин број |
Пин Наме |
Друга имена |
Употреба |
1 |
Гнд |
Приземље |
Осовина уземљења модула |
2 |
Вдд |
Вцц, 5 В |
Напајање (3-5В подношљиво) |
3 |
СЦК |
Д0, СЦЛ, ЦЛК |
Делује као затик сата. Користи се и за И2Ц и за СПИ |
4 |
СДА |
Д1, МОСИ |
Дата пин модула. Користи се и за ИИЦ и за СПИ |
5 |
ОИЕ |
РСТ, РЕСЕТ |
Ресетује модул (корисно током СПИ) |
6 |
ДЦ |
А0 |
Дата Цомманд пин. Користи се за СПИ протокол |
7 |
ЦС |
Цхип Селецт |
Корисно када се под СПИ протоколом користи више модула |
У овом упутству ћемо једноставно управљати модулом у 4-Вире СПИ режиму, а остатак ћемо оставити за неки други водич.
Заједница Ардуино нам је већ дала много библиотека које се могу директно користити да би се ово учинило много једноставнијим. Испробао сам неколико библиотека и открио да је библиотека Адафруит_ССД1306 врло једноставна за употребу и да има прегршт графичких опција, па ћемо је користити и у овом упутству. Али, ако ваш пројекат има ограничење меморије / брзине, покушајте да користите библиотеку У8г јер ради брже и заузима мање програмске меморије.
Хардвер и везе:
Дијаграм коло за ССД1306 ОЛЕД повезивање са Ардуино је веома једноставан и приказан је у наставку
Једноставно смо успоставили СПИ комуникацију између ОЛЕД модула и Ардуина. Будући да ОЛЕД ради на 3В-5В и троши врло мало енергије, није му потребно спољно напајање. Једноставно можете да користите жице за повезивање или користите плочу као што сам ја користио, тако да је лако експериментисати. Веза је такође наведена у доњој причи
С.Но |
Име пин на ОЛЕД модулу |
Прикачи име на Ардуину |
1 |
Гнд, Гроунд |
Приземље |
2 |
Вдд, Вцц, 5 В |
5В |
3 |
СЦК, Д0, СЦЛ, ЦЛК |
10 |
4 |
СДА, Д1, МОСИ |
9 |
5 |
РЕС, РСТ, РЕСЕТ |
13 |
6 |
ДЦ, А0 |
11 |
7 |
ЦС, Цхип Селецт |
12 |
Напомена: Нећете моћи да визуализујете позадинско осветљење / сјај на ОЛЕД модулу само његовим укључивањем. Морате га правилно програмирати да бисте приметили било какве промене на ОЛЕД дисплеју.
Програмирање ССД1306 ОЛЕД екрана за Ардуино:
Једном када су везе спремне, можете започети програмирање Ардуина. Као што је раније речено, користићемо библиотеку Адафруит и ГФКС за рад са овим ОЛЕД модулом. Следите кораке за пробно покретање ОЛЕД екрана.
Корак 1: Преузмите библиотеку Адафруит и ГФКС са Гитхуб-а користећи доњу везу
- Библиотека Адафруит
- ГФКС графичка библиотека
Корак 2: Требали бисте да преузмете две Зип датотеке. Сада их додајте у свој Ардуино пратећи
Скица-> Укључи библиотеку -> Додај Зип библиотеку као што је приказано доле. Затим изаберите библиотеку коју смо управо преузели. Можете одабрати само једну библиотеку одједном, па ћете овај корак морати поново поновити.
Корак 3: Покрените пример програма избором Датотека-> Примери-> Адафруит ССД1306 -> ССД1306_128 * 64_СПИ.ино као што је приказано на доњој слици.
Корак 4: Унутар примера програма на врху реда 64 додајте ред „#дефине ССД1306_ЛЦДХЕИГХТ 64“ као што је приказано на доњој слици.
Корак 5: Сада отпремите програм и требало би да видите како се ОЛЕД екран пуца са подразумеваним примером Адафруит кода, као што је приказано на доњој слици. Пун радни Видео је дат на крају.
Овај пример програма приказује вам све могуће графике које би могле бити приказане на ОЛЕД екрану. Овај код би вам требао бити довољан да креирате битмапе, цртате линије / кругове / правоугаонике, играте се пикселима, приказујете цхар и стринг са различитим фонтовима и величинама итд…
Ако желите боље разумети Библиотеку и њене функције, можете даље читати. Свако смеће кода се дели и објашњава уз помоћ линија за коментаре. Комплетна шифра дата је на крају овог члана
Приказивање и брисање екрана:
Писање на ОЛЕД екрану је исто као и писање на црној табли, морамо да напишемо вредности и затим га очистимо пре него што се препише. Следеће наредбе се користе за писање и брисање екрана
дисплаи.дисплаи (); // Записивање за приказ дисплаи.цлеарДисплаи (); // обришите приказ
Приказивање променљиве карактера:
За приказ садржаја унутар променљиве може се користити следећи код.
цхар и = 5; // променљива која ће се приказати дисплаи.сетТектСизе (1); // Изаберите величину приказа текста.сетТектЦолор (БЕЛА); // за монохроматски приказ могуће је само нешто са приказом.сетЦурсор (0,0); // 0,0 је горњи леви угао приказа ОЛЕД екрана.врите (и); // Напишите променљиву која ће се приказати
Цртање линије, круга, правоугаоника, троугла:
Ако желите да додате неке симболе на екран, помоћу следећег кода можете да нацртате било шта од следећег
дисплаи.дравЛине (дисплаи.видтх () - 1, 0, и, дисплаи.хеигхт () - 1, БЕЛА); // воид дравЛине (к0, и0, к1, и1, боја); дисплаи.дравРецт (и, и, дисплаи.видтх () - 2 * и, дисплаи.хеигхт () - 2 * и, БЕЛА); // поништавање дравРецт (к0, и0, в, х, боја); дисплаи.дравТриангле (дисплаи.видтх () / 2, дисплаи.хеигхт () / 2-и, дисплаи.видтх () / 2-и, дисплаи.хеигхт () / 2 + и, дисплаи.видтх () / 2+ и, дисплаи.хеигхт () / 2 + и, БЕЛА); // воид дравТриангле (к0, и0, к1, и1, к2, и2, боја); дисплаи.дравЦирцле (дисплаи.видтх () / 2, дисплаи.хеигхт () / 2, и, БЕЛА); // воид дравЦирцле (к0, и0, р, боја);
Цртање низа на екран:
Следећи део кода се може користити за приказивање било које поруке на екрану на одређеном месту и величини
дисплаи.сетТектСизе (2); // подесимо величину текста дисплаи.сетТектЦолор (ВХИТЕ); // подешавање боје дисплаи.сетЦурсор (10,0); // Низ започиње са 10,0 (к, и) дисплаи.цлеарДисплаи (); // Гумица било који претходни приказ на екрану дисплаи.принтлн ("Цирцуит Дигест"); // овде исписујемо низ „Цирцуит Дигест“ дисплаи.дисплаи (); // пошаљи текст на екран
Приказивање битмап слике:
Једна неповерљива ствар која се може учинити са ОЛЕД модулом је та да се он може користити за приказ битмапа. Следећи код се користи за приказ битмап слике
статички цонст непотписани знак ПРОГМЕМ лого16_глцд_бмп = {Б00000000, Б11000000, Б00000001, Б11000000, Б00000001, Б11000000, Б00000011, Б11100000, Б11110011, Б11100000, Б11111110, Б11111000, Б01111110 Б111100, Б111100, Б111100, Б111100, Б111100, Б11 Б10100000, Б00111111, Б11100000, Б00111111, Б11110000, Б01111100, Б11110000, Б01110000, Б01110000, Б00000000, Б00110000}; дисплаи.дравБитмап (КСПО], ИПОС, битмапа, в, х, ВХИТЕ); // поништавање дравБитмап (к, и, * битмапа, в, х, боја);
Као што видите, да би се приказала слика, битмап подаци морају бити ускладиштени у програмској меморији у облику ПРОМГМЕМ директиве. Једноставно речено, ОЛЕД екрану морамо упутити шта да ради са сваким пикселом тако што ће му проследити низ или вредности из низа као што је приказано горе. Овај низ ће садржати битмап податке о слици.
Можда звучи компликовано, али уз помоћ веб алата врло је лако претворити слику у битне вредности мапе и учитати их у горњи низ.
Једноставно учитајте слику и прилагодите подешавања да бисте добили жељени преглед слике. Затим кликните на „Генериши код“, копирајте га и налепите у свој низ. Отпремите програм и готови сте. Покушао сам да прикажем лого Бетмена и овако је испало.
Још увек можете много тога да урадите са овим библиотекама. Да бисте сазнали све могућности, посетите страницу Адафруит ГФКС графички примитиви.
Надам се да сте ово покренули и да сте спремни да имплементирате ОЛЕД екран у неке од својих пројеката. Ако сте имали проблема поделите их у одељку за коментаре и потрудићу се да их исправим.