Menampilkan Teks di LCD OLED 0.98″ Dengan Arduino

OLED (Organic Light Emitting Diode) adalah modul tampilan yang sangat populer di dunia mikrokontroler, terutama karena bentuknya yang ringkas, hemat daya, dan tidak membutuhkan backlight. Salah satu jenis OLED yang sering digunakan adalah OLED 0.96 atau 0.98 inci dengan resolusi 128×64 piksel dan komunikasi I2C. Modul ini sangat cocok untuk menampilkan teks, sensor data, grafik kecil, hingga animasi sederhana.

Dalam tutorial kali ini, kita akan membuat tampilan sederhana menggunakan OLED SSD1306 untuk menampilkan teks seperti “TES LCD”, “OLED 0.98”, dan alamat website manfahbot.cc. Proyek ini sangat cocok untuk pemula dan bisa dijadikan dasar untuk membuat tampilan sensor, jam digital, hingga interface pada robot atau sistem monitoring.

Komponen yang Digunakan
  • 1x Arduino Uno / MFB ATMEL 328 micro
  • 1x Modul OLED SSD1306 (0.96” atau 0.98”)
  • Kabel jumper secukupnya
  • Breadboard (opsional)
Skema Rangkaian

Koneksi Rangkaian

Pin OLEDPin Arduino Uno
VCC5V
GNDGND
SDAA4
SCLA5

Catatan: Untuk Arduino Nano, koneksi I2C tetap sama (SDA: A4, SCL: A5). Jika menggunakan ESP32/ESP8266, pastikan cek pin I2C default di board tersebut.

Library yang Harus Ditambahkan

Untuk menjalankan OLED SSD1306, kamu perlu menambahkan dua library berikut dari Library Manager di Arduino IDE:

🔗 Adafruit GFX Library
🔗 Adafruit SSD1306 Library

Catatan: Semua library bisa juga diinstal melalui Arduino IDE lewat Sketch → Include Library → Manage Libraries… Cari Adafruit SSD1306 dan Adafruit GFX, lalu klik “Install”

Kode Program Lengkap
//PROGRAM INI DI BUAT OLEH  : MANFAHBOT INDUSTRIAL AUTOMATION
//HAK CIPTA PROGRAM/CODING : LUKMAN HAKIM A.
//WEBSITE : http://manfahbot.cc

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

// Ukuran layar OLED (biasa untuk 0.98" atau 0.96")
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

// Alamat I2C default SSD1306: 0x3C
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
// Inisialisasi Serial Monitor (opsional)
Serial.begin(9600);

// Inisialisasi OLED
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("Gagal mendeteksi OLED"));
for (;;); // berhenti
}
}

void loop() {
// Clear layar
display.clearDisplay();

// Tampilkan teks baris pertama
display.setTextSize(2); // Ukuran font besar untuk judul
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0); // posisi x=0, y=10
display.println("TES LCD");

display.setCursor(0, 20);
display.println("OLED 0.98");

// Tampilkan teks baris kedua
display.setTextSize(1.5); // Ukuran font kecil untuk subjudul
display.setCursor(0, 45); // posisi tengah ke bawah
display.println("manfahbot.cc");

// Update layar
display.display();
}
Penjelasan Singkat Program
  • display.begin() menginisialisasi modul OLED dengan alamat I2C 0x3C.
  • clearDisplay() membersihkan layar sebelum menampilkan konten baru.
  • setTextSize() mengatur ukuran teks (1 = kecil, 2 = sedang, dst.).
  • setCursor(x, y) menentukan posisi teks.
  • println() menampilkan teks pada layar.
  • display.display() digunakan untuk memperbarui tampilan dari buffer ke layar.

Kode ini menampilkan 3 baris teks berbeda dengan ukuran teks yang variatif. Kamu bisa menyesuaikan posisi dan ukuran untuk keperluan desainmu sendiri.

Kesimpulan

OLED SSD1306 adalah pilihan ideal untuk menampilkan data pada proyek berbasis Arduino karena tampilannya tajam dan hemat energi. Dalam tutorial ini, kamu telah belajar bagaimana menampilkan teks statis pada OLED 0.98” menggunakan library Adafruit SSD1306. Proyek ini merupakan dasar dari pengembangan aplikasi tampilan seperti jam digital, monitor sensor, status robot, hingga sistem antrian mini.

Jika kamu tertarik membuat tampilan animasi, grafik sensor real-time, atau mengintegrasikan dengan IoT platform, kamu bisa lanjut ke tahap pengembangan lanjutan—dan saya siap bantu kamu menyusunnya!

manfah.industri@gmail.com
manfah.industri@gmail.com
Articles: 26

Leave a Reply

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *