#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define potensio 13 //pin potensio meter
#define lebar 128 //lebar layar oled
#define tinggi 64 //tinggi layar oled
int baca_potensio; //variable pembacaan potensio meter
Adafruit_SSD1306 oled(lebar, tinggi, &Wire, -1); //membuat objek tampiln oled yng terhubung melalui I2C
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(potensio, INPUT); //input mode pada potensio meter
//Menginisialisasi tampilan OLED dengan alamat I2C 0x3C
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("Gagal memulai SSD1306 OLED"));
while(1);
}
delay(2000);
oled.clearDisplay(); //bersihkan layar
oled.setTextSize(1); //mngatur ukuran teks
oled.setTextColor(WHITE); //mengatur warna teks
oled.setCursor(0,2); //mengatur posisi muncul teks
oled.println("Selamat Datang"); //tulisan yang muncul pada oled
oled.display(); //perintah menampilkan
}
void loop() {
// baca nilai potensio
baca_potensio = analogRead(potensio);
//konversi nilai pembacaan potensiometer ke rentang 0 - 255 (nilai analogwrite)
int nilai_konversi=(float)baca_potensio/ 4095*255;
// put your main code here, to run repeatedly:
delay(2000); // this speeds up the simulation
oled.clearDisplay();
oled.setTextSize(1);
oled.setCursor(0,2);
oled.println("Tampilan Konversi");
oled.setCursor(0,20);
oled.println("Potensio Meter");
//tampilkan nilai hasil konversi ke serial monitor
oled.setCursor(50,50);
oled.println(nilai_konversi);
oled.display();
}