Cara Membuat jam digital menggunakan modul TM1637 dan RTC dengan arduino uno

7:48 AM
Jam digital menggunakan modul TM1637 dan RTC

Jam digital menggunakan modul TM1637 dan RTC (Real-Time Clock) seperti DS3231 atau DS1307 pada Arduino Uno adalah proyek yang cukup sederhana. Modul TM1637 digunakan untuk menampilkan waktu pada display 7-segment, sedangkan modul RTC berfungsi untuk menyimpan dan menjaga waktu agar tetap akurat meskipun Arduino dimatikan.

Berikut adalah langkah-langkah untuk membuat jam digital menggunakan TM1637 dan RTC:

Komponen yang Diperlukan:

  • Arduino Uno
  • Modul RTC (DS3231 atau DS1307)
  • Modul TM1637 (4-digit 7-segment display)
  • Kabel jumper
  • Breadboard

Rangkaian
Hubungkan Modul TM1637 ke Arduino:
  • CLK (TM1637) → Pin digital 2 (Arduino)
  • DIO (TM1637) → Pin digital 3 (Arduino)
  • VCC → 5V (Arduino)
  • GND → GND (Arduino)
Hubungkan Modul RTC ke Arduino:
  • SCL (RTC) → Pin A5 (Arduino Uno)
  • SDA (RTC) → Pin A4 (Arduino Uno)
  • VCC → 5V (Arduino)
  • GND → GND (Arduino)
Library yang Dibutuhkan
Kedua library ini bisa diunduh dan diinstal melalui Library Manager di Arduino IDE.

Program
#include <Wire.h>
#include <RTClib.h>
#include <TM1637Display.h>

// Pin TM1637
#define CLK 2
#define DIO 3

// Inisialisasi modul RTC dan TM1637
RTC_DS3231 rtc;
TM1637Display display(CLK, DIO);

void setup() {
  Serial.begin(9600);

  // Inisialisasi modul TM1637
  display.setBrightness(0x0F);

  // Inisialisasi modul RTC
  if (!rtc.begin()) {
    Serial.println("RTC tidak terdeteksi!");
    while (1);
  }

  if (rtc.lostPower()) {
    Serial.println("RTC kehilangan daya, set waktu sekarang!");
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // Set waktu sesuai dengan waktu saat kompilasi
  }
}

void loop() {
  DateTime now = rtc.now(); // Ambil waktu dari RTC

  // Format waktu ke 24 jam
  int displayTime = now.hour() * 100 + now.minute();

  // Tampilkan waktu pada TM1637
  display.showNumberDecEx(displayTime, 0b01000000, true); // Tampilkan dengan titik di tengah (:)

  delay(1000); // Update setiap detik
}

Next Article
« Prev Post
Previous Article
Next Post »
Disqus
Tambahkan komentar Anda

No comments