from machine import Pin, SoftI2C
from ssd1306 import SSD1306_I2C
import time

# Tentukan pin yang digunakan untuk komunikasi I2C
i2c = SoftI2C(scl=Pin(22), sda=Pin(21), freq=400000)  # Gunakan GPIO22 untuk SCL dan GPIO21 untuk SDA

# Inisialisasi OLED dengan resolusi 128x64
oled = SSD1306_I2C(128, 64, i2c)

# Fungsi untuk menghapus layar OLED
def clear_oled():
    oled.fill(0)  # Mengisi layar dengan warna hitam (0), yang berarti menghapus semua teks atau gambar yang ada
    oled.show()   # Menampilkan perubahan yang dilakukan ke layar OLED

# Tulis teks ke layar OLED
oled.text("Hello, Wokwi!", 10, 0)  # Menulis teks "Hello, Wokwi!" pada posisi X=10, Y=0 di layar OLED
oled.text("Praktikum", 0, 20)          # Menulis teks "ESP32" pada posisi X=0, Y=20 di layar
oled.text("Esp32micropython", 0, 40)    # Menulis teks "MicroPython" pada posisi X=0, Y=40 di layar
oled.show()  # Menampilkan teks yang sudah ditulis di layar

# Tunggu beberapa saat sebelum menghapus layar OLED
time.sleep(5)  # Menunda eksekusi program selama 5 detik untuk memberi waktu pengguna melihat teks yang ditampilkan

# Hapus layar OLED
clear_oled()  # Memanggil fungsi yang sudah dibuat sebelumnya untuk menghapus layar OLED dengan mengisi layar dengan warna hitam dan menampilkannya