ESP32 HIỂN THI MÀN HÌNH OLED
PHẦN 1: KẾT NỐI PHẦN CỨNG NHƯ SAU.
BẠN LƯU Ý : Chân 21 và chân 22 hầu hết Board giống nhau.
PHẦN 2: CẦU TẠO MÀN HÌNH OLED.
Cài đặt Thư viện màn hình OLED
Sketch > Include Library > Manage Libraries ( như sau ).
Sau đó tìm với cụm từ "adafruit ssd1306" như sau:
Tiếp Tục Cài Thêm Thư viện : Adafruit GFX Library
Sửa đổi Thư viện Adafruit SSD1306
Khi nạp chạy thử nó sẽ xuất hiện lỗi như sau :
Các bạn vào : libraries > Adafruit_SSD1306
Mở File Lên bằng Noted hoặc file text gì cũng được.
Sau đó định nghĩa lại như sau:
Chương trình hiển thị như sau :
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display(-1);
void setup()
{
// initialize with the I2C addr 0x3C
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
// Clear the buffer.
display.clearDisplay();
// Display Text
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,28);
display.println("Hello world!");
display.display();
delay(2000);
display.clearDisplay();
// Display Inverted Text
display.setTextColor(BLACK, WHITE); // 'inverted' text
display.setCursor(0,28);
display.println("Hello world!");
display.display();
delay(2000);
display.clearDisplay();
// Changing Font Size
display.setTextColor(WHITE);
display.setCursor(0,24);
display.setTextSize(2);
display.println("Hello!");
display.display();
delay(2000);
display.clearDisplay();
// Display Numbers
display.setTextSize(1);
display.setCursor(0,28);
display.println(123456789);
display.display();
delay(2000);
display.clearDisplay();
// Specifying Base For Numbers
display.setCursor(0,28);
display.print("0x"); display.print(0xFF, HEX);
display.print("(HEX) = ");
display.print(0xFF, DEC);
display.println("(DEC)");
display.display();
delay(2000);
display.clearDisplay();
// Display ASCII Characters
display.setCursor(0,24);
display.setTextSize(2);
display.write(3);
display.display();
delay(2000);
display.clearDisplay();
// Scroll full screen
display.setCursor(0,0);
display.setTextSize(1);
display.println("Full");
display.println("screen");
display.println("scrolling!");
display.display();
display.startscrollright(0x00, 0x07);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrollleft(0x00, 0x07);
delay(2000);
display.stopscroll();
delay(1000);
display.startscrolldiagright(0x00, 0x07);
delay(2000);
display.startscrolldiagleft(0x00, 0x07);
delay(2000);
display.stopscroll();
display.clearDisplay();
// Scroll part of the screen
display.setCursor(0,0);
display.setTextSize(1);
display.println("Scroll");
display.println("some part");
display.println("of the screen.");
display.display();
display.startscrollright(0x00, 0x00);
}
void loop() {}
Trong đó hàm thư viện:
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
KHỞI TẠO I2C VÀ XÓA MÀN HÌNH.
// initialize with the I2C addr 0x3C KHỞI TẠO I2C.
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
// Clear the buffer. XOA MÀN HÌNH
display.clearDisplay();
CODE HIỂN THỊ " HELLO WORLD ".
// Display Text
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,28);
display.println("Hello world!");
display.display();
delay(2000);
// Display Inverted Text
display.clearDisplay();
display.setTextColor(BLACK, WHITE); // 'inverted' text
display.setCursor(0,28);
display.println("Hello world!");
display.display();
delay(2000);
Thay đổi SIZE CHỮ
// Changing Font Size
display.clearDisplay();
display.setTextColor(WHITE);
display.setCursor(0,24);
display.setTextSize(2);
display.println("Hello!");
display.display();
delay(2000);
HIỂN THỊ SỐ.
// Display Numbers
display.clearDisplay();
display.setTextSize(1);
display.setCursor(0,28);
display.println(123456789);
display.display();
delay(2000);