Impreuna cu placa de dezvoltare Lolin32 Lite putem folosi si un display OLED 128x32 pixeli care are driverul SSD1306. Acest display comunica cu placa de dezvoltare cu ajutorul magistralei I2C si se alimenteaza cu +3.3V.

    Inainte de a folosi acest display va trebui sa descarcam si sa instalam 2 librarii externe:

1) Adafruit_SSD1306 si

2) Adafruit-GFX-Library.

    Instalarea acestora se face foarte simplu accesand meniul Schita > Incarcare biblioteca > Adaugare biblioteca.zip.

    O poza cu acest display este mai jos:

    Displayul se conecteaza la placa de dezvoltare astfel:

Lolin32 Lite Display OLED 
+3.3V +3.3V
GND GND
GPIO19 SDA
GPIO23 SCL

    Sketchul folosit pentru testarea acestui display este cel de mai jos:

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 
#define SCREEN_HEIGHT 32 
#define OLED_RESET     -1
#define SCREEN_ADDRESS 0x3C
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);


void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS);
  display.clearDisplay();
  display.setTextSize(1); 
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0,0); 
  display.println(F("Testare display"));
  display.setCursor(0, 10);
  display.println(F("OLED 128x32"));
  display.setCursor(0, 20);
  display.println(F("driver SSD1306"));
  display.display();
  delay(3000);
  
}

void loop() {
  display.clearDisplay();
  display.setTextSize(2);
  display.setCursor(0,0);
  display.println(F("electronicstore.ro"));
  display.display();
  delay(3000);
  display.invertDisplay(true);
  delay(3000);
  display.invertDisplay(false);
  delay(3000);
  display.clearDisplay();
  display.drawLine(5, 5, 122, 5, SSD1306_WHITE);  
  display.drawLine(5, 15, 122, 15, SSD1306_WHITE);
  display.display();
  delay(3000);
  display.clearDisplay();
  display.drawRect(5, 5, 100, 5, SSD1306_WHITE);
  display.display();
  delay(3000);
  display.clearDisplay();
  display.fillRect(5, 10, 100, 30, SSD1306_INVERSE);
  display.display();
  delay(3000);
  display.clearDisplay();
  display.drawCircle(15, 15, 10, SSD1306_WHITE);
  display.display();
  delay(3000);
  display.clearDisplay();
  display.fillCircle(10, 10, 10, SSD1306_INVERSE);
  display.display();
  delay(3000);
  display.clearDisplay();
  display.drawRoundRect(10, 5, 100, 25, 5, SSD1306_WHITE);
  display.display();
  delay(3000);
  display.clearDisplay();
  display.fillRoundRect(5, 5, 60, 20, 5, SSD1306_INVERSE);
  display.display();
  delay(3000);
  display.clearDisplay();
  display.setTextSize(1); 
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0,0); 
  display.println(F("Multumim pentru"));
  display.setCursor(0, 10);
  display.println(F("vizualizare"));
  display.display();
  delay(5000);
}

    Pentru mai multe explicatii despre codul sursa folosit puteti sa cititi si acest articol.

Nu sunt comentarii

Acest website foloseste cookie-uri pentru o experienta placuta in timpul navigarii.