Turinys:

Grafika SSD1306 I2C OLED 128x64 ekrane su „CircuitPython“naudojant „Itsybitsy M4 Express“: 13 žingsnių (su paveikslėliais)
Grafika SSD1306 I2C OLED 128x64 ekrane su „CircuitPython“naudojant „Itsybitsy M4 Express“: 13 žingsnių (su paveikslėliais)

Video: Grafika SSD1306 I2C OLED 128x64 ekrane su „CircuitPython“naudojant „Itsybitsy M4 Express“: 13 žingsnių (su paveikslėliais)

Video: Grafika SSD1306 I2C OLED 128x64 ekrane su „CircuitPython“naudojant „Itsybitsy M4 Express“: 13 žingsnių (su paveikslėliais)
Video: Работа с OLED дисплеем 2024, Lapkritis
Anonim
Grafika SSD1306 I2C OLED 128x64 ekrane su „CircuitPython“naudojant „Itsybitsy M4 Express“
Grafika SSD1306 I2C OLED 128x64 ekrane su „CircuitPython“naudojant „Itsybitsy M4 Express“

SSD1306 OLED ekranas yra mažas (0,96 colio), nebrangus, plačiai prieinamas, I2C, vienspalvis grafinis ekranas su 128x64 pikseliais, kuris lengvai sujungiamas (tik 4 laidai) su mikroprocesorių kūrimo plokštėmis, tokiomis kaip „Raspberry Pi“, „Arduino“ar „Adafruit Itsybitsy M4“„Express“, „CircuitPlayground Express“ar kiti „CircuitPython“įrenginiai. Tvarkykles galima atsisiųsti iš interneto.

Grafinė „Arduinos“tvarka buvo prieinama jau kurį laiką, bet ne kitoms kūrimo sistemoms.

Pagrindinės įrenginių tvarkyklės leidžia vartotojams:

  • Išvalykite ekraną iki juodos arba baltos spalvos. oled.fill (c)
  • Įrašykite teksto eilutę į ekraną nurodytoje (x, y) pozicijoje. Tekstas („Tekstas“, x, y, c)
  • Nubrėžkite tašką tam tikroje (x, y) padėtyje, kurioje esate. Pikselių (x, y, c)
  • Įkelkite paveikslėlio failą į ekraną. (Nenaudojama šiame projekte)
  • Atnaujinkite ekraną oled.show ()

Ši instrukcija paprastomis procedūromis parodys, kaip piešti, interaktyviai:

  • linijos
  • ratus
  • tuščiavidurės dėžės
  • kieti blokai
  • iš anksto apibrėžti simboliai

Metodams demonstruoti naudosiu „Adafruit Itsybitsy M4 Express“, tačiau „Python“kodą galima lengvai perkelti į kitas kūrimo sistemas.

Šiai demonstracijai pasirinkau „Itsybitsy M4“, nes ji yra nebrangi, galinga, lengvai programuojama, apima analoginę ir skaitmeninę įvestį/išvestį, turi daug atminties, lengvai talpina dokumentus ir pagalbos forumus internete, iš pradžių labai lengva nustatyti ir palaiko „CircuitPython“, „Python“versiją, idealiai tinkančią pradedantiesiems koduoti.

Nustatę „Itsybitsy“ir SSD1306, tai yra labai paprasta duonos lentos konstrukcija. Rašyti nereikia, visus failus galima atsisiųsti.

Tai nebrangus ir lengvai įgyvendinamas projektas, tačiau jame pateikiamos kai kurios tarpinės/pažangios idėjos. Tikiuosi, kad pabandysite. Buvau sužavėtas šiuo mažu ekranu.

1 žingsnis: ko mums reikia šiam projektui

Ko mums reikia šiam projektui
Ko mums reikia šiam projektui

Techninė įranga:

  • SSD1306 I2C monofoninis ekranas 128x64 pikselių
  • „Itsybitsy M4 Express“
  • „microUSB“į USB kabelį - programuoti plokštę
  • Bandomoji Lenta
  • 1 10 K omų potenciometras
  • 1 mygtuko jungiklis
  • jungiamasis laidas - gali padėti įvairios spalvos
  • Kompiuteris (kodui parašyti ir įkelti) - tiks labai senas nešiojamas kompiuteris.

Programinė įranga:

Mu redaktorius - kodo rašymui ir scenarijaus įkėlimui į „Itsybitsy“

„Itsybitsy“nustatymas paaiškinamas čia:

Naujausia „CircuitPython“versija:

„CircuitPython“bibliotekos:

Mu redaktorius:

2 žingsnis: grandinė

Circuit
Circuit

Tai labai paprasta grandinė, kurią reikia nustatyti. Kitas puslapis iliustruoja gatavą duonos lentą su spalvotais laidais, kad būtų lengviau.

3 žingsnis: „Breadboard“grandinės versija

„Breadboard“grandinės versija
„Breadboard“grandinės versija

Duonos lentos viršuje ir apačioje yra maitinimo bėgeliai. Su raudona viela sujunkite +ve bėgius. Su juoda viela sujunkite -ve bėgius kartu.

Prijunkite „Itsybitsy“3 V kaištį prie apatinio +ve bėgio - raudonos vielos. (12 stulpelis)

Prijunkite „Itsybitsy“G (GND) kaištį prie viršutinio bėgio - juodos vielos. (12 stulpelis)

33 ir 34 stulpeliuose prijunkite SSD1306 VCC ir GND kaiščius prie viršutinių maitinimo bėgių.

Su rožine viela sujunkite SCL kaiščius.

Pilka viela sujunkite SDA kaiščius.

Raudonais ir juodais laidais prijunkite išorinius potenciometro kaiščius prie viršutinių maitinimo bėgių, o žalia laidais prijunkite centrinį (valytuvo) kaištį prie „Itsybitsy“A5.

Vieną mygtuko jungiklio pusę purpurine viela prijunkite prie 2 kaiščio, o juodą laidą - kitą pusę prie GND bėgelio.

4 veiksmas: įkelkite šriftą

Įkeliamas šriftas
Įkeliamas šriftas

Atsisiųskite šrifto failą ir vilkite jį į CIRCUITPY diską. (Tai yra jos savybė.)

Dukart spustelėkite aplanką lib ir peržiūrėkite jau įkeltų tvarkyklių sąrašą.

5 veiksmas: papildomų tvarkyklių pridėjimas

Papildomų tvarkyklių pridėjimas
Papildomų tvarkyklių pridėjimas

„Lib“aplanke jums reikės:

  • simpleio.mpy
  • adafruit_bus_device
  • adafruit_framebuf.mpy
  • adafruit_ssd1306.mpy

Jei jų trūksta, vilkite juos į aplanką iš naujausios turimos versijos.

Dabar esate pasiruošę atsisiųsti scenarijų.

Įkėlę į „Mu“redaktorių, galite jį išsaugoti „Itsybitsy“pavadinimu main.py.

Programa vykdo eilutes, apskritimus, dinaminę juostinę diagramą ir parodo apibrėžtus simbolius. Tiesiog lėtai pasukite puodą ir paspauskite ir palaikykite mygtuką, kad valdytumėte ekraną.

Tolesniuose puslapiuose pateikiama daugiau informacijos apie programos veikimą.

6 veiksmas: nustatykite įrenginius

Nustatykite įrenginius
Nustatykite įrenginius

Šis pirmasis skyrius įkelia visas bibliotekas ir nustato tinkamus kaiščius SSD1306, potenciometrą ir mygtukų jungiklį.

7 žingsnis: apibrėžkite simbolius ir nubrėžkite horizontalias ir vertikalias linijas

Apibrėžkite simbolius ir nubrėžkite horizontalias ir vertikalias linijas
Apibrėžkite simbolius ir nubrėžkite horizontalias ir vertikalias linijas
Apibrėžkite simbolius ir nubrėžkite horizontalias ir vertikalias linijas
Apibrėžkite simbolius ir nubrėžkite horizontalias ir vertikalias linijas

Šiame skyriuje pateikiami iš anksto nustatyti simboliai. Jie yra 5 taškų pločio ir 8 taškų aukščio. Kiekvienas taškas apibrėžime piešia 4 taškus ekrane, kad jie būtų geriau rodomi.

Horizontalias ir vertikalias linijas lengva nubrėžti naudojant kilpą. Jūs tiesiog turite atsiminti, kad jums reikia papildomo taško pabaigoje. Linijai nuo (0, 7) iki (5, 7) reikės 6 taškų: x lygus 0, 1, 2, 3, 4 ir 5 paeiliui.

Pagrindinė taško komanda yra oled.pixel (x, y, color) - 0 yra juoda, o 1 - balta.

Šaltinis (0, 0) yra ekrano viršuje kairėje, 0–127 pikseliai horizontaliai (iš kairės į dešinę) ir 0–63 vertikaliai (iš viršaus į apačią).

8 žingsnis: Dėžės, blokai ir nuožulnios linijos

Dėžės, blokai ir nuožulnios linijos
Dėžės, blokai ir nuožulnios linijos

Dėžės yra pagamintos iš horizontalių ir vertikalių linijų.

Blokai yra sukurti iš kelių horizontalių linijų.

Nuožulnioms linijoms pirmiausia patikriname, ar pirmiausia nurodomos kairės koordinatės. Jei ne, mes juos keičiame, nes linija bus nubrėžta iš kairės į dešinę.

Tada apskaičiuojame nuolydį ir juo nustatome kiekvienos x reikšmės y reikšmę.

Atliekant (t) procedūrą, atnaujintas ekranas tampa matomas ir laukia trumpo vėlavimo, t sekundės.

9 žingsnis: laipsnio simbolis, anlgnmentas, juostinė diagrama ir apskritimas

Laipsnio simbolis, anlgnmentas, juostinė diagrama ir apskritimas
Laipsnio simbolis, anlgnmentas, juostinė diagrama ir apskritimas

Laipsnio simbolis sukurtas iš 4 pikselių.

Lyginimo () tvarka prideda papildomų tarpų prieš skaičių, kad dešinėje išlygintų trumpas vertes fiksuotoje erdvėje.

Diagramos (v) tvarka piešia horizontalią juostinę diagramą, nurodydama pasirinktą procentą. Vertė rašoma dešinėje pusėje, naudojant „T“, kad būtų nurodyta 100 (tona arba viršuje).

Apskritimams reikalinga tam tikra trigonometrija, todėl turime importuoti matematikos biblioteką scenarijaus pradžioje. Mes naudojame sin, cos ir radianus, kad apskaičiuotume x ir y poslinkius nuo centro, kai spindulys pasukamas 90 laipsnių kampu. Taškai pavaizduoti kiekviename iš keturių kvadrantų kiekvienam poslinkio skaičiavimui.

10 žingsnis: šiukšlių surinkimas, pavadinimai ir apskritimai

Šiukšlių surinkimas, pavadinimai ir apskritimai
Šiukšlių surinkimas, pavadinimai ir apskritimai

Šios instrukcijos rodo, kad ekranas tampa nespalvotas, rašomas tekstas į ekraną ir naudojama gc () „šiukšlių surinkimo“procedūra, skirta atlaisvinti vietos. Vertė rodo, kad yra daug vietos daug didesniam scenarijui.

Tada programa piešia apskritimus su bendru centru ir su judančiais centrais. Gana greita rutina, atsižvelgiant į reikalingą skaičiavimą.

Toliau parašyta eilučių demonstracinė antraštė.

11 veiksmas: linijų demonstracija

„Lines Demo“
„Lines Demo“

Ši rutina tikrai suteikia linijos () rutinai treniruotę. Radialinės linijos brėžiamos iš kiekvieno iš keturių ekrano kampų su skirtingais tarpais.

12 veiksmas: pagrindinė kilpa: juostinė diagrama ir apibrėžti simboliai

Pagrindinė kilpa: juostinė diagrama ir apibrėžti simboliai
Pagrindinė kilpa: juostinė diagrama ir apibrėžti simboliai

Tai yra pagrindinė programos kilpa. Potenciometro vertės keičia rodomas vertes ir keičia juostos diagramos ilgį.

Jei mygtukas laikomas nuspaustas, apibrėžti simboliai keičiami taip, kaip 1/0 ir tiesa/melas. Ši kilpa veikia gana lėtai, nes iš anksto apibrėžtų simbolių piešimas yra lėtas procesas. Galite paspartinti veiksmus, kai kuriuos iš jų pakomentuodami.

Nėra temperatūros jutiklio, kad ši demonstracija būtų paprasta, taigi „?“rodomas vietoj reikšmės 190 eilutėje.

Rekomenduojamas: