Mundarija:
- 1 -qadam: Ushbu loyiha uchun bizga nima kerak
- 2 -qadam: O'chirish davri
- 3 -qadam: O'chirish panelining versiyasi
- 4 -qadam: Shriftni yuklash
- 5 -qadam: Qo'shimcha haydovchilarni qo'shish
- 6 -qadam: Qurilmalarni sozlash
- 7 -qadam: Belgilarni aniqlang va gorizontal va vertikal chiziqlar chizing
- 8 -qadam: qutilar, bloklar va qiyalik chiziqlar
- 9 -qadam: daraja belgisi, o'lchov, chiziqli grafik va doira
- 10 -qadam: axlat yig'ish, sarlavhalar va doiralar
- 11 -qadam: Lines Demo
- 12 -qadam: Asosiy halqa: chiziqli grafik va belgilangan belgilar
Video: Itybitsy M4 Express yordamida SSD1306 I2C OLED 128x64 displeyidagi CircuitPython grafikasi: 13 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
SSD1306 OLED -displeyi - kichik (0,96 dyuym), arzon, keng tarqalgan, I2C, monoxromli grafik displey, 128x64 pikselli, u Raspberry Pi, Arduino yoki Adafruit Itsybitsy M4 kabi mikroprotsessorlarni ishlab chiqarish platalariga osonlik bilan ulanadi (atigi 4 simli). Express, CircuitPlayground Express yoki boshqa CircuitPython qurilmalari. Haydovchilarni Internetdan yuklab olish mumkin.
Arduinos uchun grafik tartiblar bir muncha vaqtdan beri mavjud, ammo boshqa ishlab chiqish tizimlari uchun emas.
Qurilmaning asosiy drayverlari foydalanuvchilarga:
- Ekranni qora yoki oq rangga tozalang. oled.fill (c)
- Oled.text ("Matn", x, y, c) ko'rsatilgan (x, y) pozitsiyada ekranga matnli satr yozing.
- Belgilangan (x, y) pozitsiyada nuqta chizish oled.pixel (x, y, c)
- Rasmli faylni ekranga yuklang. (Bu loyihada ishlatilmagan)
- Oled.show () displeyini yangilang
Bu ko'rsatma oddiy protseduralar yordamida interaktiv tarzda qanday chizish kerakligini ko'rsatadi.
- chiziqlar
- doiralar
- ichi bo'sh qutilar
- qattiq bloklar
- oldindan belgilangan belgilar
Men usullarni ko'rsatish uchun Adafruit Itsybitsy M4 Express -dan foydalanaman, lekin Python -dagi kodni boshqa rivojlanish tizimlariga osongina ko'chirish mumkin.
Men bu namoyish uchun Itsybitsy M4 ni tanladim, chunki u arzon, kuchli, dasturlash oson, analog va raqamli kirish/chiqishni o'z ichiga oladi, xotirasi ko'p, Internetda hujjatlar va yordam forumlarini osongina joylashtiradi, dastlab o'rnatish juda oson. va kodlashni yangi biluvchilar uchun ideal Python versiyasi bo'lgan CircuitPython -ni qo'llab -quvvatlaydi.
Itsybitsy va SSD1306 -ni o'rnatganingizdan so'ng, bu juda oddiy non paneli. Yozish yo'q, barcha fayllarni yuklab olish mumkin.
Bu arzon va oson loyiha, lekin ba'zi oraliq/ilg'or g'oyalarni taqdim etadi. Umid qilamanki, siz buni sinab ko'rasiz. Menga bu kichik displeydan taassurot qoldirdi.
1 -qadam: Ushbu loyiha uchun bizga nima kerak
Uskuna:
- SSD1306 I2C mono displeyi 128x64 piksel
- Itybitsy M4 Express
- microUSB -dan USB -kabel - kartani dasturlash uchun
- Non paneli
- 1 10K Ohm potentsiometr
- 1 tugmachali kalit
- ulash simlari - har xil ranglar yordam berishi mumkin
- Kompyuter (kodni yozish va yuklash uchun) - juda eski noutbuk bo'ladi.
Dasturiy ta'minot:
Mu muharriri - kod yozish va skriptni Itsybitsy -ga yuklash uchun
Itsybitsy-ni sozlash bu erda tushuntiriladi:
CircuitPython -ning so'nggi versiyasi:
CircuitPython kutubxonalari:
Mu muharriri:
2 -qadam: O'chirish davri
Bu o'rnatish uchun juda oddiy sxema. Keyingi sahifada ishni soddalashtirish uchun rangli simli tayyor non paneli tasvirlangan.
3 -qadam: O'chirish panelining versiyasi
Non panelining yuqori va pastki qismida elektr rayı bor. Qizil sim bilan +ve relslarini birlashtiring. Qora sim bilan -ve relslarini birlashtiring.
Itsybitsy -ning 3V pinini pastki +temir yo'lga ulang - qizil sim. (12 -ustun)
Itsybitsy -ning G (GND) pinini yuqori temir yo'lga - qora simga ulang. (12 -ustun)
33 va 34 -ustunlarda SSD1306 VCC va GND pinlarini yuqori quvvat relslariga ulang.
Pushti sim bilan SCL pinlarini bir -biriga ulang.
Kulrang sim bilan SDA pinlarini birlashtiring.
Qizil va qora simlar yordamida potentsiometrning tashqi pimlarini yuqori quvvat relslariga, yashil sim bilan esa Itybitsy -dagi markaziy (o'chirgich) pinini A5 ga ulang.
Tugmachaning bir tomonini binafsha rangli sim bilan 2 -pinga, qora sim bilan esa boshqa tomonini GND rayiga ulang.
4 -qadam: Shriftni yuklash
Shrift faylini yuklab oling va uni CIRCUITPY diskiga torting. (Bu Ititsibitsiya.)
Lib papkasini ikki marta bosing va yuklagan drayverlar ro'yxatini ko'ring.
5 -qadam: Qo'shimcha haydovchilarni qo'shish
Lib papkasida sizga quyidagilar kerak bo'ladi:
- oddiy_mpy
- adafruit_bus_device
- adafruit_framebuf.mpy
- adafruit_ssd1306.mpy
Agar ular etishmayotgan bo'lsa, ularni mavjud bo'lgan so'nggi versiyadan papkaga torting.
Siz hozir skriptni yuklab olishga tayyormiz.
Mu muharririga yuklangandan so'ng, uni main.py nomi bilan Itybitsy -ga saqlashingiz mumkin.
Dastur chiziqlar, doiralar, dinamik chiziqli grafikalar va belgilangan belgilarni namoyish qilish orqali o'tadi. Idishni sekin aylantiring va displeyni boshqarish uchun tugmani bosib turing.
Keyingi sahifalarda dastur qanday ishlashi haqida ko'proq ma'lumot berilgan.
6 -qadam: Qurilmalarni sozlash
Bu birinchi bo'lim barcha kutubxonalarni yuklaydi va SSD1306, potansiyometr va tugmachalarni to'g'ri pinlarni o'rnatadi.
7 -qadam: Belgilarni aniqlang va gorizontal va vertikal chiziqlar chizing
Bu bo'limda oldindan belgilangan belgilar o'rnatiladi. Ularning kengligi 5 va balandligi 8 nuqta. Ta'rifdagi har bir nuqta ekranda 4 nuqta chizadi, shunda ular yaxshiroq ko'rinadi.
Gorizontal va vertikal chiziqlarni pastadir yordamida chizish oson. Shuni esda tutish kerakki, oxirida qo'shimcha nuqta kerak. (0, 7) dan (5, 7) gacha bo'lgan chiziqqa 6 nuqta kerak bo'ladi: x o'z navbatida 0, 1, 2, 3, 4 va 5 ga teng.
Asosiy nuqta buyrug'i oled.pixel (x, y, color) - 0 qora va 1 oq.
Manba (0, 0) ekranning yuqori chap burchagida, 0 - 127 piksel gorizontal (chapdan o'ngga) va 0 - 63 vertikal (yuqoridan pastgacha).
8 -qadam: qutilar, bloklar va qiyalik chiziqlar
Qutilar gorizontal va vertikal chiziqlardan qurilgan.
Bloklar bir nechta gorizontal chiziqlardan qurilgan.
Nishabli chiziqlar uchun biz birinchi navbatda koordinatalarning chap tomonda berilganligini tekshiramiz. Aks holda, biz ularni almashtiramiz, chunki chiziq chapdan o'ngga o'tadi.
Keyin biz qiyalikni hisoblaymiz va undan foydalanib, x ning har bir qiymati uchun y qiymatini o'rnatamiz.
Displey (t) protsedurasi yangilangan ekranni ko'rinadigan qiladi va qisqa kechikish, t soniya kutadi.
9 -qadam: daraja belgisi, o'lchov, chiziqli grafik va doira
Daraja belgisi 4 pikseldan yaratilgan.
Align () tartibi belgilangan maydonda qisqa qiymatlarni o'ng tomonga tekislash uchun raqam oldiga qo'shimcha bo'sh joylar qo'shadi.
(V) grafigi tanlangan foizni ko'rsatuvchi gorizontal chiziq chizig'ini chizadi. Qiymat o'ng tomonda "T" harfi bilan yoziladi, 100 (tonna yoki yuqori).
Davralar ba'zi trigonometriyani talab qiladi, shuning uchun skript boshida matematik kutubxonani import qilishimiz kerak. Biz markazdan x va y siljishlarini hisoblash uchun sin, cos va radianlardan foydalanamiz, chunki radius 90 gradusga buriladi. Har bir hisob -kitob uchun to'rtta kvadrantning har birida ballar belgilanadi.
10 -qadam: axlat yig'ish, sarlavhalar va doiralar
Bu ko'rsatmalar ekranni oq -qora rangda tozalashni, ekranga matn yozishni va bo'sh joy bo'shatish uchun gc () axlat yig'ish tartibidan foydalanishni ko'rsatadi. Qiymat shuni ko'rsatadiki, ancha katta skript uchun joy ko'p.
Keyin dastur umumiy markazli va harakatlanuvchi markazlari bo'lgan doiralarni chizadi. Kerakli hisoblash miqdorini hisobga olgan holda juda tez tartib.
Keyingi qatorda demo liniyasi yoziladi.
11 -qadam: Lines Demo
Bu tartib, albatta, line () tartibini mashq qiladi. Radial chiziqlar displeyning har to'rt burchagidan chizilgan bo'lib, ular orasidagi bo'shliqlar naqsh hosil qiladi.
12 -qadam: Asosiy halqa: chiziqli grafik va belgilangan belgilar
Bu dasturning asosiy tsikli. Potentsiometrdan olingan qiymatlar ko'rsatilgan qiymatlarni o'zgartiradi va chiziqli grafik uzunligini o'zgartiradi.
Agar tugmacha ushlab turilsa, belgilangan belgilar 1/0 va True/False kabi almashtiriladi. Bu pastadir juda sekin ishlaydi, chunki oldindan belgilangan belgilarni chizish sekin jarayon. Siz ulardan ba'zilariga izoh berish orqali ishni tezlashtirishingiz mumkin.
Bu demo oddiy bo'lishi uchun harorat sensori o'rnatilmagan, shuning uchun "?" 190 -qatorda qiymat o'rniga ko'rsatiladi.
Tavsiya:
Visuino yordamida SSD1331 OLED displeyidagi (SPI) bitmap animatsiyasi: 8 qadam
Visuino yordamida SSD1331 OLED -displeyidagi (SPI) bitmap animatsiyasi: Ushbu qo'llanmada biz Visuino yordamida SSD1331 OLED -displeyda (SPI) oddiy animatsiya ko'rinishida bitmap tasvirini ko'rsatamiz va uning atrofida harakat qilamiz. Videoni tomosha qiling
CircyPython Itybitsy M4 Express 1 bilan: O'rnatish: 9 qadam
CircyPython Itsybitsy M4 Express 1 bilan: O'rnatish: Kodlashda yangi emasmi? Faqat Scratch ishlatilgan va LEDlar, kalitlar, displeylar va datchiklar yordamida jismoniy hisoblashga oson kirishni ta'minlaydigan matnli tilga o'tishni xohlaysizmi? Keyin bu siz uchun bo'lishi mumkin. Men bu saytda ko'plab ko'rsatmalarni o'z ichiga olganini payqadim
Bar grafikasi va Atmega328p yordamida o'z qo'llaringiz bilan DIY harorat o'lchagichini qanday qilish kerak: 3 qadam (rasmlar bilan)
Bar grafikasi va Atmega328p yordamida maxsus DIY harorat o'lchagichini qanday yasash mumkin: Bu postda men sizga Bar Grafi yordamida harorat o'lchagichni qanday qilishni ko'rsataman. Atmega 328p. Post elektron diagrammasi kabi barcha ma'lumotlarni o'z ichiga oladi, tenglikni ishlab chiqarish, kodlash, yig'ish & Sinov. Men hammasini o'z ichiga olgan videoni qo'shdim
ATtiny85 va SSD1306 OLED displeyidagi Flappy Bird: 6 qadam (rasmlar bilan)
ATtiny85 va SSD1306 OLED -displeyidagi Flappy Bird: Hammaga salom, bugun men sizga yaratgan qushlarning asosiy klonini va shunga o'xshash o'yinni qanday qilish kerakligini ko'rsataman. Men siz bilan o'z kodimdan o'taman va u har qadamda qanday ishlashini tushuntiraman. Bu o'yin ru uchun qurilgan
Arduino yordamida P10 LED displeyidagi matnni ko'rsatish: 5 qadam (rasmlar bilan)
Matnni P10 LED displeyida Arduino yordamida ko'rsatish: Dotmatrix displeyi yoki tez -tez "ishlaydigan matn" deb nomlanadi, ko'pincha do'konlarda o'z mahsulotlarini reklama qilish vositasi sifatida topiladi, bu uning amaliy va moslashuvchanligi, bu esa tadbirkorlarni reklama tavsiyasi sifatida ishlatishga undaydi. Endi nuqta foydalanish