0% menganggap dokumen ini bermanfaat (0 suara)
34 tayangan7 halaman

Pengenalan Modul RTC dalam Arduino

Dokumen ini adalah panduan pembelajaran tentang penggunaan modul Real Time Clock (RTC) DS3231 dan DS1307 dengan Arduino IDE. Peserta didik diharapkan dapat menerapkan komponen RTC dalam rangkaian mikrokontroler dan membuat program untuk mendapatkan data dan waktu. Selain itu, dokumen ini mencakup teori dasar, diagram pengkabelan, langkah-langkah kerja, dan tugas akhir untuk membuat aplikasi jam digital LCD.

Diunggah oleh

Usman Manye
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
34 tayangan7 halaman

Pengenalan Modul RTC dalam Arduino

Dokumen ini adalah panduan pembelajaran tentang penggunaan modul Real Time Clock (RTC) DS3231 dan DS1307 dengan Arduino IDE. Peserta didik diharapkan dapat menerapkan komponen RTC dalam rangkaian mikrokontroler dan membuat program untuk mendapatkan data dan waktu. Selain itu, dokumen ini mencakup teori dasar, diagram pengkabelan, langkah-langkah kerja, dan tugas akhir untuk membuat aplikasi jam digital LCD.

Diunggah oleh

Usman Manye
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

Konsentrasi Keahlian Teknik Elektronika Industri

SMK Negeri 1 Krangkeng


Pemrograman Mikrokontroler Bahasa Arduino IDE
Kelas Materi Semester
XI Real Time Clock (RTC) Ganjil
Nama Guru Farizal Amrullah, [Link] Alokasi Waktu 4×45 menit

I. Tujuan Pembelajaran
Setelah melalui proses pembelajaran ini, peserta didik mampu :
1. Menerapkan komponen RTC (Real Time Clock) didalam rangkaian mikrokontroler
2. Membuat program Arduino untuk mendapatkan data dan waktu dari modul RTC

II. Dasar Teori

Dalam tutorial ini, kita akan mempelajari:


 Cara mendapatkan data dan waktu (detik, menit, jam, hari, tanggal, bulan, dan tahun)
menggunakan Arduino dengan Modul RTC DS3231 dan DS1307.
 Cara membuat jadwal harian dengan Arduino
 Cara membuat jadwal mingguan dengan Arduino
 Cara membuat jadwal pada tanggal tertentu dengan Arduino

Tentang Modul RTC DS3231

Arduino sendiri memiliki beberapa fungsi yang berhubungan dengan waktu seperti millis(),
micros(). Namun, fungsi-fungsi tersebut tidak dapat memberikan tanggal dan waktu (detik,
menit, jam, hari, tanggal, bulan, dan tahun). Untuk mendapatkan tanggal dan waktu, kita perlu
menggunakan modul Real Time Clock (RTC) seperti DS3231, DS1370. Modul DS3231 memiliki
presisi yang lebih tinggi daripada DS1307.

Pin Modul RTC DS3231

Modul RTC DS3231 memiliki sepuluh pin:


 Pin 32K : mengeluarkan jam referensi yang stabil (dengan kompensasi suhu) dan akurat.
 Pin SQW : menghasilkan gelombang persegi yang bagus pada 1Hz, 4kHz, 8kHz atau 32kHz
dan dapat ditangani secara terprogram. Ini selanjutnya dapat digunakan sebagai interupsi
karena kondisi alarm dalam banyak aplikasi berbasis waktu.
 Pin SCL : adalah pin jam serial untuk antarmuka I2C.
 Pin SDA : adalah pin data serial untuk antarmuka I2C.
 Pin VCC : memasok daya untuk modul. Tegangannya bisa antara 3,3V hingga 5,5V.
 Pin GND : adalah pin ground.

Untuk penggunaan normal, perlu menggunakan 4 pin: VCC, GND, SDA, SCL.

Modul DS3231 juga memiliki tempat baterai.


 Jika kita memasukkan baterai CR2032, ia akan menjaga waktu pada modul tetap berjalan saat
daya utama mati.
 Jika kita tidak memasukkan baterai, informasi waktu akan hilang jika daya utama mati dan
Anda perlu mengatur waktu lagi.

LKPD – Real Time Clock (RTC) Hal. 1 dari 7 hal.


Diagram Pengkabelan

Cara Pemrograman Untuk Modul RTC DS3231

 Sertakan library:
#include <RTClib.h>
 Nyatakan objek RTC:
RTC_DS3231 rtc;
 Inisialisasi RTC:
if (! [Link]())
{
[Link]("Couldn't find RTC");
while (1);
}
 Untuk pertama kalinya, atur RTC ke tanggal dan waktu di PC sketsa dikompilasi
