By | 07/05/2018

Hello sahabat Anak Kendali 

pada kesempatan kali ini saya akan menulis artikel tentang cara membuat jam digial dengan Modul RTC Ds 1307 Dot matrix 8×8 Max7219 Arduino
modul RTC Ds1307 sebagai penentu waktu secara realtime dan otomatis menyesuaikan dengan waktu sebenarnya, dan Dot matrix 8×8 yang di kendalikan dengan Ic Max7912 sebagai indikator display penampil hasil dari waktu yang di peroleh modul RTC,

pada project kali ini kita akan menggunakan dua komunikasi yaitu komunikasi SPI dan komunikasi I2C, komunikasi SPI digunakan untuk interface anatara Arduino dan dot matrix Ic Max7912 sedangkan komunikasi I2C digunakan untuk interface anatara Arduino dan RTC Ds1307.

Jam Digital RTC Ds1307 Dot Matrix 8x8 Arduino

langsung saja kita mencoba untuk membuat project jam digital ini, pertama yang harus kita lakukan adalah menghubungkan setiap modul ke arduino, untuk modul dot matrix silahkan hubungkan seperti berikut :

Rangkaian Skematik

  • 5v Arduino —- VCC Dot Matrix
  • GND Arduino —- GND Dot Matrix
  • 13 Arduino —– CLK Dot Matrix
  • 10 Arduino —– CS Dot Matrix
  • 11 Arduino —– DIN Dot Matrix

kemudian untuk modul RTC Ds1037 dengan Arduino silahkan hubungkan seperti berikut :

  • 5v Arduino —- VCC RTC Ds 1037
  • GND Arduino —- GND  RTC Ds1037
  • A4 Arduino —- SDA RTC Ds1037
  • A5 Arduino —- SCL RTC Ds1037

jangan khawatir dan jangan bingung hanya karena pin SDA SCL di modul RTC ada dua,, distu ada tulisanya Tiny RTC dan I2c Modules, maka pilih yang bagian I2c module.   untuk library RTC silahkan download dengan cara klik sketch >> include libraries >> manage libraries >> kemudian cari RTCLib dan download   untuk library dotmatrix max7219 silahkan ambil dibawah ini  

DOWNLOAD LIBRARY 1
DOWNLOAD LIBRARY 2
 

Kode Arduino

#include <SPI.h>
#include <bitBangedSPI.h>
#include <MAX7219_Dot_Matrix.h>
#include <Wire.h>
#include "RTClib.h"
#define Y now.year()
#define M now.month()
#define D now.day()
#define HD daysOfTheWeek[now.dayOfTheWeek()]
#define H now.hour()
#define m now.minute()
const byte chips = 12;
// 12 chips (display modules), hardware SPI with load on D10
MAX7219_Dot_Matrix display (chips, 10);  // Chips / LOAD
char message [100];

#if defined(ARDUINO_ARCH_SAMD)
// for Zero, output on USB Serial console, remove line below if using programming port to program the Zero!
   #define Serial SerialUSB
#endif
RTC_DS1307 rtc;
char daysOfTheWeek[7][12] = {"Ahad", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"};

void setup ()
  {
  display.begin ();
  #ifndef ESP8266
  while (!Serial); // for Leonardo/Micro/Zero
#endif
  Serial.begin(57600);
  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }
  if (! rtc.isrunning()) {
    Serial.println("RTC is NOT running!");
    // 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));
  }
  }
unsigned long lastMoved = 0;
unsigned long MOVE_INTERVAL = 20;  // mS
int  messageOffset;
void updateDisplay ()
  {
    DateTime now = rtc.now();
 
    sprintf (message, "%s:%d:%d:%d Jam %d:%d Wib", HD,D,M,Y,H,m);
  display.sendSmooth (message, messageOffset);

  // next time show one pixel onwards
  if (messageOffset++ >= (int) (strlen (message) * 8))
    messageOffset = - chips * 8;
  }  // end of updateDisplay
void loop ()
  {
 
  // update display if time is up
  if (millis () - lastMoved >= MOVE_INTERVAL)
    {
    updateDisplay ();
    lastMoved = millis ();
    }
  // do other stuff here 
   
  }  // end of loop

semoga apa yang saya tulis bermanfaat dan juga semoga kamu berhasil membuat project ini, jangan gampan menyerah, terus mencoba, karena saya sendiri mencoba project ini tidak langsung bisa, tapi butuh beberapa hari untuk menyelesaikanya ! untuk melihat video hasil nya klik link berikut:

https://www.facebook.com/anakkendali/videos/2021903648073035

keyword : jam digital Dot Matrix, jam digital RTC DS1037, membuat jam digital Arduino, Arduino RTC Arduino RTC Dot matrix Max7219 RTC

3 Replies to “Jam Digital RTC Ds1307 Dot Matrix 8×8 Arduino”

  1. YR Wahyuni

    boleh minta nomor wa gan?
    programnya error di bagian :
    RTC_DS1307 rtc;

    katanya "RTC_DS1302" does not name a type.
    itu kenapa yaa kira2

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *