Përmbajtje:

Grafika në një ekran SSD1306 I2C OLED 128x64 me qark Python duke përdorur një Itsybitsy M4 Express: 13 hapa (me fotografi)
Grafika në një ekran SSD1306 I2C OLED 128x64 me qark Python duke përdorur një Itsybitsy M4 Express: 13 hapa (me fotografi)

Video: Grafika në një ekran SSD1306 I2C OLED 128x64 me qark Python duke përdorur një Itsybitsy M4 Express: 13 hapa (me fotografi)

Video: Grafika në një ekran SSD1306 I2C OLED 128x64 me qark Python duke përdorur një Itsybitsy M4 Express: 13 hapa (me fotografi)
Video: Полное руководство по МОП-транзистору AOD4184A 15 А, 400 Вт для управления двигателем или нагрузкой 2024, Nëntor
Anonim
Grafika në një ekran SSD1306 I2C OLED 128x64 me qark me Python duke përdorur një Itsybitsy M4 Express
Grafika në një ekran SSD1306 I2C OLED 128x64 me qark me Python duke përdorur një Itsybitsy M4 Express

Ekrani SSD1306 OLED është i vogël (0.96 ), i lirë, i disponueshëm gjerësisht, I2C, ekran grafik njëngjyrësh me 128x64 piksele, i cili ndërlidhet lehtësisht (vetëm 4 tela) me bordet e zhvillimit të mikroprocesorit si Raspberry Pi, Arduino ose Adafruit Itsybitsy M4 Express, CircuitPlayground Express ose pajisje të tjera CircuitPython. Drejtuesit mund të shkarkohen nga interneti.

Rutinat grafike për Arduinos kanë qenë në dispozicion për ca kohë, por jo për sistemet e tjera të zhvillimit.

Drejtuesit bazë të pajisjes lejojnë përdoruesit të:

  • Pastroni ekranin në të zezë ose të bardhë. mbushur. mbush (c)
  • Shkruani një varg teksti në ekran në një pozicion të caktuar (x, y) oled.text ("Text", x, y, c)
  • Vizatoni një pikë në një pozicion të caktuar (x, y) të zbardhur. Piksel (x, y, c)
  • Ngarko një skedar fotografie në ekran. (Nuk përdoret në këtë projekt)
  • Përditësoni ekranin oled.show ()

Ky udhëzues do të demonstrojë, me procedura të thjeshta, si të vizatoni, në mënyrë interaktive:

  • linjat
  • qarqet
  • kuti të zbrazëta
  • blloqe të ngurta
  • personazhe të paracaktuara

Unë do të përdor një Adafruit Itsybitsy M4 Express për të demonstruar metodat, por kodi, në Python, lehtë mund të transferohet në sisteme të tjera zhvillimi.

Zgjodha Itsybitsy M4 për këtë demonstrim sepse është i lirë, i fuqishëm, i lehtë për tu programuar, përfshin Hyrje/Dalje analoge dhe dixhitale, ka shumë memorie, ka vendosur lehtësisht dokumentacionin dhe ndihmon forume në internet, është shumë e lehtë për tu vendosur fillimisht dhe mbështet CircuitPython, një version i Python ideal për ata që janë të rinj në kodim.

Pasi të keni vendosur Itsybitsy dhe SSD1306, kjo është një ndërtesë shumë e thjeshtë e bukës. Nuk ka shtypje, të gjitha skedarët mund të shkarkohen.

Ky është një projekt i lirë dhe i lehtë për tu ndërtuar, por paraqet disa ide të ndërmjetme/të avancuara. Shpresoj se do ta provoni. Më bëri përshtypje kjo shfaqje e vogël.

Hapi 1: Çfarë na nevojitet për këtë projekt

Ajo që na nevojitet për këtë projekt
Ajo që na nevojitet për këtë projekt

Hardware:

  • Ekran mono SSD1306 I2C 128x64 piksele
  • Itsybitsy M4 Express
  • kabllo microUSB në USB - për të programuar bordin
  • Breadboard
  • 1 potenciometër 10K Ohm
  • Çelës 1 buton
  • tela lidhës - ngjyra të ndryshme mund të ndihmojnë
  • Kompjuter (për të shkruar kodin dhe ngarkuar atë) - një laptop shumë i vjetër do të bëjë.

Softuer:

Redaktori Mu - për shkrimin e kodit dhe ngarkimin e skenarit në Itsybitsy

Ngritja e Itsybitsy shpjegohet këtu:

Versioni i fundit i CircuitPython:

Bibliotekat CircuitPython:

Redaktori Mu:

Hapi 2: Qarku

Qarku
Qarku

Ky është një qark shumë i thjeshtë për tu vendosur. Faqja tjetër ilustron tabelën e gatshme të gatimit me tela me ngjyra për t'i bërë gjërat më të lehta.

Hapi 3: Versioni i Breadboard i Qarkut

Versioni i tabelës së bukës të qarkut
Versioni i tabelës së bukës të qarkut

Ka shina energjie në pjesën e sipërme dhe të poshtme të dërrasës së bukës. Me tela të kuq bashkoni binarët +ve së bashku. Me tela të zinj bashkoni binarët -ve së bashku.

Bashkoni pinin 3V të Itsybitsy në hekurudhën e poshtme +ve - tela të kuqe. (Kolona 12)

Bashkohuni me kunjin G (GND) të Itsybitsy në hekurudhën e sipërme - tela të zezë. (Kolona 12)

Në kolonat 33 dhe 34, lidhni kunjat SSD1306 VCC dhe GND me binarët e fuqisë së lartë.

Me një tel rozë bashkoni kunjat SCL së bashku.

Me një tel gri bashkoni kunjat SDA së bashku.

Me tela kuq e zi lidhni kunjat e jashtme të potenciometrit me binarët e fuqisë së sipërme dhe me tela të gjelbër lidhni kunjin qendror (fshirës) me A5 në Itsybitsy.

Lidhni njërën anë të ndërprerësit të butonave me një tel ngjyrë vjollce në kunjin 2 dhe me një tel të zi lidhni anën tjetër me një hekurudhë GND.

Hapi 4: Ngarkimi i Fontit

Po ngarkon Fontin
Po ngarkon Fontin

Shkarkoni skedarin e shkronjave dhe tërhiqeni atë në diskun CIRCUITPY. (Ky është Itsybitsy.)

Klikoni dy herë në dosjen lib dhe shikoni listën e drejtuesve që keni ngarkuar tashmë.

Hapi 5: Shtimi i drejtuesve shtesë

Shtimi i drejtuesve shtesë
Shtimi i drejtuesve shtesë

Ju do të keni nevojë për sa vijon në dosjen lib:

  • simpleio.mpy
  • pajisje adafruit_bus_
  • adafruit_framebuf.mpy
  • adafruit_ssd1306.mpy

Nëse ato mungojnë, tërhiqini ato në dosje nga versioni i fundit i disponueshëm.

Tani jeni gati për të shkarkuar skenarin.

Pasi të keni ngarkuar në redaktorin Mu, mund ta ruani në Itsybitsy me emrin main.py.

Programi kalon përmes një sërë demonstrimesh të linjave, qarqeve, një grafik dinamik të shiritit dhe shfaqjes së karaktereve të përcaktuara. Thjesht kthejeni tenxheren ngadalë dhe shtypni dhe mbani shtypur butonin për të kontrolluar ekranin.

Faqet në vijim japin më shumë informacion se si funksionon programi.

Hapi 6: Konfiguroni pajisjet

Vendosni Pajisjet
Vendosni Pajisjet

Ky seksion i parë ngarkon të gjitha bibliotekat dhe vendos SSD1306, potenciometrin dhe çelësin e butonave në kunjat e sakta.

Hapi 7: Përcaktoni personazhet dhe vizatoni vija horizontale dhe vertikale

Përcaktoni personazhet dhe vizatoni vija horizontale dhe vertikale
Përcaktoni personazhet dhe vizatoni vija horizontale dhe vertikale
Përcaktoni personazhet dhe vizatoni vija horizontale dhe vertikale
Përcaktoni personazhet dhe vizatoni vija horizontale dhe vertikale

Ky seksion krijon karakteret e paracaktuara. Ato janë 5 pika të gjera dhe 8 pika të larta. Çdo pikë në përkufizim tërheq 4 pika në ekran në mënyrë që ato të shfaqen më mirë.

Linjat horizontale dhe vertikale janë të lehta për t'u vizatuar me një lak. Thjesht duhet të mbani mend se keni nevojë për pikë shtesë në fund. Një rreshti nga (0, 7) në (5, 7) do të ketë nevojë për 6 pika: me x të barabartë me 0, 1, 2, 3, 4 dhe 5 nga ana tjetër.

Komanda bazë e pikës është oled. Piksel (x, y, ngjyra) - 0 është e zezë dhe 1 është e bardhë.

Origjina (0, 0) është në pjesën e sipërme të majtë të ekranit, 0 - 127 pixel horizontalisht (nga e majta në të djathtë) dhe 0 - 63 vertikalisht (nga lart poshtë).

Hapi 8: Kutitë, Blloqet dhe Linjat e Pjerrëta

Kutitë, Blloqet dhe Linjat e Pjerrëta
Kutitë, Blloqet dhe Linjat e Pjerrëta

Kutitë janë ndërtuar nga linja horizontale dhe vertikale.

Blloqet janë ndërtuar nga linja të shumta horizontale.

Për linjat e pjerrëta ne së pari kontrollojmë koordinatat janë dhënë më së pari majtas. Nëse jo, ne i ndërrojmë ato pasi vija do të tërhiqet nga e majta në të djathtë.

Ne pastaj llogarisim pjerrësinë dhe e përdorim atë për të vendosur vlerën y për secilën vlerë të x.

Procedura e shfaqjes (t) e bën ekranin e përditësuar të dukshëm dhe pret për një vonesë të shkurtër, t sekonda.

Hapi 9: Simboli i Shkallës, Shtimi, Grafiku i Shiritit dhe Rrethi

Simboli i Shkallës, Shtojca, Grafiku i Shiritit dhe Rrethi
Simboli i Shkallës, Shtojca, Grafiku i Shiritit dhe Rrethi

Simboli i shkallës krijohet nga 4 piksele.

Rutina e shtrirjes () shton hapësira shtesë para numrit për të rreshtuar djathtas vlerat e shkurtra në një hapësirë fikse.

Rutina e grafikut (v) vizaton një grafik me shirita horizontale duke dhënë përqindjen e zgjedhur. Vlera shkruhet në anën e djathtë duke përdorur 'T' për të përfaqësuar 100 (Ton ose krye).

Qarqet kërkojnë disa trigonometri, kështu që ne duhet të importojmë bibliotekën e matematikës në fillim të shkrimit. Ne përdorim sin, cos dhe radianët për të llogaritur zhvendosjet x dhe y nga qendra pasi një rreze rrotullohet në 90 gradë. Pikat janë vizatuar në secilën prej katër kuadrantëve për secilën llogaritjen e kompensimeve.

Hapi 10: Grumbullimi i mbeturinave, titujt dhe qarqet

Mbledhja e mbeturinave, titujt dhe qarqet
Mbledhja e mbeturinave, titujt dhe qarqet

Këto udhëzime demonstrojnë pastrimin e ekranit në të zezë dhe të bardhë, shkrimin e tekstit në ekran dhe përdorimin e rutinës së grumbullimit të mbeturinave gc () për të liruar hapësirë. Vlera tregon se ka shumë hapësirë për një skenar shumë më të madh.

Programi më pas vizaton qarqe me një qendër të përbashkët dhe me qendra lëvizëse. Një rutinë mjaft e shpejtë duke marrë parasysh sasinë e llogaritjes së kërkuar.

Titulli për demon e rreshtave shkruhet më tej.

Hapi 11: Demo e linjave

Demo e linjave
Demo e linjave

Kjo rutinë me të vërtetë i jep rutinës së linjës () një stërvitje. Linjat radiale tërhiqen nga secila prej katër qosheve të ekranit me hapësira të ndryshme që formojnë modele.

Hapi 12: Rrethi kryesor: Grafiku i shiritit dhe personazhet e përcaktuar

Rrethi kryesor: Grafiku i shiritit dhe personazhet e përcaktuar
Rrethi kryesor: Grafiku i shiritit dhe personazhet e përcaktuar

Ky është laku kryesor i programit. Vlerat nga potenciometri ndryshojnë vlerat e treguara dhe ndryshojnë gjatësinë e grafikut të shiritit.

Nëse butoni mbahet i shtypur, karakteret e përcaktuara ndërrohen si 1/0 dhe True/False. Ky lak funksionon mjaft ngadalë sepse vizatimi i karaktereve të paracaktuara është një proces i ngadalshëm. Ju mund t'i shpejtoni gjërat duke komentuar disa prej tyre.

Nuk ka asnjë sensor të temperaturës të pajisur, për ta mbajtur këtë demonstrim të thjeshtë, kështu që "?" shfaqet në vend të vlerës në rreshtin 190.

Recommended: