Menambahkan Layar OLED pada Proyek Arduino Anda
Sari Dewi
Pendidik bidang elektronika dan pegiat komunitas pembuat (maker).
2026-05-17

Panduan praktis untuk menghubungkan dan menampilkan informasi pada layar OLED berbasis chip SSD1306 dengan Arduino dan ESP32 menggunakan pustaka Adafruit.
Mengapa Memilih Layar OLED?
Layar OLED memiliki tampilan yang sangat tajam, konsumsi daya rendah, dan sangat mudah digunakan bersama Arduino. Modul SSD1306 berukuran 0.96 inci (resolusi 128×64 piksel) dapat diperoleh dengan harga sangat terjangkau dan menggunakan jalur komunikasi I2C — hanya memerlukan dua kabel di luar kabel daya.
Koneksi Perangkat Keras
SSD1306 OLED → Arduino UNO
VCC → 3.3V atau 5V
GND → GND
SCL → A5
SDA → A4
Untuk modul ESP32, hubungkan ke GPIO 22 (SCL) dan GPIO 21 (SDA).
Menginstal Pustaka (Library)
Di aplikasi Arduino IDE, buka menu Sketch → Include Library → Manage Libraries lalu pasang pustaka berikut:
- Adafruit SSD1306
- Adafruit GFX Library
Menampilkan Hello World pada OLED
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(SSD1306_WHITE);
display.setCursor(10, 20);
display.print("Halo!");
display.display();
}
Menggambar Bentuk dan Ikon
Pustaka Adafruit GFX menyediakan berbagai fungsi bawaan untuk membuat garis, lingkaran, persegi panjang, dan gambar bitmap. Anda dapat mengubah gambar kecil apa pun menjadi deretan kode (bitmap array) menggunakan utilitas online seperti LCD Assistant atau image2cpp.
Menampilkan Hasil Pembacaan Sensor
Manfaat terbesar dari modul layar ini adalah saat dipadukan dengan sensor. Anda dapat menampilkan nilai suhu secara real-time, bilah indikator (progress bar) untuk hitung mundur, atau grafik mini dari 128 pembacaan sensor terakhir (satu piksel per kolom).
// Menggambar grafik sensor mini di seluruh lebar layar
for (int x = 0; x < 128; x++) {
int y = map(sensorHistory[x], 0, 100, 63, 0);
display.drawPixel(x, y, SSD1306_WHITE);
}
display.display();
Produk Pilihan
Jelajahi berbagai komponen mikrokontroler, sensor pintar, dan aksesori IoT terlengkap