Obsah:

Grafika na displeji SSD1306 I2C OLED 128 x 64 s obvodom Python pomocou Itsybitsy M4 Express: 13 krokov (s obrázkami)
Grafika na displeji SSD1306 I2C OLED 128 x 64 s obvodom Python pomocou Itsybitsy M4 Express: 13 krokov (s obrázkami)

Video: Grafika na displeji SSD1306 I2C OLED 128 x 64 s obvodom Python pomocou Itsybitsy M4 Express: 13 krokov (s obrázkami)

Video: Grafika na displeji SSD1306 I2C OLED 128 x 64 s obvodom Python pomocou Itsybitsy M4 Express: 13 krokov (s obrázkami)
Video: Лазерный дальномер 50м 2024, Júl
Anonim
Grafika na displeji SSD1306 I2C OLED 128 x 64 s obvodom Python s využitím Itsybitsy M4 Express
Grafika na displeji SSD1306 I2C OLED 128 x 64 s obvodom Python s využitím Itsybitsy M4 Express

Displej SSD1306 OLED je malý (0,96 palca), lacný, široko dostupný, I2C, monochromatický grafický displej s rozlíšením 128 x 64 pixelov, ktorý je ľahko prepojiteľný (iba 4 vodiče) s mikroprocesorovými vývojovými doskami, akými sú Raspberry Pi, Arduino alebo Adafruit Itsybitsy M4 Express, CircuitPlayground Express alebo iné zariadenia CircuitPython. Ovládače je možné stiahnuť z internetu.

Grafické rutiny pre Arduino sú k dispozícii už nejaký čas, ale nie pre iné vývojové systémy.

Základné ovládače zariadení umožňujú používateľom:

  • Vymažte obrazovku na čiernu alebo bielu. oled.fill (c)
  • Napíšte textový reťazec na obrazovku v určenej (x, y) pozícii oled.text („Text“, x, y, c)
  • Nakreslite bodku v určenej (x, y) polohe oled.pixel (x, y, c)
  • Načítajte súbor s obrázkom na obrazovku. (V tomto projekte sa nepoužíva)
  • Aktualizujte displej oled.show ()

Tento inštruktážny program názorne a jednoducho ukáže, ako interaktívne kresliť:

  • linky
  • kruhy
  • duté boxy
  • plné bloky
  • vopred definované znaky

Na predvádzanie metód použijem Adafruit Itsybitsy M4 Express, ale kód v Pythone je možné ľahko preniesť do iných vývojových systémov.

Na túto ukážku som si vybral Itsybitsy M4, pretože je lacný, výkonný, ľahko sa programuje, obsahuje analógový a digitálny vstup/výstup, má veľa pamäte, ľahko nachádza dokumentáciu a fóra pomoci na internete a je veľmi jednoduché ho nastaviť na začiatku. a podporuje CircuitPython, verziu Pythonu ideálnu pre tých, ktorí s kódovaním začínajú.

Akonáhle nastavíte Itsybitsy a SSD1306, je to veľmi jednoduché zostavenie dosky. Nepíše sa, všetky súbory sa dajú stiahnuť.

Jedná sa o lacný a ľahko zostaviteľný projekt, ktorý však prináša niekoľko stredne pokročilých/pokročilých myšlienok. Dúfam, že to skúsite. Tento malý displej na mňa zapôsobil.

Krok 1: Čo potrebujeme pre tento projekt

Čo potrebujeme pre tento projekt
Čo potrebujeme pre tento projekt

Hardvér:

  • Mono displej SSD1306 I2C 128 x 64 pixelov
  • Itsybitsy M4 Express
  • kábel microUSB na USB - na programovanie dosky
  • Breadboard
  • 1 potenciometer 10K Ohm
  • 1 tlačidlový spínač
  • spojovací drôt - rôzne farby môžu pomôcť
  • Počítač (napísať kód a nahrať ho) - postačí veľmi starý prenosný počítač.

Softvér:

Mu editor - na písanie kódu a nahrávanie skriptu na server Itsybitsy

Nastavenie Itsybitsy je vysvetlené tu:

Najnovšia verzia CircuitPython:

Knižnice CircuitPython:

Mu editor:

Krok 2: Okruh

Okruh
Okruh

Toto je veľmi jednoduchý obvod na nastavenie. Nasledujúca stránka ilustruje hotový chlebník farebnými drôtmi, aby bolo všetko jednoduché.

Krok 3: Breadboard verzia obvodu

Breadboard verzia obvodu
Breadboard verzia obvodu

V hornej a dolnej časti nepájivej dosky sú napájacie koľajnice. Červeným drôtom spojte kladné koľajnice dohromady. Čiernym drôtom spojte -ve koľajnice dohromady.

Pripojte 3V kolík Itsybitsy k spodnej +ve koľajnici - červený vodič. (Stĺpec 12)

Pripojte kolík G (GND) Itsybitsy k vrchnej koľajnici - čierny drôt. (Stĺpec 12)

V stĺpcoch 33 a 34 pripojte kolíky SSD1306 VCC a GND k horným napájacím lištám.

Ružovým drôtom spojte kolíky SCL dohromady.

Sivým drôtom spojte kolíky SDA dohromady.

Červenými a čiernymi vodičmi pripojte vonkajšie piny potenciometra k horným napájacím lištám a zeleným vodičom pripojte stredový (stierací) kolík k A5 na Itsybitsy.

Pripojte jednu stranu tlačidlového spínača fialovým vodičom k kolíku 2 a čiernym vodičom pripojte druhú stranu k lište GND.

Krok 4: Načítanie písma

Načítava sa písmo
Načítava sa písmo

Prevezmite súbor písma a presuňte ho na jednotku CIRCUITPY. (Toto je Itsybitsy.)

