#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Arduino.h>
#include <uRTCLib.h>
Adafruit_SSD1306 oled(128, 64, &Wire, -1);
uRTCLib rtc(0x68);
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
void setup()
{pinMode(A0, OUTPUT); //S3
pinMode(A1, OUTPUT); //S2
pinMode(A2, OUTPUT); //S1
pinMode(A3, OUTPUT); //S0
Serial.begin(9600);
URTCLIB_WIRE.begin();
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C))
{Serial.println(F("failed to start SSD1306 OLED"));
while (1);
}
delay(1000);
oled.setTextSize(1); // set text size
oled.setTextColor(WHITE);
oled.clearDisplay(); // clear display
oled.drawRoundRect(64,0,64,32,1,WHITE);
oled.drawTriangle(0, 11, 7, 0, 14, 11, WHITE);
oled.drawCircle(30, 43, 5, WHITE);
oled.setCursor(5, 3);
oled.print("!");
oled.setCursor(3, 40);
oled.setTextColor(1);
oled.setTextColor(SSD1306_BLACK, SSD1306_WHITE);
oled.print("CH ");
// oled.setCursor(28, 40);
// oled.print("-");
oled.drawRect(29,43,3,1,WHITE);
oled.fillCircle(60, 30, 10, WHITE);
// oled.print("K");
//oled.setTextSize(1); // Atur ukuran text
// oled.setTextColor(WHITE); // Atur warna text
// oled.setCursor(0, 10); // Atur posisi text pada display
// oled.println("Hello World"); // Text yang dicetak
oled.display(); // menampilkan display OLED
}
void loop()
{digitalWrite(A0, LOW);
digitalWrite(A1, LOW);
digitalWrite(A2, LOW);
digitalWrite(A3, LOW);
Serial.println(analogRead(A6));
delay(500);
oled.clearDisplay(); // clear display
oled.setTextColor(1);
oled.setCursor(0, 0);
oled.print(rtc.day());
oled.print('/');
oled.print(rtc.month());
oled.print('/');
oled.print(rtc.year());
oled.print(" (");
oled.print(daysOfTheWeek[rtc.dayOfWeek()-1]);
oled.print(") ");
oled.setCursor(0, 1);
oled.print(rtc.hour());
oled.print(':');
oled.print(rtc.minute());
oled.print(':');
if (rtc.second() < 10) {
oled.print(0);
}
oled.println(rtc.second());
delay(1000);
oled.display();
}