Udhëzues i plotë: Ekrane OLED 0.96″ me Arduino

OLED

Ekrani OLED është bërë një zgjedhje popullore për t'u integruar në projektet Arduino, kryesisht sepse është kompakt, ka konsum të ulët të energjisë dhe lejon shikueshmëri të jashtëzakonshme edhe në mjedise të ndritshme. Për më tepër, falë lidhjes së tij të lehtë, përdorimi i tij është brenda mundësive të çdo entuziastësh të elektronikës, pavarësisht nga përvoja e tyre. Në këtë artikull, ne do të hedhim një vështrim të thellë se si të lidhni dhe programoni një ekran OLED 0.96 inç me Arduino, duke detajuar si aspektet teknike ashtu edhe duke ofruar shembuj praktik të kodit.

Nëse nuk keni punuar kurrë me një ekran OLED, ka disa pika kyçe që duhet të dini përpara se të filloni projektin tuaj. OLED-et (Dioda Organike e Emitimit të Dritës) kanë dallime thelbësore me llojet e tjera të ekraneve si LCD. Për shembull, OLED nuk kërkon ndriçim të pasëm, gjë që redukton ndjeshëm konsumin e energjisë. Në ekranet e vogla deri në 0.96 inç, kjo mund të jetë thelbësore nëse projekti ushqehet me bateri. Tani, le të thellohemi në veçoritë e tij.

Çfarë është një ekran OLED?

Një ekran OLED është një lloj ekrani që përdor një përbërje organike që lëshon dritë kur aplikohet një rrymë elektrike. Kjo i bën ato ideale për shumë projekte elektronike, pasi teknologjia e tyre lejon që çdo piksel të ndriçohet vetë, gjë që përmirëson gjithashtu dukshmërinë në natyrë. Shumica e ekraneve OLED të tregtuara për Arduino kanë një kontrollues SSD1306, i cili lejon menaxhimin e dërgimit të sinjaleve në ekran. Në fakt, SSD1306 është një nga më të zakonshmet në projektet Arduino dhe do ta shohim në shembujt më vonë.

Një nga avantazhet kryesore të ekraneve OLED është konsumi i ulët i tyre. Mesatarisht, një ekran i vogël 0.96 inç mund të konsumojë rreth 20 mA. Pse është kjo e rëndësishme? Epo, nëse përdorni një bateri për të fuqizuar projektin tuaj Arduino, ulja e konsumit të energjisë është gjithmonë një plus i rëndësishëm. Përveç kësaj, rezolucioni i tij prej 128x64 piksele mund të përfaqësojë imazhe me mprehtësi mjaft të mirë duke marrë parasysh madhësinë e tij.

Nga ana tjetër, një nga problemet që mund të lindë me këtë lloj ekrani është se madhësia e tij është vërtet e vogël. Megjithëse ofrojnë shikueshmëri të mirë, në disa projekte ku kërkohet të shfaqet shumë informacion, kjo madhësi mund të jetë e pamjaftueshme.

Lidhja e ekranit OLED me Arduino

Ekrani OLED lidhet lehtësisht me tabelën Arduino duke përdorur një autobus I2C ose SPI, në varësi të modelit. Për këtë tutorial, ne do të fokusohemi në lidhjen duke përdorur I2C, pasi është një nga më të zakonshmet dhe më të thjeshtat.

Duhet të lidhni kunjat e ekranit OLED me kunjat përkatëse të Arduino-s tuaj si më poshtë:

  • GND (Ground) me pinin Arduino GND
  • VCC me pinin Arduino 5V ose 3.3V
  • SDA në pin A4 Arduino
  • SCL në pin A5 të Arduino

Siç mund ta shihni, lidhja është mjaft e thjeshtë: ju nevojiten vetëm katër kabllo. Pastaj, nëse përdorni autobusin SPI ose I2C, procesi i lidhjes është i ngjashëm, megjithëse kunjat ndryshojnë në varësi të llojit të komunikimit që zgjidhni.

Shembull kodi për ekranin OLED

Për ta bërë ekranin OLED të funksionojë me Arduino, një nga opsionet më të mira është përdorimi i bibliotekave të zhvilluara nga Adafruit. Kontrolluesi SSD1306, siç e përmendëm më parë, është i pajtueshëm me bibliotekën Adafruit SSD1306, gjë që e bën jetën tonë më të lehtë kur krijojmë grafikë dhe tekst në ekran.

Më poshtë po ju lë një kod bazë që do t'ju lejojë të shfaqni tekstin në një ekran OLED me një lidhje I2C:

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
Serial.begin(9600);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
display.display();
delay(2000);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 10);
display.println(F("Hola, Mundo!"));
display.display();
}
void loop() {}

Ky kod inicializon ekranin, pastron ekranin dhe më pas shkruan "Hello, World!" në ekranin OLED. Ju mund të përdorni funksione të ndryshme të bibliotekës Adafruit GFX për të krijuar grafikë, për të vizatuar linja, rrathë apo edhe për të shfaqur imazhe në ekran.

Shembuj të tjerë të dobishëm për ekranin OLED

Shembulli i mësipërm është vetëm një hyrje bazë, por ju mund të bëni shumë më tepër me ekranet OLED. Për shembull, mund të vizatoni forma të ndryshme gjeometrike, të bëni animacione apo edhe të krijoni grafika të vogla.

Një nga veçoritë më interesante që ofrojnë bibliotekat Adafruit është aftësia për të vizatuar pikselë të shumtë, që do të thotë se mund të krijoni animacione lëvizëse. Një shembull shtesë do të ishte lëvizja e tekstit, e cila është shumë e dobishme nëse planifikoni të shfaqni mesazhe që ndryshojnë në mënyrë dinamike.

Një përdorim tjetër që mund t'u jepni këtyre ekraneve është shfaqja e të dhënave në kohë reale në projekte ndërvepruese, të tilla si sensori i temperaturës ose lagështisë. Ekrani mund të përditësohet ndërsa merren leximet e reja të sensorëve, duke e bërë çdo projekt shumë më vizual.

Probleme të zakonshme kur përdorni ekranet OLED

Një nga problemet më të zakonshme kur përdorni ekranet OLED me Arduino është mungesa e memories. Bibliotekat Adafruit, edhe pse shumë të plota, mund të konsumojnë një sasi të konsiderueshme memorie në procesorin Arduino, veçanërisht në versione si Arduino Uno. Nëse keni probleme me hapësirën, mund të provoni të optimizoni kodin tuaj, të hiqni funksionet që nuk ju nevojiten, apo edhe të përdorni një tabelë me më shumë kapacitet, siç është Arduino Mega.

Një problem tjetër i zakonshëm është konfigurimi fillestar i lidhjes I2C. Nëse nuk po përdorni kunjat e duhura SDA dhe SCL, ekrani mund të mos funksionojë ose mund të shfaqë gabime në lidhje. Sigurohuni që të përdorni kunjat e sakta bazuar në modelin tuaj Arduino.

Së fundi, disa përdorues raportojnë gjithashtu një ekran bosh ose një që nuk i përgjigjet asnjë komande. Kjo mund të zgjidhet duke u siguruar që tensioni i furnizimit të jetë i saktë (3.3 V ose 5 V në varësi të modelit të ekranit) dhe që kabllot të jenë lidhur saktë.


Bëhu i pari që komenton

Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.