Dvakrát kliknite na priečinok lib a pozrite sa na zoznam ovládačov, ktoré ste už nainštalovali.

Krok 5: Pridanie ďalších ovládačov

Pridanie ďalších ovládačov
Pridanie ďalších ovládačov

V priečinku lib budete potrebovať nasledujúce:

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

Ak chýbajú, presuňte ich do priečinka z najnovšej dostupnej verzie.

Teraz ste pripravení stiahnuť si skript.

Po načítaní do editora Mu ho môžete uložiť do Itsybitsy s názvom main.py.

Program prechádza sériou ukážok čiar, kruhov, dynamického stĺpcového grafu a zobrazenia definovaných znakov. Hrniec pomaly otáčajte a stlačením a podržaním tlačidla ovládate displej.

Nasledujúce stránky poskytujú viac informácií o tom, ako program funguje.

Krok 6: Nastavte zariadenia

Nastavte zariadenia
Nastavte zariadenia

Táto prvá časť načíta všetky knižnice a nastaví SSD1306, potenciometer a prepínač tlačidiel na správne piny.

Krok 7: Definujte znaky a nakreslite horizontálne a vertikálne čiary

Definujte znaky a nakreslite vodorovné a zvislé čiary
Definujte znaky a nakreslite vodorovné a zvislé čiary
Definujte znaky a nakreslite vodorovné a zvislé čiary
Definujte znaky a nakreslite vodorovné a zvislé čiary

Táto časť nastavuje vopred definované znaky. Majú šírku 5 bodov a výšku 8 bodov. Každý bod v definícii nakreslí na obrazovku 4 body, aby sa zobrazovali lepšie.

Horizontálne a vertikálne čiary sa dajú ľahko nakresliť pomocou slučky. Nezabudnite, že na konci potrebujete bodku navyše. Riadok od (0, 7) do (5, 7) bude potrebovať 6 bodiek: pričom x sa rovná 0, 1, 2, 3, 4 a 5 postupne.

Základný bodový príkaz je oled.pixel (x, y, farba) - 0 je čierna a 1 je biela.

Pôvod (0, 0) je v ľavom hornom rohu obrazovky, 0 - 127 pixelov horizontálne (zľava doprava) a 0 - 63 vertikálne (zhora nadol).

Krok 8: Krabice, bloky a šikmé čiary

Krabice, bloky a šikmé čiary
Krabice, bloky a šikmé čiary

Krabice sú postavené z horizontálnych a vertikálnych línií.

Bloky sú postavené z viacerých horizontálnych línií.

V prípade šikmých čiar najskôr skontrolujeme, či sú súradnice uvedené ako prvé vľavo. Ak nie, prehodíme ich, pretože čiara bude nakreslená zľava doprava.

Potom vypočítame sklon a pomocou neho nastavíme hodnotu y pre každú hodnotu x.

Postup zobrazenia (t) zviditeľní aktualizovanú obrazovku a počká krátke oneskorenie, t sekundy.

Krok 9: Symbol stupňa, zarovnanie, stĺpcový graf a kruh

Symbol stupňa, uhlopriečka, stĺpcový graf a kruh
Symbol stupňa, uhlopriečka, stĺpcový graf a kruh

Symbol stupňa je vytvorený zo 4 pixelov.

Rutina align () pridá pred číslicu ďalšie medzery na zarovnanie doprava na krátke hodnoty v pevnom priestore.

Rutina grafu (v) nakreslí vodorovný stĺpcový graf s uvedením vybraného percenta. Hodnota je zapísaná na pravom konci pomocou „T“, čo predstavuje 100 (ton alebo vrchol).

Kruhy vyžadujú určitú trigonometriu, takže musíme importovať matematickú knižnicu na začiatku skriptu. Na výpočet offsetov x a y od stredu používame sin, cos a radiány, pretože polomer sa otáča o 90 stupňov. Body sa zakreslia do každého zo štyroch kvadrantov pre každý výpočet posunov.

Krok 10: Zber odpadu, názvy a kruhy

Zber odpadu, tituly a kruhy
Zber odpadu, tituly a kruhy

Tieto pokyny demonštrujú vyčistenie obrazovky na čiernobielo, písanie textu na obrazovku a používanie rutiny „zber odpadu“gc () na uvoľnenie miesta. Hodnota ukazuje, že je tu dostatok miesta pre oveľa väčší skript.

Program potom nakreslí kruhy so spoločným stredom a s pohyblivými stredmi. Pomerne rýchla rutina vzhľadom na požadované množstvo výpočtu.

Nasleduje nadpis pre ukážku riadkov.

Krok 11: Ukážka čiar

Lines Demo
Lines Demo

Táto rutina skutočne dáva cvičeniu line () rutine. Radiálne čiary sú nakreslené z každého zo štyroch rohov displeja s rôznymi rozstupmi tvoriacimi vzory.

Krok 12: Hlavná slučka: Stĺpcový graf a definované znaky

Hlavná slučka: Stĺpcový graf a definované znaky
Hlavná slučka: Stĺpcový graf a definované znaky

Toto je hlavná slučka programu. Hodnoty z potenciometra menia zobrazené hodnoty a menia dĺžku stĺpcového grafu.

Ak podržíte tlačidlo, definované znaky sa vymenia, ako aj 1/0 a True/False. Táto slučka beží dosť pomaly, pretože kreslenie preddefinovaných znakov je pomalý proces. Veci môžete urýchliť tak, že ich komentujete.

Neexistuje žiadny teplotný senzor, aby bola táto ukážka jednoduchá, takže „?“sa namiesto hodnoty v riadku 190 zobrazí.

Odporúča: