Contoh Aplikasi Alarm Jam Digital Dengan Arduino

Tutorial kali ini akan membahas tentang contoh aplikasi alarm jam digital berbasis waktu yang presisi menggunakan Arduino. Anda dapat dengan mudah membuatnya dengan memanfaatkan library ‘TimeAlarms.h’. Pada artikel sebelumnya, “Membuat Alarm Berdasarkan Waktu dengan Arduino“, telah dijelaskan apa itu library ‘TimeAlarms.h’, apa fungsinya dan apa saja subrutin yang ada di dalamnya. Pada tutorial kali ini kita akan coba memanfaatkan library tersebut untuk membuat aplikasi alarm jam berbasis waktu dengan menggunakan Arduino. Perlu Anda ketahui, bahwa library ‘TimeAlarms.h’ menggunakan subrutin yang ada di library ‘Time.h’ sehingga deklarasi library wajib ada di setiap penggunaan library ‘TimeAlarms.h’. Sedangkan library ‘Time.h’ sendiri adalah library yang digunakan untuk membuat RTC dengan Arduino, jadi Anda sekarang tidak membutuhkan lagi hardware (IC) RTC (Real Time Clock) untuk membuat aplikasi berbasis waktu yang presisi.

Baiklah, untuk kumpulan subrutin (function dan method) yang ada di library ‘TimeAlarms.h’ dan penjelasannya sudah saya jelaskan pada artikel sebelumnya. Anda dapat membacanya terlebih dahulu jika belum mengetahuinya. Kini tiba saatnya untuk mempraktekkannya dalam sebuah program/sketch Arduino untuk lebih memantapkan pemahaman Anda tentang library ini. Sebagai gambaran, contoh aplikasi ini akan memanfaatkan Arduino untuk membuat sebuah ‘jam weker digital’ sederhana yang dapat memicu alarm pada jam yang sudah ditetapkan. Ketika alarmnya terpicu, Arduino akan menyalakan LED sebagai indikatornya.

Seperti biasa buka software IDE Arduino, dan salin sketch di bawah ini. Setelah itu simpan (Save As) dengan nama file sesuka Anda. Berikut sketch-nya

#include <Time.h>

#include <TimeAlarms.h>



int led = 13;



void setup()

{

  Serial.begin(9600);

  pinMode (led,OUTPUT);

  digitalWrite (led,LOW);

  setTime(8,0,0,26,6,15);

  Alarm.alarmRepeat(8,0,5, AlarmPagi);  // alarm tiap 8:1

  Alarm.alarmRepeat(dowSaturday,8,10,30,WeeklyAlarm);  // alarm tiap hr Sabtu 8:30:30

}



void  loop(){ 

  //tampilkan jam

  Serial.print(hour());

  Serial.print(":");

  Serial.print(minute());

  Serial.print(":");

  Serial.print(second());

  Serial.println();

  //delay 1 detik

  Alarm.delay(1000);

}



// subrutin yg dipanggil ketika alarm terpicu

void AlarmPagi(){

  Serial.println("Alarm Pagi terpicu");

  digitalWrite (led,HIGH);

  Alarm.delay (3000); 

  digitalWrite (led,LOW);

}



void WeeklyAlarm(){

  Serial.println("Ini alarm mingguan");     

}

 

Berikut penjelasan dari sketch di atas :

Baris [1 & 3] : deklarasi library yang dibutuhkan dalam Arduino

Baris [7] : deklarasi variabel untuk memudahkan saat mengakses pin ouput (pin 13). Seperti yang telah Anda ketahui pin 13 adalah pin yng telah terhubung dengan LED di papan Arduino. Jadi Anda tidak perlu menambahkan LED eksternal dalam percobaan ini.

Baris [15] : menginisialisasi port Serial. Digunakan untuk mengirim data serial ke laptop/PC sehingga kita dapat melihat data processing di Arduino melalui laptop.

Baris [17] : menginisialisasi port 13 (port LED) sebagai output. Untuk menyalakan/mematikan Anda harus mengeset mode pin ini sebagai OUTPUT.

Baris [19] : mematikan LED

Baris [21] : mengeset waktu saat Arduino pertama kali dinyalakan, dengan format parameter dari kiri ke kanan adalah jam, menit, detik, tanggal, bulan, tahun.

Baris [23 & 26] : mendefinisikan alarm. Untuk penjelasan format parameter dapat Anda baca di sini

Baris [35-45] : memanggil function hour, minute, second dan mengirimnya ke port serial sehingga dapat ditampilkan di jendela Serial Monitor

Baris [49] : delay 1 detik

Baris [57-67] : subrutin ‘AlarmPagi’ yang berisi penyalaan LED selama 3 detik dan pengiriman string ke jendela Serial Monitor. Subrutin ini dipanggil pada baris [23]

Baris [71-75] : subrutin ‘WeeklyAlarm’ yang dipanggil pada baris [25]. Subrutin ini dipanggil setiap hari Sabtu tiap minggunya.

Upload sketch di atas ke papan Arduino Anda (CTRL+U) dan lihatlah hasilnya di jendela Serial Monitor. Di bawah ini adalah tampilan jendela Serial Monitor berdasarkan sketch di atas. Anda dapat membuka jendela ini melalui menu Tools | Serial Monitor

contoh aplikasi alarm jam digital dengan arduino

Demikian sedikit contoh aplikasi alarm jam digital menggunakan Arduino. Semoga bermanfaat dan memicu kreativitas Anda untuk membuat aplikasi yang lebih kompleks. Jika ada yang ingin didiskusikan silahkan isi komentar di bawah.

0 0 votes
Article Rating

Leave a Reply

38 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
angga

mas,,scema gambar nya bisa di share tidak ya??berikut perangkatnya..trima kasih

rohmad

mas itu gak ada output display ya,brati cuma kebaca di serial monitor aja klo mau cek jam-nya

rohmad

Bagaimana dgn format waktunya, 24 jam atau 12 jam (am/pm) ?
Terima kasih mas,atas bantuannya.

andri

mas bisa minta list kaki arduinonya terus ada ga yang bisa pake keypad sama pake rtc

ketut

saya udah pakai scrip yang ini buat alarm + jam digital dengan tampilan LCD, begitu waktunya sesuai dengan settingan alarm, tampilan di LCD tidak berubah, masih menunjukkan jam digitalnya, kira2 ada penambahan scrip kyk gmn mas…?
thank’s

derry yuanditra

Gan kalo mau nyimpen beberapa waktu di project android itu gimana apa perlu database?

syamsullivan

misal kita pakai RTC buat timer motor servo gimana ya gan?
cara kerjanya seperti alarm ini

eva.art

supaya data tidak riset saat listrik padam bagaimana mas?

m.alfian

ada no WA/ pin BB nya bosq supaya lebih mudah konsulatsi atau komunikasi

Pras

untuk pembuatan sistem alarm berdasarkan RTC DS1307 apa juga sama saja programnya??

saepudin

mas kalo set alrm nya pake android gmna caranya??

Kurniawan

Mas klo alarm diset tiap jam gmna sketchnya

ikhsan

Ass. mas jadi sketch diatas fungsinya mereset arduino setiap hari sabtu jam 8 ya.. mohon maaf baru belajar arduino…

Herli Dejavu

Asss. Mas jika sketch di atas di gunakan untuk pensaklaran lampu otomatis bisa ga ? Misal kan jam 6 pagi relay off . Sampai jam 6 sore on lagi cara nya bagai mana ya , mohon mf dan terimakasih.

umar

kalau membuat alarm yg menyala sebulan sekali bagaimana ?

hen

bisa kasih contoh mas??

erdinoz

Mas mau tanya cara menggabungkan agar singkron rtclib.h dengan timeralarm.h
Soalnya dilihat tidak singkro di coba serial println ke serial monitor mas.terimakasih

erdinoz

Mas mau tanya cara menggabungkan agar singkron rtclib.h dengan timeralarm.h….
Soalnya dilihat tidak singkron di coba serial println ke serial monitor mas.terimakasih

taufiq subuh

mas saya tanya kalo kode alarm.alarmRepeat(8,0,5 Alarmagi); di perbanayak mas.. apa masih bisa mas. kemaren saya nyobak sampek 12 yang bisa hanya 6 itu mas.. ya apa mas…

38
0
Would love your thoughts, please comment.x
()
x