Mundarija:

OLED I2C displeyi Arduino/NodeMCU qo'llanmasi: 15 qadam
OLED I2C displeyi Arduino/NodeMCU qo'llanmasi: 15 qadam

Video: OLED I2C displeyi Arduino/NodeMCU qo'llanmasi: 15 qadam

Video: OLED I2C displeyi Arduino/NodeMCU qo'llanmasi: 15 qadam
Video: Как измерить постоянное напряжение и ток и построить счетчик энергии с ЖК-дисплеем | Урок 104 2024, Iyul
Anonim
Image
Image

Siz o'rganishni boshlaganingizda yozadigan birinchi dastur

yangi dasturlash tili: "Salom dunyo!".

Dasturning o'zi "Salom dunyo" matnini ekranda chop etishdan boshqa narsani qilmaydi.

Xo'sh, qanday qilib biz Arduino -ni "Salom dunyo!"

Bu videoda men sizga kichik 0.91 (128x32) va 0.96 (128x64) I2C OLED -displeylardan qanday boshlashni ko'rsataman.

Internetda bir xil narsani turli yo'llar bilan tushuntirib beradigan 100 ta o'quv qo'llanmalari bor, lekin men OLED displeyi va uni har xil stsenariylarda qanday ishlatish haqida to'liq ma'lumot beradigan topa olmadim. Hammasini hal qilish uchun menga biroz vaqt kerak bo'ldi. Shunday qilib, men o'rganganlarim bo'yicha darslik yaratishim va OLED -displeylarni loyihalarimizda ishlatishning barcha imkoniyatlari va usullarini birlashtirish kerak deb o'yladim.

1 -qadam: Bugun biz o'rganmoqchi bo'lgan narsalar

Uskuna talablari
Uskuna talablari

Bu videoda biz gaplashamiz:

- OLED displey nima?

- Keyin biz 0.91 (128x32) va 0.96 (128x64) I2C OLED displeylarini batafsil ko'rib chiqamiz.

- Keyin Adafruit kutubxonasini Arduino IDE -ga o'rnatish haqida gaplashamiz

- Keyin biz NodeMCU va Arduino -ni OLED -displeyga ulaymiz

- Keyin biz kodni ko'rib chiqamiz va undagi grafikalar va matnlarni ko'rsatamiz

- Shuningdek, biz maxsus shriftlarni qo'llash va rasmlarni ko'rsatish haqida gaplashamiz

- Keyin I2C Multiplexer yordamida bir nechta OLED-larni mikro-boshqaruvchiga ulaymiz

Nihoyat, biz OLED -displeylardan foydalanishda odamlarning ko'p uchraydigan xatolari haqida gaplashamiz

2 -qadam: Uskuna talablari

Bu darslik uchun bizga kerak:

- Non paneli

- 0,91 dyuymli (128x32) va 0,96 dyuymli (128x64) I2C OLED displeylari

- Arduino UNO/NANO (nima qulay bo'lsa)

- NodeMCU

- TCA9548A I2C multipleksor

- Bir nechta ulanish kabellari

- va kodni yuklash uchun USB kabeli

3 -qadam: OLED -displey nima?

OLED displey nima?
OLED displey nima?
OLED displey nima?
OLED displey nima?

OLED yoki organik nurli diod-bu yorug'lik chiqaruvchi

diod (LED), unda emissiv elektroluminestsent qatlam - bu elektr tokiga javoban yorug'lik chiqaradigan organik birikma (millionlab kichik LED chiroqlar) plyonkasi.

OLED-lar televizor ekranlari, kompyuter monitorlari, mobil telefonlar, qo'lda o'yin pristavkalari va PDA kabi portativ tizimlar kabi qurilmalarda raqamli displeylarni yaratish uchun ishlatiladi. OLED -displey orqa yorug'liksiz ishlaydi, chunki u ko'rinadigan nur chiqaradi.

4 -qadam:

Rasm
Rasm

OLED -displeylarning ko'p turlari mavjud

ularga asoslangan bozor

- O'lchamlari

- Rang

- Brendlar

- Protokol

- SPI (Serial periferik interfeys) yoki I2C

-Passiv matritsa (PMOLED) yoki faol matritsa (AMOLED) boshqaruv sxemasi

Ushbu qo'llanmada men ulanish haqida gaplashmoqchiman

ko'k rang 0,91 (128x32 OLED) va 0,96 (128x64 OLED) I2C OLDE Arduino NANO va NodeMCU -da aks etadi. I2C avtobus texnologiyasi MCU -ning atigi 2 ta pinidan foydalanadi, shuning uchun bizda boshqa sensorlar uchun uyalar mavjud.

5 -qadam: Yaqindan qarash

Yaqinroq qarash
Yaqinroq qarash
Yaqinroq qarash
Yaqinroq qarash
Yaqinroq qarash
Yaqinroq qarash

Keling, bu ikkita displeyni yaqinroq ko'rib chiqaylik.

Ushbu displeylarning orqa tomonida bortda lehimli SMD kondensatorlari va rezistorlar to'plangan; lekin, uning I2C qurilmasi bo'lgani uchun, biz faqat bu 2 pin haqida g'amxo'rlik qilamiz (SCL va SDA)

Displey Arduino -ga faqat to'rtta sim yordamida ulanadi - ikkitasi quvvat uchun (VCC va GND) va ikkitasi ma'lumot uchun (ketma -ket SCL va

ketma -ket ma'lumotlar SDA), simni juda oddiy qiladi. Ma'lumot ulanishi I2C (I²C, IIC yoki Inter-Integrated Circuit) va bu interfeys TWI (Ikki simli interfeys) deb ham ataladi.

Bort pinlari har xil tartibda bo'lishi mumkin, shuning uchun uni loyihangizga ulashdan oldin har doim uch marta tekshiring.

- Ishlash voltaji 3v dan 5V gacha, lekin ishlab chiqaruvchining ma'lumotlar jadvalidagi ko'rsatmalarni qo'llash yaxshidir.

- Ba'zida biz loyihalarimizda 2 ta displeydan foydalanishimiz kerak bo'ladi. Xo'sh, bunga qanday erishishimiz mumkin?

Hiyla shundaki, displeyda sozlanishi manzil bo'lishi kerak. Bu qurilma 0x78 va 0x7A oralig'ida sozlanadigan manzilga ega. 0Ohm rezistorini bir tomondan ajratib, boshqa tarafga yopishtirib yoki global lehim qo'yish orqali biz manzilni o'zgartirishimiz mumkin. Bu qo'llanmaning keyingi qismida Arduino -ga bir nechta displeylarni ulashda biz bu haqda batafsil gaplashamiz.

Rasmda bu displeylar juda katta ko'rinadi. Ammo, amalda, ular kichkina. Ular 128 x 32/64 individual OLED piksellaridan tayyorlangan va orqa nuri talab qilinmaydi. Buni ko'rib chiqing va qanchalik kichikligini ko'ring. Kichik bo'lishiga qaramay, ular har qanday elektron loyihalarda juda foydali bo'lishi mumkin.

6 -qadam: kutubxona

Kutubxona
Kutubxona
Kutubxona
Kutubxona
Kutubxona
Kutubxona

Ularni boshqarish uchun bir nechta kutubxonalar mavjud

ko'rsatadi. Ilgari men "u8glib kutubxonasi" dan foydalanganman, lekin men AdaFruit kutubxonasini loyihalarimizda tushunish va ulardan foydalanish juda oson deb bilaman. Shunday qilib, men ushbu qo'llanmada AdaFruit kutubxonasidan foydalanmoqchiman.

OLED displeyini boshqarish uchun sizga "adafruit_GFX.h" kutubxonasi va "adafruit_SSD1306.h" kutubxonasi kerak bo'ladi.

Kutubxonani Arduino IDE -ga yuklab olish va o'rnatishning ikkita usuli bor.

1 -usul

"Kutubxona menejeri" ga o'ting va "adafruit_SSD1306" va "adafruit_gfx" ni qidiring.

Oxirgi versiyani tanlang va O'rnatish tugmasini bosing.

O'rnatilgandan so'ng, siz ushbu kutubxonalarni dasturingizda ishlatishingiz mumkin.

2 -usul

Bu ikkita kutubxonani github -dan ham yuklab olish mumkin (ikkalasiga ham kerak):

Men quyidagi tavsifdagi havolalarni beraman.

Ko'rgazma kutubxonasi:

GFX kutubxonasi:

Yuklab olingandan so'ng, yuklangan ziplangan fayldan Adafruit_SSD1306-master papkasini Arduino kutubxonalari papkasiga nusxalash. Bu papka odatda Windows tizimidagi Hujjatlar> Arduino> kutubxonalarida joylashgan. Linuxda u odatda uy papkasi> Arduino> kutubxonalarida joylashgan. Nihoyat, Arduino kutubxonasi papkasida Adafruit_SSD1306-master papkasini Adafruit_SSD1306 deb o'zgartiring. Agar siz qayta nomlamasangiz ham, bu yaxshi.

7 -qadam:

Rasm
Rasm

Keling, "Adafruit_SSD1306.h" ni ko'rib chiqaylik.

fayl

Bu kutubxonada bilishimiz kerak bo'lgan ikkita narsa:

1. Agar siz kichikroq displeydan foydalanmoqchi bo'lsangiz, standart 128_32 -ni ishlating, aks holda kattaroq displey uchun 128_32 -ga sharh bering va 128_64 -ga izoh qoldiring.

2. Agar siz bortda 0x7A manzilini lehimlagan bo'lsangiz (bu haqda keyinroq gaplashamiz), katta displeylar uchun 7 bitli 0x3D manzilidan foydalaning, aks holda standart 0x3C manzilidan foydalaning. Kichikroq displeylar uchun manzil - 0x3C.

8 -qadam: 128 X 64/32 OLED -ni ulash

Ulanish 128 X 64/32 OLED
Ulanish 128 X 64/32 OLED

NodeMCU -ni displeyga ulashdan boshlaylik.

E'tibor qilish kerak bo'lgan birinchi va eng muhim narsa shundaki, ba'zi displeylarda GND va VCC quvvat pinlari almashtirilishi mumkin. Tasvir bilan bir xil ekanligiga ishonch hosil qilish uchun displeyni tekshiring. Agar pinlar almashtirilsa, Arduino yoki NodeMCU ulanishlarini o'zgartirganingizga ishonch hosil qiling.

- NodeMCU OLED simlari

OLED VCC - NodeMCU 3.3V

OLED GND - NodeMCU GND

OLED SCL - NodeMCU D1

OLED SDA - NodeMCU D2

- Arduino Uno OLED simlari

OLED VCC - Arduino 5V

OLED GND - Arduino GND

OLED SCL - Arduino Uno A5

OLED SDA - Arduino Uno A4

- Arduino MEGA 2560 OLED simlari

OLED VCC - Arduino 5V

OLED GND - Arduino GND

OLED SCL - Arduino MEGA 2560 pin 21

OLED SDA - Arduino MEGA 2560 pin 20

9 -qadam: kod

Kod
Kod
Kod
Kod
Kod
Kod
Kod
Kod

Adafruit kutubxonasi ikkalasi uchun ham yaxshi misollar bilan ta'minlangan

128x32 va 128x64 displeylar.

Kutubxona Fayl> Misollar> Adafruit SSD1306> ostida va keyin Arduino IDE -dagi displey turi ostida joylashgan.

Biz 128x32 I2C misolidan foydalanamiz va uni 128x64 va 128x32 displeylar bilan ishlash uchun o'zgartiramiz, uni Arduino -ga, so'ngra NodeMCU kartasiga ulab olamiz.

Kod ikkala Adafruit kutubxonasini ham o'z ichiga oladi. Ushbu qo'llanmada men kodni faqat taxtalarga va displeylarga yuklashimiz uchun zarur bo'lgan qismlarini ta'kidlayman. Agar siz kod haqida ko'proq bilmoqchi bo'lsangiz, iltimos, mening blogimga yoki quyidagi izohlar bo'limiga sharh qoldiring va men sizga qaytishga harakat qilaman.

- Avval biz kodni 128x32 displeyga ulangan Arduino Nano -ga yuklaymiz.

Biz kodni hech qanday o'zgarishsiz ishlatishimiz mumkin.

128x32 0x3C manzilidan foydalanadi, shuning uchun bu erda hamma narsa yaxshi ko'rinadi, sarlavha kutubxonasini ikki marta tekshirishga imkon beradi, ha, u ham 0x3C manzilidan foydalanadi va displey turi 128x32.

- Endi 128x64 displeyni ulashga ruxsat bering. Ma'lumki, u 0x3C manzilini sukut bo'yicha ishlatadi, shuning uchun manzilni na kodda, na kutubxonada yangilashimiz shart emas.

Bizga faqat sarlavhalar kutubxonasida 128_32 -ni sharhlash va 128_64 -ni o'chirish va kodimizdagi LCDHEIGHT -ni 64 -ga o'zgartirish kerak.

- Endi NodeMCU -da bir xil kodni ishga tushirish uchun biz kodimizning yana bir qatorini o'zgartirishimiz kerak.

"#Define OLED_RESET 4"> "#deleine OLED_RESET LED_BUILTIN" kodining qolgan qismi Arduino bilan bir xil.

Oldingi ekranni tozalashimiz kerak bo'lgan hamma narsani ko'rsatish uchun juda ko'p

display.clearDisplay (); // Buferni tozalash

Keyin ob'ektni chizish

test chizig'i (); // Chiziq chizish

Buni uskunada ko'rsating

display.display (); // Ularni displey uskunasida ko'rinadigan qilib qo'ying!

Keyingi elementni ko'rsatish uchun biroz kuting.

kechikish (2000); // 2 soniya kuting

Bu misolda biz matn, chiziqlar, doiralar, aylantiruvchi matn, uchburchaklar va boshqalar kabi bir nechta elementlarni ko'rsatamiz. Davom eting va tasavvuringizdan foydalaning va xohlagan narsani bu kichik displeylarda namoyish eting.

10 -qadam: Matnni sozlash va rasm qo'shish

Matnni sozlash va rasm qo'shish
Matnni sozlash va rasm qo'shish
Matnni sozlash va rasm qo'shish
Matnni sozlash va rasm qo'shish
Matnni sozlash va rasm qo'shish
Matnni sozlash va rasm qo'shish

Ba'zan sizning kodingiz maxsus shriftlarni ko'rsatishi kerak

tasvirlar. Agar siz bitlarni xaritalashda juda yaxshi bo'lsangiz, maxsus shriftlar va tasvirlarni yaratish uchun displeyning kichik LEDlarini yoqish yoki o'chirish orqali bayt massivlarini yaratish kifoya.

Biroq, men bu xaritalarni tuzishda unchalik yaxshi emasman va bitli xaritalar jadvallarini yaratish uchun ko'p vaqt sarflashni xohlamayman.

Xo'sh, mening variantlarim qanday? Men odatda ikkita shrift va rasm yaratish uchun ikkita veb -saytdan foydalanaman. Havolalar quyidagi tavsifda keltirilgan.

Maxsus shriftlar

Shrift konvertori veb -saytiga o'ting, "Adafruit GFX shrift" sifatida shriftlar oilasini, uslubini, hajmini, kutubxona versiyasini tanlang va "Yaratish" tugmasini bosing. Sahifaning o'ng tomonida siz shriftingiz haqiqiy displeyda qanday ko'rinishini ko'rishingiz mumkin.

Sizning tanlovingiz asosida veb -sahifa shriftlar sarlavhasi faylini yaratadi. Sizning kodingiz joylashgan papkada "modified_font.h" nomli fayl yarating va yaratilgan kodni nusxa ko'chiring va saqlang. Keyin maxsus shriftdan foydalanish uchun kodingizga sarlavha faylini kiritishingiz kifoya.

#"modified_font.h" ni qo'shing

So'ngra, matnni ko'rsatishdan oldin shriftni sozlash kerak, shunda unga maxsus shrift qo'llaniladi.

display.setFont (& Sizning_Fonts_Nomingiz);

Siz shrift nomini loyihangizga yangi qo'shilgan sarlavha faylidan olishingiz mumkin. Mana, oson.

Maxsus shriftlardan foydalanganda xotira har doim tashvishga soladi, shuning uchun har doim xotira iste'mol qiladigan baytlarni hisobga oling. Esda tutingki, Arduino UNO faqat 32K xotiraga ega.

Maxsus rasmlar

Bitmap tasvirini ekranga chiqarish uchun avval 128 x 64/32 o'lchamdagi tasvirni yaratish kerak.

Men eski MS MS Paint -dan 128 x 64 bitli tasvirni yaratish uchun foydalanmoqdaman, keyin uni tasvirni konvertor veb -saytiga yuklayman. Veb-sayt tasvirlarni Arduino va OLED displeylarida ishlatilishi mumkin bo'lgan baytlar qatoriga o'zgartiradi.

Veb -saytga rasm yuklashdan boshlang. Keyin "Tasvir ranglarini o'zgartirish" katagiga belgi qo'ying va "Chiqish kodi formatini" "Arduino kodi" ga o'zgartiring, so'ng yo'nalishni tanlang va baytlar qatorini yaratish uchun "Kod yaratish" tugmasini bosing. "Ko'rib chiqish" bo'limi sizning tasviringiz haqiqiy displeyda qanday ko'rinishini ko'rsatadi.

Men o'z rasmlarimni ko'rsatish uchun foydalanishingiz mumkin bo'lgan ushbu qo'llanma bilan kodni qo'shdim. Siz faqat mening kodimdagi qatorni yangi yaratganingiz bilan almashtirishingiz va keyin uni Arduino -ga yuklashingiz kerak.

11 -qadam: 2 ta displeyni ulash

2 displeyni ulash
2 displeyni ulash
2 displeyni ulash
2 displeyni ulash

128 x 64 o'lchamdagi ikkita displeyni loyihangizga ulash oson.

Siz faqat 0x78 manzilidan 0Ohm rezistorini ajratib, uni 0x7A ga qo'yishingiz va kodingizda standart 0x3C o'rniga 0x3D manzilidan foydalanishingiz kerak.

Siz nima uchun haqiqiy 0x78 va 0x7A emas, balki 0x3C va 0x3D manzilidan foydalanayotganimizni qiziqtirgan bo'lishingiz kerak. Arduino 8-bitli apparat manzillarini emas, balki 7-bitli manzilni qabul qiladi. Shunday qilib, biz birinchi navbatda 8-bitli manzilni ikkilikka aylantirishimiz kerak, so'ngra 7 bitni olish uchun eng muhim bitni kesib tashlashimiz kerak. Keyin kodingizga kiritgan 0x3C yoki 0x3D manzillarini olish uchun 7 bitni HEX ga o'zgartiring.

Birinchidan, displeyni o'ziga xos nom berish orqali ishga tushiring:

Adafruit_SSD1306 displey1 (OLED_REST);

Adafruit_SSD1306 displey2 (OLED_REST);

Keyin kodingizda 1 va 2 displeyidan foydalanib, qurilmaning manzillari ko'rsatilgan boshlang'ich so'zlarini chaqiring:

display1.begin (SSD1306_SWITCHCAPVCC, 0x3C); // 0x3C 1 ta manzilni ko'rsatish

display2.begin (SSD1306_SWITCHCAPVCC, 0x3D); // 2 ta 0x3D manzilni ko'rsatish

Hammasi shu, endi siz kodning qolgan qismida Display 1 yoki Display 2 yordamida xohlagan narsani qilishingiz mumkin. Men bu qo'llanmada misol keltirdim.

Ulanish biz qilgan ishlarga o'xshaydi, faqat Arduino yoki NodeMCU bir xil I2C pinlariga boshqa displey qo'shish kerak. Manzillarga asoslanib, MCU keyinchalik ma'lumotlarni I2C ma'lumotlar liniyasiga yuboradi.

12 -qadam: 2 dan ortiq displeyni ulash

2 dan ortiq displeyni ulash
2 dan ortiq displeyni ulash
2 dan ortiq displeyni ulash
2 dan ortiq displeyni ulash
2 dan ortiq displeyni ulash
2 dan ortiq displeyni ulash

Xo'sh, agar siz 2 dan ortiq displeyni ulashni xohlasangiz nima bo'ladi?

Arduino -da cheklangan miqdordagi pim bor, shuning uchun siz unga ma'lum miqdordagi qalqonlarni bog'lay olmaysiz. Bundan tashqari, u faqat bitta I2C avtobusiga ega.

Xo'sh, qanday qilib 2 dan ortiq I2C displeyini Arduino -ga ulashimiz mumkin? Hiyla TCA9548 Multiplexer -dan foydalanishdir.

TCA9548 bitta mikrokontrolderga har bir sensorli sub-avtobusga yagona kanal tayinlash orqali bir xil yoki har xil I2C manzili bo'lgan "64 ta sensorlar" bilan aloqa o'rnatishga imkon beradi.

Ma'lumotni bir nechta qurilmalarga 2 ta sim orqali yuborish haqida gapirganda, biz ularni hal qilish yo'lini topamiz. Bu pochtachining bitta yo'lda kelishi va pochta paketlarini har xil uylarga tashlab yuborishi bilan bir xil, chunki ular ustida turli manzillar yozilgan.

Multiplexer mikro-boshqaruvchining 3V3, GND, SDA va SCL liniyalariga ulanadi. Qul sensorlar bortdagi sakkizta SCL/SDA qul portlaridan biriga ulangan. Kanallar TCA9548A I2C manzilini (0x70 {default} - 0x77), keyin kanal raqamini (0b00000001 - 0b10000000) yuborish orqali tanlanadi. Siz bir xil I2C manzilli 64 qismni boshqarish uchun 0x70-0x77 manzillarga birlashtirilgan 8 ta multipleksorni ulashingiz mumkin. A0, A1 va A2 uchta manzil bitlarini VIN -ga ulash orqali siz manzillarning har xil kombinatsiyasini olishingiz mumkin. Men buni TCA9548A sindiruvchi taxtasidagi keyingi darsimda batafsil tushuntiraman. Hozircha, bu taxtaga 8 ta OLED -ni ulash va kodni tezda ko'rib chiqish imkonini beradi.

Ulanish:

VIN - 5V (yoki 3.3V)

GND erga

SCL - I2C soatlari

SDA - I2C ma'lumotlari

Keyin sensorlarni VIN, GND ga ulang va SCn / SDn multipleksli avtobuslaridan birini ishlating

Endi Int kodi "Wire" kutubxonasini qo'shish va multipleksorlarning manzilini aniqlash bilan boshlanadi.

#"Wire.h" ni qo'shing

#qo'shing

#dex MUX_Address 0x70 // TCA9548A Encoders manzilini aniqlang

Keyin biz aloqa qilmoqchi bo'lgan portni tanlashimiz va undagi ma'lumotlarni ushbu funktsiyadan foydalanib yuborishimiz kerak:

void tcaselect (uint8_t i) {

agar (i> 7) qaytsa;

Wire.beginTransmission (MUX_Address);

Wire.write (1 << i);

Wire.endTransmission ();

}

Keyin "u8g.begin ();" deb qo'ng'iroq qilib, sozlash bo'limidagi displeyni ishga tushiramiz. MUX ga biriktirilgan har bir displey uchun "tcaselect (i);"

Boshlangandan so'ng, biz "tcaselect (i);" funktsiyasini chaqirib, xohlagan narsani qilishimiz mumkin. bu erda "i" - multipleksli avtobusning qiymati, so'ngra ma'lumot va soatni mos ravishda yuboradi.

13 -qadam: afzalliklari va kamchiliklari

Afzalliklari va kamchiliklari
Afzalliklari va kamchiliklari

OLED tasviri juda chiroyli. Biroq, OLED -lar ham bor

kamchiliklar. OLED ekranlarida organik materiallar bo'lgani uchun ularning ishlash muddati LCD displeylarga qaraganda qisqaroq. Bundan tashqari, ko'plab OLED-displeylar bir xil tasvirni uzoq vaqt ko'rsatgandan so'ng yonib ketadi. Yonishdan so'ng, tasvir boshqa tasvirni ko'rsatgandan keyin ham ekranda qoladi. Shunday qilib, ekranni bir necha soniyada yangilab turishga ishonch hosil qiling. Suv bu displeylarning organik materiallariga bir zumda zarar etkazishi mumkin.

Afzalliklar

Orqa nuri kerak emas

Displeylar juda nozik va engil

Kam quvvat sarfi

Ko'rish burchagi LCD displeylarga qaraganda kengroq

Yorqinlik va kontrast ajoyib

Yuqori tezlik va past javob vaqti

Chuqur qora rang

Kamchiliklari

Qimmatbaho texnologiya

Qisqa hayot aylanishi

OLEDS yonishi ehtimoli ko'proq

Suvning shikastlanishi

14 -qadam: Umumiy xatolar

Umumiy xatolar
Umumiy xatolar

O'quv mashg'ulotini yakunlash uchun bir nechta keng tarqalgan xatolar haqida gapiraylik

Odamlar ushbu displeylardan foydalanish paytida:

- Loyihangizda ishlatishdan oldin, pinlarni har doim uch marta tekshiring

- Sarlavha fayli va kodingizda to'g'ri kutubxona manzilini tanlang

#Define SSD1306_I2C_ADDRESS 0x3C // in Adafruit_SSD1306.h

va

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // kodingizda

Agar manzil noto'g'ri bo'lsa, OLED hech narsani ko'rsatmaydi

- Ishlatishdan oldin drayverda displey hajmini o'zgartirish kerak. Agar u o'zgartirilmasa, siz kodni tekshirishga urinayotganingizda xato xabari olasiz

#error ("Balandligi noto'g'ri, iltimos Adafruit_SSD1306.h tuzating!");

- Agar NodeMCU -dan foydalansangiz, OLED_RESET -ni 4 -dan LED_BUILTIN -ga o'zgartirganingizga ishonch hosil qiling.

#OLED_RESET LED_BUILTIN ni aniqlang

Menda OLED -displey yordamida har xil narsalarni qiladigan sahna odamlari bor. Ba'zilar hatto video o'yinlar ham qilishdi. Menga bu kichkina displey yordamida video o'yin qilish qiziqmaydi. Ammo, men hozir sizni hayollaringizni kashf qilish va ajoyib g'oyalar bilan chiqish uchun qoldiraman.

15 -qadam: havolalar

- Blog:

- Rasm qo'shing:

- Maxsus matn:

- Adafruit ko'rgazma kutubxonasi:

-Adafruit GFX kutubxonasi:

- u8glib kutubxonasi: https://code.google.com/archive/p/u8glib/ yoki

Agar siz kichikroq displeydan foydalanmoqchi bo'lsangiz, standart 128_32 -ni ishlating, aks holda kattaroq displeyda 128_32 -ga sharh yozing va kodingizdagi 128X64 NO_ACK -ni qoldiring (faqat siz ishlatayotgan ekran turini belgilang) (shriftlar shriftlar kutubxonasida)

Tavsiya: