Satura rādītājs:

Grafika SSD diskā 1306 I2C OLED 128x64 displejā ar CircuitPython, izmantojot Itsybitsy M4 Express: 13 soļi (ar attēliem)
Grafika SSD diskā 1306 I2C OLED 128x64 displejā ar CircuitPython, izmantojot Itsybitsy M4 Express: 13 soļi (ar attēliem)

Video: Grafika SSD diskā 1306 I2C OLED 128x64 displejā ar CircuitPython, izmantojot Itsybitsy M4 Express: 13 soļi (ar attēliem)

Video: Grafika SSD diskā 1306 I2C OLED 128x64 displejā ar CircuitPython, izmantojot Itsybitsy M4 Express: 13 soļi (ar attēliem)
Video: Работа с OLED дисплеем 2024, Jūlijs
Anonim
Grafika SSD diskā 1306 I2C OLED 128x64 displejā ar CircuitPython, izmantojot Itsybitsy M4 Express
Grafika SSD diskā 1306 I2C OLED 128x64 displejā ar CircuitPython, izmantojot Itsybitsy M4 Express

SSD1306 OLED displejs ir mazs (0,96 collu), lēts, plaši pieejams, I2C, vienkrāsains grafiskais displejs ar 128x64 pikseļiem, kas ir viegli savienojams (tikai 4 vadi) ar tādiem mikroprocesoru izstrādes paneļiem kā Raspberry Pi, Arduino vai Adafruit Itsybitsy M4 Express, CircuitPlayground Express vai citas CircuitPython ierīces. Draiverus var lejupielādēt no interneta.

Arduinos grafiskās rutīnas ir pieejamas kādu laiku, bet ne citām attīstības sistēmām.

Pamata ierīču draiveri ļauj lietotājiem:

  • Notīriet ekrānu līdz melnam vai baltam. oled.fill (c)
  • Uzrakstiet teksta virkni uz ekrānu noteiktā (x, y) pozīcijā. Oled (teksts, x, y, c)
  • Zīmējiet punktu noteiktā (x, y) pozīcijā, esat. Pikselis (x, y, c)
  • Ielādējiet ekrānā attēla failu. (Netiek izmantots šajā projektā)
  • Atjauniniet displeju oled.show ()

Šī pamācība ar vienkāršām procedūrām interaktīvi parādīs, kā zīmēt:

  • līnijas
  • apļi
  • dobās kastes
  • cietie bloki
  • iepriekš noteiktas rakstzīmes

Es izmantošu Adafruit Itsybitsy M4 Express, lai demonstrētu metodes, taču Python kodu var viegli pārnest uz citām attīstības sistēmām.

Šai demonstrācijai es izvēlējos Itsybitsy M4, jo tā ir lēta, jaudīga, viegli programmējama, ietver analogo un digitālo ieeju/izvadi, tai ir daudz atmiņas, ir viegli atrodama dokumentācija un palīdzības forumi internetā, sākotnēji to ir ļoti viegli uzstādīt un atbalsta CircuitPython - Python versiju, kas ir ideāli piemērota tiem, kas vēl nav sākuši kodēšanu.

Kad esat iestatījis Itsybitsy un SSD1306, šī ir ļoti vienkārša maizes dēļa konstrukcija. Nav rakstīšanas, visus failus var lejupielādēt.

Šis ir lēts un viegli uzbūvējams projekts, taču piedāvā dažas starpposma/uzlabotas idejas. Es ceru, ka jūs to izmēģināsit. Mani pārsteidza šis mazais displejs.

1. darbība: kas mums nepieciešams šim projektam

Kas mums vajadzīgs šim projektam
Kas mums vajadzīgs šim projektam

Aparatūra:

  • SSD1306 I2C mono displejs 128x64 pikseļi
  • Itsybitsy M4 Express
  • microUSB - USB kabelis - lai ieprogrammētu plati
  • Maizes dēlis
  • 1 10K omi potenciometrs
  • 1 pogas slēdzis
  • savienojošais vads - var palīdzēt dažādas krāsas
  • Dators (lai uzrakstītu kodu un augšupielādētu to) - derēs ļoti vecs klēpjdators.

Programmatūra:

Mu redaktors - koda rakstīšanai un skripta augšupielādēšanai Itsybitsy

Itybitsy iestatīšana ir izskaidrota šeit:

Jaunākā CircuitPython versija:

CircuitPython bibliotēkas:

Mu redaktors:

2. solis: ķēde

Ķēde
Ķēde

Šī ir ļoti vienkārša shēma, kas jāiestata. Nākamā lapa ilustrē gatavo maizi ar krāsainiem vadiem, lai padarītu lietas vieglākas.

3. darbība: ķēdes maizes versija

Maizes dēļa shēmas versija
Maizes dēļa shēmas versija

Maizes dēļa augšpusē un apakšā ir barošanas sliedes. Ar sarkano vadu pievienojiet +ve sliedes kopā. Ar melno stiepli savienojiet kopā sliedes -ve.

Pievienojiet Itsybitsy 3V tapu pie apakšējās +ve sliedes - sarkanā stieples. (12. sleja)

Pievienojiet Itsybitsy G (GND) tapu augšējās sliedes - melnajam vadam. (12. sleja)

33. un 34. slejā pievienojiet SSD1306 VCC un GND tapas augšējām jaudas sliedēm.

Ar rozā vadu pievienojiet SCL tapas kopā.

Ar pelēku vadu pievienojiet SDA tapas kopā.

Ar sarkaniem un melniem vadiem savienojiet potenciometra ārējās tapas ar augšējām jaudas sliedēm un ar zaļo vadu savienojiet centrālo (tīrītāja) tapu ar Itsybitsy A5.

Pievienojiet pogas slēdža vienu pusi ar purpursarkanu vadu 2. tapai un ar melno vadu pievienojiet otru pusi GND sliedei.

4. solis: fonta ielāde

Notiek fonta ielāde
Notiek fonta ielāde

Lejupielādējiet fonta failu un velciet to uz CIRCUITPY diskdzini. (Šī ir tā īpatnība.)

Veiciet dubultklikšķi uz mapes lib un apskatiet jau ielādēto draiveru sarakstu.

5. darbība: papildu draiveru pievienošana

Papildu draiveru pievienošana
Papildu draiveru pievienošana

Lib mapē jums būs nepieciešams:

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

Ja to trūkst, velciet tos mapē no jaunākās pieejamās versijas.

Tagad esat gatavs lejupielādēt skriptu.

Kad esat ielādējis redaktoru Mu, varat to saglabāt vietnē Itsybitsy ar nosaukumu main.py.

Programma darbojas, demonstrējot virkni līniju, apļu, dinamiskas joslu diagrammas un parādot noteiktas rakstzīmes. Vienkārši lēnām pagrieziet katlu un nospiediet un turiet pogu, lai kontrolētu displeju.

Turpmākajās lappusēs ir sniegta plašāka informācija par programmas darbību.

6. darbība: iestatiet ierīces

Iestatiet ierīces
Iestatiet ierīces

Šī pirmā sadaļa ielādē visas bibliotēkas un uzstāda SSD1306, potenciometru un pogu slēdzi uz pareizām tapām.

7. solis: definējiet rakstzīmes un zīmējiet horizontālās un vertikālās līnijas

Definējiet rakstzīmes un zīmējiet horizontālās un vertikālās līnijas
Definējiet rakstzīmes un zīmējiet horizontālās un vertikālās līnijas
Definējiet rakstzīmes un zīmējiet horizontālās un vertikālās līnijas
Definējiet rakstzīmes un zīmējiet horizontālās un vertikālās līnijas

Šajā sadaļā ir iestatītas iepriekš definētās rakstzīmes. Tie ir 5 punkti plati un 8 punkti augsti. Katrs definīcijas punkts ekrānā uzzīmē 4 punktus, lai tie būtu labāk redzami.

Horizontālās un vertikālās līnijas ir viegli izdarīt ar cilpu. Jums vienkārši jāatceras, ka beigās ir nepieciešams papildu punkts. Rindai no (0, 7) līdz (5, 7) būs nepieciešami 6 punkti: ar x pēc kārtas ir 0, 1, 2, 3, 4 un 5.

Punkta pamata komanda ir oled.pixel (x, y, color) - 0 ir melna un 1 ir balta.

Izcelsme (0, 0) atrodas ekrāna augšējā kreisajā stūrī, 0–127 pikseļi horizontāli (no kreisās uz labo) un 0–63 vertikāli (no augšas uz leju).

8. darbība: kastes, bloki un slīpas līnijas

Kastes, bloki un slīpas līnijas
Kastes, bloki un slīpas līnijas

Kastes ir veidotas no horizontālām un vertikālām līnijām.

Bloki ir veidoti no vairākām horizontālām līnijām.

Slīpām līnijām vispirms pārbaudām, vai vispirms ir norādītas kreisās koordinātas. Ja nē, mēs tos apmainām, jo līnija tiks novilkta no kreisās uz labo.

Pēc tam mēs aprēķinām slīpumu un izmantojam to, lai iestatītu y vērtību katrai x vērtībai.

Displeja (t) procedūra padara redzamu atjaunināto ekrānu un gaida īsu aizkavi, t sekundes.

9. solis: grādu simbols, novirze, joslu diagramma un aplis

Grādu simbols, novirze, joslu diagramma un aplis
Grādu simbols, novirze, joslu diagramma un aplis

Grādu simbols ir izveidots no 4 pikseļiem.

Izlīdzināšanas () kārtība pievieno papildu atstarpes skaitļa priekšā, lai izlīdzinātu īsās vērtības pa labi.

Grafika (v) rutīna uzzīmē horizontālu joslu diagrammu, norādot atlasīto procentuālo daļu. Vērtība tiek uzrakstīta labajā pusē, izmantojot “T”, lai apzīmētu 100 (tonna vai augšdaļa).

Lokiem nepieciešama zināma trigonometrija, tāpēc mums ir jāimportē matemātikas bibliotēka skripta sākumā. Mēs izmantojam grēku, cos un radiānus, lai aprēķinātu x un y nobīdes no centra, kad rādiuss tiek pagriezts par 90 grādiem. Katrā no četriem kvadrantiem tiek aprēķināti punkti katram nobīdes aprēķinam.

10. darbība. Atkritumu savākšana, nosaukumi un apļi

Atkritumu savākšana, nosaukumi un apļi
Atkritumu savākšana, nosaukumi un apļi

Šie norādījumi parāda ekrāna tīrīšanu melnbaltā krāsā, teksta rakstīšanu ekrānā un gc () atkritumu savākšanas rutīnas izmantošanu, lai atbrīvotu vietu. Vērtība parāda, ka ir daudz vietas daudz lielākam skriptam.

Pēc tam programma zīmē apļus ar kopēju centru un kustīgiem centriem. Diezgan ātra rutīna, ņemot vērā nepieciešamo aprēķinu apjomu.

Tālāk tiek uzrakstīts līniju demonstrācijas virsraksts.

11. darbība: līniju demonstrācija

Lines Demo
Lines Demo

Šī rutīna patiešām dod līnijas () rutīnai treniņu. Radiālās līnijas tiek novilktas no katra no četriem displeja stūriem ar dažādiem atstarpēm veidojošiem rakstiem.

12. darbība. Galvenā cilpa: joslu diagramma un noteiktas rakstzīmes

Galvenā cilpa: joslu diagramma un noteiktas rakstzīmes
Galvenā cilpa: joslu diagramma un noteiktas rakstzīmes

Šī ir programmas galvenā cilpa. Potenciometra vērtības maina parādītās vērtības un maina joslu diagrammas garumu.

Ja poga tiek turēta nospiesta, noteiktās rakstzīmes tiek apmainītas, tāpat kā 1/0 un True/False. Šī cilpa darbojas diezgan lēni, jo iepriekš definēto rakstzīmju zīmēšana ir lēns process. Jūs varat paātrināt lietas, komentējot dažus no tiem.

Lai demonstrācija būtu vienkārša, nav uzstādīts temperatūras sensors, tāpēc '?' 190. rindā vērtības vietā tiek parādīts.

Ieteicams: