Organic Light-Emitting Diode (OLED) merupakan layar display yang terbuat dari semikonduktor berfungsi sebagai pemancar cahaya yang terbuat dari lapisan organik. OLED digunakan dalam teknologi electroluminence, seperti pada tampilan layar atau display. Beberapa varian OLED yang dijual di pasaran seperti terlihat pada gambar di bawah ini. Produk-produk OLED display tersebut tersedia dalam berbagai macam ukuran (0,96 inci, 1,3 inci, dll), resolusi (128×64, 128×32, 180×60, dll) dan warna (biru/putih)
Cara kerja OLED berdasarkan medan listrik yang diterapkan pada elektroda. Jika ada medan listrik maka fungsi kerja katoda berkurang, memungkinkan elektron berpindah dari katoda ke pita konduksi di lapisan organik dan menghasilkan lubang pada pita valensi. Anoda akan mendorong lubang menuju pita valensi organik dan menyebabkan terjadinya proses rekombinasi elektron dan lubang pada lapisan organik, yang menyebabkan elektron akan turun dan bergabung dengan lubang, kemudian memberikan energi berlebih berupa foton cahaya dengan panjang gelombang tertentu. Akhirnya, emisi cahaya pada panjang gelombang tertentu akan diperoleh tergantung pada jenis bahan pancaran cahaya yang digunakan,.
Alat dan Bahan
Untuk lebih memahami bagaimana cara kerja OLED Dosplay khususnya dalam aplikasinya dengan Arduino Uno, marilah kita buat percobaan sederhana berikut ini:
Alat dan bahan yang perlu disiapkan:
- Arduino Uno
- Modul OLED Display 128×64 SSD1306
- Kabel jumper male to female secukupnya
Konfigurasi wiring:
- VCC dihubungkan dengan 5v Arduino Uno.
- GND dihubungkan dengan GND Arduino Uno.
- SDA dihubungkan dengan pin SDA atau pin A4 Arduino Uno
- SCL dihubungkan dengan pin SCL atau pin A5 Arduino Uno
Source Code
Buat pembelajaran berikut kami berikan contoh program untuk menampilkan karakter di OLED 128×64 menggunakan Arduino Uno. Sebelumnya Anda perlu menginstal library-library yang dibutuhkan ya, misalnya library Adafruit_GFX.h dan Adafruit_SSD1306.h. Cara instalnya cukup mudah, cukup melalu menu Tools-Manage Libraries kemudian ketikkan nama library yang mau diinstal. Pastikan laptop Anda terhubung internet ya
#include <SPI.h> //Library SPI #include <Wire.h> //Library Wire #include <Adafruit_GFX.h> //Library GFX #include <Adafruit_SSD1306.h> //Library OLED SSD1306 #define SCREEN_WIDTH 128 //Panjang LCD OLED #define SCREEN_HEIGHT 64 //Tinggi LCD OLED #define OLED_RESET -1 //Pin reset terhubung dengan arduino Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); void setup() { Serial.begin(9600); if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { //Alamat OLED Serial.println(F("SSD1306 allocation failed")); for(;;); // Don't proceed, loop forever } } void loop() { //display.display(); //delay(2000); display.clearDisplay(); display.setTextSize(1); //Instruksi mengatur ukuran karakter display.setTextColor(WHITE); //Instruksi untuk mengatur warna display.setCursor(32,0); //Karakter dumulai dari kolom 32 baris 1 display.print("Welcome to"); //menampilkan karakter "Welcome to" pada OLED display.setTextSize(1); //Instruksi mengatur ukuran karakter display.setCursor(20,10); //Karakter dimulai dari kolom 20 baris 10 display.setTextColor(WHITE); //Instruksi untuk mengatur warna tampilan display.println("Indomaker.com"); //menampilkan karakter "Indomaker.com" pada OLED display.setTextSize(1); //Instruksi mengatur ukuran karakter display.setCursor(10,20); display.setTextColor(WHITE); display.print("Innovate Every day"); //menampilkan karakter "Innovate Every Day" pada OLED display.display(); delay(2000); display.clearDisplay(); display.setTextSize(2); //Instruksi mengatur ukuran karakter display.setTextColor(WHITE); //Instruksi untuk mengatur warna display.setCursor(20,0); //Karakter dumulai dari kolom 20 baris 0 display.print("Tutorial"); //menampilkan karakter "Tutorial" pada OLED display.setTextSize(2); //Instruksi mengatur ukuran karakter display.setTextColor(WHITE); //Instruksi untuk mengatur warna display.setCursor(40,20); //Karakter dumulai dari kolom 40 baris 20 display.print("OLED"); //menampilkan karakter "OLED" pada OLED display.setTextSize(2); //Instruksi mengatur ukuran karakter display.setCursor(20,50); //Karakter dimulai dari kolom 20 baris 50 display.setTextColor(WHITE); //Instruksi untuk mengatur warna tampilan display.println("SSD1306"); //menampilkan karakter "SSD1306" pada OLED display.display(); delay(2000); }
Hasil Percobaan
Upload contoh program di atas, kemudian amati OLED display Anda. Jika rangkaian komponen sudah benar dan tidak ada error di sketch di atas, seharusnya tampilan project Anda seperti gambar di bawah
Gimana? Mudah bukan? Komponen display sangat penting dalam project/sistem Anda baik untuk menampilkan menu atau mungkin proses debugging jika sistem Anda bermasalah. Semoga contoh project sederhana di atas dapat menjadi pemicu ide-ide besar Anda ….
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
#include //lcd #include //keypad #include //servo #include #include //7seg 4digit #include #include #include #include #define WIRE Wire //oled //oled1 #define LOGO_HEIGHT 32 #define LOGO_WIDTH 128 static const unsigned char PROGMEM logo_bmp[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,… Read more »
mau belajar pak
saya coba file ino nya di compile di arduino software saya kok eror ya saya pake uno eror nya tabrakan sama #include i2c.h kata erornya gimana ngatasinya pak
saya coba file nya gak bisa compile mas tabrakan sama I2C.h padahal saya sudah simpan file gfx sama oled nya di library.caranya gimana ya
coba install library dari Library Manager. Kl masih muncul error conflict dg I2C.h berarti hrs coba cek library yg pake I2C kmd uninstall library tsb
ok mas saya soal nya lagi mau cobaa file ino DDS yg pake lcd 16×2 biar gak eror lagi saya biarkan saja dulu.nanti buat selanjut nya ganti oled bisa saya hapus dulu file i2c nya.terima kasih