Hướng Dẫn Sử Dụng Màn Hình OLED SSD1306 Với ESP8266 Dành Cho Người Mới Bắt Đầu

Trong bài viết này, chúng ta sẽ học cách kết nối và hiển thị thông tin trên màn hình OLED SSD1306 sử dụng ESP8266 (ví dụ: NodeMCU). Màn hình OLED rất phù hợp để hiển thị các thông tin nhỏ như văn bản, dữ liệu cảm biến hoặc trạng thái hệ thống trong các dự án IoT.

Hướng Dẫn Sử Dụng Màn Hình OLED SSD1306 Với ESP8266 Dành Cho Người Mới Bắt Đầu

Giới Thiệu

Trong bài viết này, chúng ta sẽ học cách kết nối và hiển thị thông tin trên màn hình OLED SSD1306 sử dụng ESP8266 (ví dụ: NodeMCU). Màn hình OLED rất phù hợp để hiển thị các thông tin nhỏ như văn bản, dữ liệu cảm biến hoặc trạng thái hệ thống trong các dự án IoT.


Các Thành Phần Cần Chuẩn Bị

  1. Phần cứng:
    • ESP8266 (NodeMCU hoặc Wemos D1 Mini)
    • Màn hình OLED SSD1306 128x64 (giao tiếp I2C)
    • Dây nối
  2. Phần mềm:
    • Arduino IDE
    • Thư viện:
      • Adafruit GFX Library
      • Adafruit SSD1306 Library

Kết Nối Phần Cứng

Kết nối các chân của màn hình OLED với ESP8266 như sau:

Màn hình OLED

ESP8266 (NodeMCU)

VCC

3V3

GND

GND

SDA

D2 (GPIO4)

SCL

D1 (GPIO5)


Cài Đặt Thư Viện Trên Arduino IDE

  1. Mở Arduino IDE.
  2. Vào Tools > Manage Libraries.
  3. Tìm và cài đặt:
    • Adafruit GFX Library
    • Adafruit SSD1306

Lập Trình ESP8266

Dưới đây là đoạn code  hoàn chỉnh để hiển thị TEXT lên màn hình OLED:

#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128

#define SCREEN_HEIGHT 64

#define OLED_RESET    -1

#define OLED_ADDRESS  0x3C

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {

  // Define I2C pins for ESP8266

  Wire.begin(4, 5); // SDA, SCL

  // Initialize the display

  if (!display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDRESS)) {

    Serial.println(F("SSD1306 allocation failed"));

    for (;;); // Don't proceed, loop forever

  }

  display.clearDisplay();

  display.setTextSize(2);

  display.setTextColor(SSD1306_WHITE);

  display.setCursor(0, 0);

  display.print("PYWORLD.VN");

  display.setTextSize(1);

  display.setCursor(0, 20);

  display.print("Testing OLED...");

  display.display();

}

void loop() {

  display.clearDisplay();

  display.setTextSize(2);

  display.setTextColor(SSD1306_WHITE);

  display.setCursor(0, 0);

  display.print("PYWORLD.VN");

  display.setTextSize(1);

  display.setCursor(0, 20);

  display.print("Testing OLED...");

  display.display();

  display.setCursor(0, 40);

  display.setTextSize(2);

  display.print("TIME:");

  display.print(millis() / 1000); // Hiển thị thời gian chạy

  display.display();

  delay(1000);

}


Tải Code Lên ESP8266

  1. Chọn board: Vào Tools > Board > NodeMCU 1.0 (ESP-12E Module).
  2. Chọn cổng COM: Vào Tools > Port, chọn cổng kết nối với ESP8266.
  3. Nhấn Upload để nạp code.

Kết Quả

  • Sau khi tải code lên, màn hình OLED sẽ hiển thị:
    • Dòng đầu tiên: PYWORLD.VN
    • Dòng thứ hai: Testing OLED...
    • Dòng thứ 3: TIME: [biến đếm tăng dần]

A small electronic device with a screen

Description automatically generated


Lời Kết

Hy vọng bài viết này giúp bạn dễ dàng bắt đầu với màn hình OLED SSD1306 và ESP8266. Nếu bạn gặp khó khăn trong quá trình thực hiện, hãy để lại bình luận bên dưới hoặc liên hệ qua PYWORLD.VN.

Chúc bạn thành công và sáng tạo thêm nhiều dự án thú vị!


(*) Xem thêm

Bình luận
Đã thêm vào giỏ hàng