#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
#define OLED_RESET 4
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
const int potensio = A0;
int data_potensio = 0;
int duty_c1 = 0;
int hasil_jumlah= 0;
const int tombol_1 = 4;
const int tombol_2 = 3;
const int tombol_3 = 2;
const int led_merah = 12;
const int led_kuning = 11;
const int led_hijau = 10;
void tampilan_lcd_1(){
display.print("data potensio: ");
display.println(data_potensio);
display.print("duty_c1: ");
display.println(duty_c1);
display.print("hasil_jumlah: ");
display.println(hasil_jumlah);
}
int jumlahkan(int var_1, int var_2){
return var_1 + var_2;
}
void setup() {
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
pinMode(potensio, INPUT);
pinMode(tombol_1, INPUT_PULLUP);
pinMode(tombol_2, INPUT_PULLUP);
pinMode(tombol_3, INPUT_PULLUP);
pinMode(led_merah, OUTPUT);
pinMode(led_kuning, OUTPUT);
pinMode(led_hijau, OUTPUT);
}
void loop() {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,0);
data_potensio = analogRead(potensio);
duty_c1 = map(data_potensio,0,1023,0,255);
analogWrite(led_hijau, duty_c1);
tampilan_lcd_1();
hasil_jumlah = jumlahkan(data_potensio, duty_c1);
display.display();
}