Raspberry Pi OLED
Hướng dẫn này sẽ chỉ bạn cách sử dụng Raspberry Pi với màn hình OLED. Cụ thể, chúng ta sẽ học:
- Cách kết nối màn hình OLED với Raspberry Pi.
- Cách lập trình Raspberry Pi để hiển thị văn bản và số trên OLED.
- Cách lập trình Raspberry Pi để căn giữa văn bản và số theo chiều dọc và ngang trên OLED.
- Cách lập trình Raspberry Pi để vẽ trên OLED.
- Cách lập trình Raspberry Pi để hiển thị hình ảnh trên OLED.
Linh Kiện Cần Thiết
| 1 | × | Raspberry Pi 5 | ||
| 1 | × | SSD1306 I2C OLED Display 128x64 | ||
| 1 | × | SSD1306 I2C OLED Display 128x32 | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Raspberry Pi | ||
| 1 | × | (Khuyến nghị) Raspberry Pi Prototyping Base Plate & Breadboard Kit | ||
| 1 | × | (Khuyến nghị) HDMI Touch Screen Monitor for Raspberry Pi |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Màn Hình OLED
Có nhiều loại màn hình OLED khác nhau có sẵn. Màn hình OLED được sử dụng phổ biến nhất với Raspberry Pi là SSD1306 I2C OLED 128x64 và 128x32.

Sơ Đồ Chân Màn Hình OLED I2C
- Chân GND: nên được kết nối với chân mass của Raspberry Pi.
- Chân VCC: là nguồn cung cấp cho màn hình, nên được kết nối với chân 5V trên Raspberry Pi.
- Chân SCL: là chân đồng hồ tuần tự cho giao diện I2C.
- Chân SDA: là chân dữ liệu tuần tự cho giao diện I2C.

※ Lưu ý:
- Các chân của module OLED có thể được sắp xếp khác nhau tùy thuộc vào nhà sản xuất và loại module. QUAN TRỌNG là luôn tham khảo các nhãn được in trên module OLED. Hãy chú ý kỹ!
- Hướng dẫn này sử dụng màn hình OLED sử dụng driver SSD1306 I2C. Chúng tôi đã thử nghiệm với màn hình OLED từ DIYables và nó hoạt động hoàn hảo.
Sơ Đồ Đấu Nối
- Sơ đồ đấu nối giữa Raspberry Pi và OLED 128x64

This image is created using Fritzing. Click to enlarge image
- Sơ đồ đấu nối giữa Raspberry Pi và OLED 128x32

This image is created using Fritzing. Click to enlarge image
Bảng đấu nối giữa Raspberry Pi và màn hình OLED:
| Module OLED | Raspberry Pi |
|---|---|
| Vin | 5V |
| GND | GND |
| SDA | GPIO2 (pin 3) |
| SCL | GPIO3 (pin 5) |
Mã Raspberry Pi - Hiển Thị Văn Bản Trên OLED
Các Bước Thực Hiện
- Đảm bảo bạn đã cài đặt Raspbian hoặc bất kỳ hệ điều hành tương thích nào khác trên Pi.
- Đảm bảo Raspberry Pi của bạn được kết nối với cùng mạng cục bộ với PC của bạn.
- Đảm bảo Raspberry Pi của bạn được kết nối internet nếu bạn cần cài đặt một số thư viện.
- Nếu đây là lần đầu bạn sử dụng Raspberry Pi, hãy xem Raspberry Pi - Cài Đặt Phần Mềm
- Kết nối PC của bạn với Raspberry Pi qua SSH bằng SSH client tích hợp trên Linux và macOS hoặc PuTTY trên Windows. Xem cách kết nối PC với Raspberry Pi qua SSH.
- Đảm bảo bạn đã cài đặt thư viện RPi.GPIO. Nếu chưa, hãy cài đặt bằng lệnh sau:
- Trước khi sử dụng màn hình OLED với Raspberry Pi, chúng ta cần bật giao diện I2C trên Raspberry Pi. Xem Cách bật giao diện I2C trên Raspberry Pi
- Cài đặt thư viện OLED bằng cách chạy lệnh sau:
- Tạo file script Python oled.py và thêm đoạn mã sau:
- Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
- Kiểm tra màn hình OLED.
Script chạy trong vòng lặp vô hạn liên tục cho đến khi bạn nhấn Ctrl + C trong terminal.
Mã Raspberry Pi – Hiển Thị Hình Ảnh
Để hiển thị hình ảnh trên OLED, trước tiên chúng ta phải chuyển đổi nó (bất kể định dạng nào) thành mảng bitmap. Điều này có thể được thực hiện bằng công cụ trực tuyến này. Vui lòng tham khảo hình ảnh bên dưới để biết cách thực hiện. Tôi đã chuyển đổi biểu tượng Raspberry Pi thành mảng bitmap.

Khi quá trình chuyển đổi hoàn tất, hãy lấy mã mảng và thay thế mã mảng ArduinoIcon hiện tại trong đoạn mã sau.
※ Lưu ý:
- Kích thước của hình ảnh không được vượt quá kích thước của màn hình.
- Nếu bạn muốn sử dụng mã cho OLED 128x32, bạn phải thay đổi kích thước hình ảnh và sửa đổi các tham số chiều rộng và chiều cao trong hàm oled.drawBitmap();.