luni, 14 septembrie 2020

Biblioteca grafică JAL (Just Another Language) pentru display-ul grafic SSD 1306

Submitted by Rob on Sat, 07/18/2020 - 11:30

Tradus de Viorel Bianu, 09/14/2020 - 12:17

Biblioteca JAL glcd_ssd1306.jal susține modulul de afișare grafică care utilizează controlerul de afișare SSD1306, acesta având o rezoluție de 128 pixeli (orizontal) și 64 pixeli (vertical). Atât textul cât și grafica pot fi afișate pe acest display. Pentru text sunt utilizate bibliotecile de fonturi JAL existente, iar pentru caracterele grafice este utilizată biblioteca JAL glcd_common.jal.

Acest modul vine în 2 variante, o versiune I2C și o versiune SPI. Biblioteca acceptă ambele versiuni prin configurarea anumitor constante în programul principal. În afară de aceasta, utilizarea hardware I2C sau software I2C, respectiv hardware SPI sau software SPI, poate fi de asemenea setată în programul principal .

Modulul trebuie alimentat la 3,3 volți, dar conform datelor furnizorului funcționează bine și la 5 volți. Acesta idee este puțin surprinzătoare, deoarece tensiunea maximă absolută a circuitului integrat SSD1306 este de 4 volți. Prin urmare, este mai sigur să utilizați modulul la 3,3 Volți.

Memoria totală a controlerului de afișaj este de 128 * (64/8) = 1024 octeți. Deoarece această memorie poate fi scrisă numai prin interfața I2C sau SPI, o copie locală trebuie păstrată în PIC atunci când se utilizează caracteristicile grafice. Nu este necesară copia locală dacă folosiți numai text. 

Utilizând o setare în programul principal, poate fi activată funcția "text numai" ("text only"). Acest lucru face posibilă utilizarea bibliotecii sus-amintite de către PIC-uri cu un spațiu de memorie de date limitat. Când utilizați caracteristicile grafice, PIC trebuie să aibă un spațiu de date liber de cel puțin 1024 (2**10) de octeți.

Împreună cu biblioteca sunt prezentate două exemple de programe, care pun în evidență toate caracteristicile display-ului. Cele două exemple lucrează cu microcontrollerele PIC16F1825 și PIC16F18857 (Microchip):

16f1825_glcd_ssd1306_font.jal - această bibliotecă prezintă toate caracteristicile modulului pentru utilizare numai text ("text only")

16f18857_glcd_ssd1306_font_graphics.jal - această bibliotecă prezintă toate caracteristicile modulului pentru text și grafică.

Următorul videoclip demonstrează toate caracteristicile de text și grafică ale modulului și ale bibliotecii utilizând exemplul de program 16f18857_glcd_ssd1306_font_graphics.jal

https://youtu.be/Tx-RCtyAqUk

4 comentarii:

  1. Interesant ar fi un exemplu practic, cu placa de dezvoltare, program, scrierea acestuia, etc.

    RăspundețiȘtergere
  2. Link-ul catre Pinguino nu cred ca este OK. In general cred ca se alege praful de acest IDE. A fost un proiect interesant, dar nu pare a mai fi sustinut decat de cativa entuziasti. Din pacate, la fel ca Wiring, care pare dus de vreo 2 ani.

    RăspundețiȘtergere
  3. Asa mi se pare si mie, Wiring si Pinguino nu par a fi sustinute de multi oameni.

    RăspundețiȘtergere