[Link](DateTime(F(__DATE__), F(__TIME__)));
 Membaca informasi tanggal dan waktu dari modul RTC
DateTime now = [Link]();
[Link]("Date & Time: ");
[Link]([Link](), DEC);
[Link]('/');
[Link]([Link](), DEC);
[Link]('/');
[Link]([Link](), DEC);
[Link](" (");
[Link]([Link]());
[Link](") ");
[Link]([Link](), DEC);
[Link](':');
[Link]([Link](), DEC);
[Link](':');
[Link]([Link](), DEC);

Tentang Modul RTC DS1307

Arduino sendiri memiliki beberapa fungsi yang berhubungan dengan waktu seperti millis(),
micros(). Namun, fungsi-fungsi tersebut tidak dapat memberikan tanggal dan waktu (detik,
menit, jam, hari, tanggal, bulan, dan tahun). Untuk mendapatkan tanggal dan waktu, kita perlu
menggunakan modul Real Time Clock (RTC) seperti DS3231, DS1370. Modul DS3231 memiliki
presisi yang lebih tinggi daripada DS1307.

Pin Modul RTC DS1307

Modul RTC DS1307 memiliki duabelas pin. Namun, untuk penggunaan normal, modul ini
memerlukan 4 pin: VCC, GND, SDA, SCL.
 Pin SCL : adalah pin jam serial untuk antarmuka I2C.
 Pin SDA : adalah pin data serial untuk antarmuka I2C.
 Pin VCC : menyalurkan daya ke modul. Tegangannya bisa antara 3,3V hingga 5,5V.
 Pin GND : adalah pin ground.

LKPD – Real Time Clock (RTC) Hal. 2 dari 7 hal.


Modul DS1307 juga memiliki tempat baterai.
 Jika kita memasukkan baterai CR2032, ia akan menjaga waktu pada modul tetap berjalan saat
daya utama mati.
 Jika kita tidak memasukkan baterai, informasi waktu akan hilang jika daya utama mati dan
Anda perlu mengatur waktu lagi.

Diagram Pengkabelan

Cara Pemrograman Untuk Modul RTC DS1307

 Sertakan library:
#include <RTClib.h>
 Nyatakan objek RTC:
RTC_DS1307 rtc;
 Inisialisasi RTC:
if (! [Link]())
{
[Link]("Couldn't find RTC");
while (1);
}
 Untuk pertama kalinya, atur RTC ke tanggal dan waktu di PC sketsa dikompilasi
[Link](DateTime(F(__DATE__), F(__TIME__)));
 Membaca informasi tanggal dan waktu dari modul RTC
DateTime now = [Link]();
[Link]("Date & Time: ");
[Link]([Link](), DEC);
[Link]('/');
[Link]([Link](), DEC);
[Link]('/');
[Link]([Link](), DEC);
[Link](" (");
[Link]([Link]());
[Link](") ");
[Link]([Link](), DEC);
[Link](':');
[Link]([Link](), DEC);
[Link](':');
[Link]([Link](), DEC);

LKPD – Real Time Clock (RTC) Hal. 3 dari 7 hal.


Perbedaan utama antara DS3231 dan DS1307 adalah keakuratan pencatatan waktu.
 DS1307 dilengkapi dengan kristal 32kHz eksternal untuk penunjuk waktu yang frekuensi
osilasinya mudah terpengaruh oleh suhu eksternal. Hal ini biasanya mengakibatkan jam
menjadi tidak tepat sekitar lima menit per bulan.
 DS3231 jauh lebih akurat, karena dilengkapi dengan Temperature Compensated Crystal
Oscillator (TCXO) internal yang tidak terpengaruh oleh suhu, sehingga akurasinya hingga
beberapa menit per tahun paling lama.

III. Gambar Rangkaian

IV. Alat dan Bahan


Nama
No. Spesifikasi Jumlah Keterangan
Alat/ Bahan/Komponen
1 2 3 4 5
1 Komputer / Laptop Minimal Pentium Core i3, RAM 1 set
2 Gb, Minimum OS
Ms.Windows7, Monitor minimal
14” dan port USB
2 Arduino Uno DIP 1 buah
3 Project Board 800 lubang 1 buah
4 LCD 16 Kolom, 2 Baris 1 buah
5 Potensiometer 50 kOhm 1 buah
6 Real Time Clock (RTC) Modul, DS1307 1 buah
7 Kabel Jumper Male to Male 20 cm Secukupnya

LKPD – Real Time Clock (RTC) Hal. 4 dari 7 hal.


V. Keselamatan Kerja
1. Gunakan alat / bahan praktikum sesuai dengan fungsinya
2. Simpan alat / bahan ditempat yang sudah disediakan
3. Dilarang melakukan hal-hal yang lain selama praktikum
4. Lakukan praktikum dengan serius dan tenang
5. Dilarang mengganggu teman yang sedang praktikum
6. Lakukan praktikum sesuai dengan prosedur

VI. Langkah-Langkah Kerja


1. Siapkan alat dan bahan praktikum
2. Pasang komponen di project board sesuai dengan gambar rangkaian
3. Ketik program dibawah ini dengan menggunakan aplikasi Arduino IDE.
#include <LiquidCrystal.h>
#include <Wire.h>
#define DS1307_ADDRESS 0x68
byte zero = 0x00;
LiquidCrystal lcd(0, 1, 2, 3, 4, 5);
byte second, minute, hour, weekDay;
byte monthDay, month, year;
void setup()
{
[Link]();
[Link](16, 2);
[Link]();
[Link](0,0);
[Link]("Jam Digital LCD");
delay(2000);
}
void loop()
{
bacaRTC();
lcdDisplay();
delay(1000);
}
byte decToBcd(byte val)
{
return ( (val/10*16) + (val%10) );
}
byte bcdToDec(byte val)
{
return ( (val/16*10) + (val%16) );
}
void bacaRTC()
{
[Link](DS1307_ADDRESS);
[Link](zero);
[Link]();
[Link](DS1307_ADDRESS, 7);
second = bcdToDec([Link]());
minute = bcdToDec([Link]());
hour = bcdToDec([Link]() & 0b111111);
weekDay = bcdToDec([Link]());
monthDay = bcdToDec([Link]());
month = bcdToDec([Link]());
year = bcdToDec([Link]());
}

LKPD – Real Time Clock (RTC) Hal. 5 dari 7 hal.


void lcdDisplay()
{
[Link](0,0);
[Link]("Jam:");
[Link](4,0);
[Link](hour);
[Link](":");
[Link](minute);
[Link](":");
[Link](second);
[Link](" ");
[Link](0,1);
hari();
[Link](5,1);
[Link](monthDay);
[Link]("/");
[Link](month);
[Link]("/20");
[Link](year);
[Link](" ");
}
void hari()
{
if (weekDay==0)
{
[Link]("Sab, ");
}
else if (weekDay==1)
{
[Link]("Ming,");
}
else if (weekDay==2)
{
[Link]("Sen,");
}
else if (weekDay==3)
{
[Link]("Sel,");
}
else if (weekDay==4)
{
[Link]("Rab,");
}
else if (weekDay==5)
{
[Link]("Kam,");
}
else if (weekDay==6)
{
[Link]("Jum,");
}
}
void setingRTC()
{
[Link](DS1307_ADDRESS);
[Link](zero);
[Link](decToBcd(second));
[Link](decToBcd(minute));
[Link](decToBcd(hour));
[Link](decToBcd(weekDay));
[Link](decToBcd(monthDay));
[Link](decToBcd(month));
[Link](decToBcd(year));
[Link](zero);

LKPD – Real Time Clock (RTC) Hal. 6 dari 7 hal.


[Link]();
}
4. Simpan file program tersebut dengan mengklik Save, lalu klik Verify. Kemudian perhatikan
informasi yang ditampilkan.
5. Jika tidak terjadi kesalahan, maka lakukan transfer program ke dalam board Arduino Uno.
6. Amati yang terjadi pada rangkaian yang terpasang di project board.
7. Buat skematik rangkaian berdasarkan gambar rangkaian dengan menggunakan aplikasi
Proteus atau sejenisnya.
8. Buat gambar layout berdasarkan gambar rangkaian dengan menggunakan aplikasi Proteus
atau sejenisnya.
9. Print gambar layout di kertas foto dengan menggunakan printer laser atau mesin fotocopy. .
10. Tempelkan gambar layout ke PCB dengan menggunakan setrika listrik atau sejenisnya.
11. Lakukan etching atau pelarutan PCB dengan menggunakan FeCl3 atau sejenisnya
12. Lakukan pengeboran pada lubang di PCB dengan menggunakan mesin bor duduk / bor
tangan.
13. Pasang komponen di PCB dengan menggunakan solder listrik.
14. Cek jalur PCB dengan menggunakan alat ukur avometer atau sejenisnya.
15. Laporkan hasil praktikum kepada guru.
16. Kembalikan alat dan bahan ketempat semula.

VII. Tugas
Buat program Arduino untuk aplikasi jam digital LCD disertai alarm dengan menggunakan RTC
DS1307, push button dan buzzer.

[Link] Belajar
[Link]
[Link]

LKPD – Real Time Clock (RTC) Hal. 7 dari 7 hal.

Anda mungkin juga menyukai