Mundarija:

Itybitsy M4 Express yordamida SSD1306 I2C OLED 128x64 displeyidagi CircuitPython grafikasi: 13 qadam (rasmlar bilan)
Itybitsy M4 Express yordamida SSD1306 I2C OLED 128x64 displeyidagi CircuitPython grafikasi: 13 qadam (rasmlar bilan)

Video: Itybitsy M4 Express yordamida SSD1306 I2C OLED 128x64 displeyidagi CircuitPython grafikasi: 13 qadam (rasmlar bilan)

Video: Itybitsy M4 Express yordamida SSD1306 I2C OLED 128x64 displeyidagi CircuitPython grafikasi: 13 qadam (rasmlar bilan)
Video: @adafruit #adafruit 2024, Iyul
Anonim
Itsybitsy M4 Express yordamida CircuitPython bilan SSD1306 I2C OLED 128x64 displeyidagi grafikalar
Itsybitsy M4 Express yordamida CircuitPython bilan SSD1306 I2C OLED 128x64 displeyidagi grafikalar

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

Bu loyiha uchun bizga nima kerak
Bu 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

O'chirish davri
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

O'chirish panelining versiyasi
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 yuklanmoqda
Shrift yuklanmoqda

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

Qo'shimcha haydovchilar qo'shiladi
Qo'shimcha haydovchilar qo'shiladi

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

Qurilmalarni sozlash
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

Belgilarni aniqlang va gorizontal va vertikal chiziqlar chizing
Belgilarni aniqlang va gorizontal va vertikal chiziqlar chizing
Belgilarni aniqlang va gorizontal va vertikal chiziqlar chizing
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, bloklar va qiyalik chiziqlar
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, o'lchov, chiziqli grafik va doira
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

Chiqindilarni yig'ish, sarlavhalar va doiralar
Chiqindilarni 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

Lines Demo
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

Asosiy halqa: chiziqli grafik va belgilangan belgilar
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: