ESP8266, Cara Mengakses RTC DS3231 dan LCD OLED 0.96 1.3

Hello sahabat Anak kendali


pada kesempatan kali ini saya akan menuliskan artikel tentang tutorial ESP8266, Cara Mengakses RTC DS3231 dan LCD OLED 0.96 1.3.

dan tutorial kali ini saya menggunakan modul Wemos D1 mini sebagai mikrokontroler nya yang kemudian Tutorial ini bisa dikembangkan berbagai project lainya.

keyword :

Wemose D1 Mini DS3231, RTC DS3231 Wemos D1 mini, ESP8266 DS3231, I2C ESP8266 Wemos D1 Mini.

pertama silahkan rangkai dulu senjatanya seperti gambar di atas, adapun library yang diperlukan bisa di download disini

Library OLED
Library RTC DS3231

setelah itu silahkan buat pogram berikut ini :

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 0
Adafruit_SSD1306 display(OLED_RESET);
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2

#define LOGO16_GLCD_HEIGHT 16
#define LOGO16_GLCD_WIDTH  16

#include <Wire.h>
#include "RTClib.h"
RTC_DS3231 rtc;
#define detik now.second()
#define menit now.minute()
#define jam now.hour()
#define tangal now.day()
#define hari daysOfTheWeek[now.dayOfTheWeek()]
#define bulan now.month()
#define tahun now.year()
char daysOfTheWeek[7][12] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jum'at", "Saturday"};
char buff[10];
#if (SSD1306_LCDHEIGHT != 64)
//#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
void setup() {
  // put your setup code here, to run once:
Serial.begin(115200);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }
  if (rtc.lostPower()) {
    Serial.println("RTC lost power, lets set the time!");
    // following line sets the RTC to the date & time this sketch was compiled
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    // This line sets the RTC with an explicit date & time, for example to set
    // January 21, 2014 at 3am you would call:
    // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
  }

}
void loop() {
  // put your main code here, to run repeatedly:
DateTime now = rtc.now();
if (jam <10 && menit <10){
  sprintf (buff, "%s  0%d:0%d", hari,jam,menit);
}
else if (jam <10 && menit >= 10){
  sprintf (buff, "%s  0%d:%d", hari,jam,menit);
}
else if (jam >=10 && menit <10){
  sprintf (buff, "%s  %d:0%d", hari,jam,menit);
}
else if (jam >=10 && menit >=10){
  sprintf (buff, "%s  %d:%d", hari,jam,menit);
}
display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println(buff);
  display.display();
  delay(2000);
}

mungkin cukup sekian artikel kali ini semoga bermanfaat dan jangan lupa untuk berkomentar di bawah ini

chaerul

View Comments

  • bang saya mau tanya, saya udah download dan masukin library nya, tapi yang bagian #include error bang "no such file or directory" solusinya gmn bang? mksih sebelumnya bang kalau bisa tolong bantu ya bang hehee

Recent Posts

Panduan Lengkap: Cara Menyiapkan Klaster Kubernetes pada Ubuntu 22.04 LTS

Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…

6 days ago

AplikasiAkademik.com: Solusi Terbaik untuk Manajemen Sekolah yang Efisien

Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…

7 months ago

Cara Mudah Menginstal OpenVPN Server di Ubuntu 20.04 di Huaweicloud Panduan Langkah demi Langkah

Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…

12 months ago

Install Docker Portainer dan Nginx Proxy Manager Ubuntu Server

Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…

1 year ago

Tutorial led blinking lengkap, Wiring & Code

Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…

1 year ago

Tutorial LCD Display Lengkap dengan wiring & code untuk pemula

Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…

1 year ago