Membuat alarm berdasarkan waktu dengan Arduino bisa sangat mudah Anda lakukan dengan bantuan library ‘TimeAlarms.h’. Library ini merupakan pengembangan library ‘Time.h’ yang kita bahas sebelumnya untuk membuat RTC dengan Arduino. Nah kalau library ‘Time.h’ hanya bisa mengembalikan nilai waktu (jam, menit, detik, hari, tanggal, tahun), maka library ‘TimeAlarms.h’ ini bisa membantu Anda membuat alarm berdasarkan waktu tersebut dengan script yang relatif mudah.
Contoh penggunaanya seperti jam weker biasa yakni, ketika Anda misalnya mengeset jam weker untuk bunyi ketika jam 3 malam, maka jam weker tersebut hanya akan berbunyi ketika waktu sudah menunjukkan pukul 03.00. Dan akan terus berulang begitu tiap hari sampai Anda mengganti pengaturannya. Nah, jika Anda menggunakan library ‘TimeAlarm.h’ ini, tentunya tidak hanya alarm yang berulang tiap hari pada jam tertentu saja yang dapat Anda buat, tetapi Anda juga dapat membuat alarm yang hanya terpicu sekali saja, atau alarm yang hanya bekerja pada hari tertentu saja. Luar biasa bukan? Lebih luar biasa lagi karena Anda hanya perlu memanggil fungsi-fungsi dalam library ini tanpa harus memikirkan bagaimana melakukan handling timer dan register-register yang terlibat supaya menghasilkan waktu yang presisi. Mari simak tutorial singkat berikut ini :
Setidaknya ada tiga macam kelompok fungsi (function) yang dimiliki library ‘TimeAlarms.h’, yakni :
Fungsi Alarm
Dalam kelompok fungsi ini setidaknya ada 4 fungsi (function) utama, yakni
Alarm.alarmRepeat (hours, minutes, seconds, functionX); à memanggil alarm (menjalankan parameter functionX) pada jam, menit, detik dan berulang tiap harinya
Alarm.alarmRepeat (dayofweek, hours, minutes, seconds, functionX); à memanggil alarm (menjalankan parameter functionX) pada hari, jam, menit, detik dan berulang tiap minggunya
Alarm.alarmOnce (hours, minutes, seconds, functionX); à memanggil alarm (menjalankan parameter functionX) pada jam, menit, detik namun dieksekusi sekali saja
Alarm.alarmOnce (dayofweek, hours, minutes, seconds, functionX); à memanggil alarm (menjalankan parameter functionX) pada hari, jam, menit, detik namun hanya dijalankan sekali saja.
Fungsi Timer
Alarm.timerRepeat (seconds, functionY); à menjalankan functionY setiap waktu yang didefinisikan dalam parameter ‘second’ dalam satuan detik.
Alarm.timerOnce(seconds, functionY); à menjalankan functionY setelah waktu yang didefinisikan dalam parameter ‘second’ (hanya dijalankan sekali) dalam satuan detik.
Fungsi Delay
Alarm.delay(milliseconds); à menjalankan waktu tunda (delay) selama waktu yang didefinisikan dalam parameter ‘milliseconds’ dengan satuan milidetik.
Demikian fungsi-fungsi utama yang terdapat pada library ‘TimeAlarms.h’. Dari namanya dan penjelasan parameter fungsinya, saya pikir Anda sudah dapat membayangkan fungsi dari function di atas.
Ohya, library ‘TimeAlarms.h’ dapat Anda unduh secara gratis di https://github.com/PaulStoffregen/TimeAlarms. Jika sudah diunduh, ekstrak file zip-nya dan salin ke folder libraries Arduino di laptop/PC Anda (default-nya di folder C:\Program Files\Arduino\libraries). Jika semuanya sudah Anda lakukan, maka di software IDE Arduino di laptop Anda akan muncul menu baru yakni ‘TimeAlarm’ di menu File | Examples.
Dan untuk cara mengaplikasikan library di atas dan contoh penggunaan function-function di atas akan saya tulis pada artikel berikutnya…
update : contoh aplikasi alarm jam digital dengan Arduino
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
car biar alarmya bisa lebih dari 15 kali gimana tapi waktunya berbeda dan ada selang istirahat nya…
bang mw buat google map pake delphi. minta ptunjuk donk.
thanks
paling mudah pake komponen GMLib, silahkan di-search di google
Kalau saya ingin membuat timer 500h tp ada waktu Jedah sebelum 400h gmna pak…tolong bantu
sudah di reply via WA ya
mas, saya mau memutar motor servo berdasarkan waktu,misal jam 7 pagi, motor servo bergerak ke kiri selama 2 menit, kemudian setelah 2 menit motor servo tsb akan kembali lagi ke posisi semula. Untuk gambaran sktechnya seperti apa mas?
gabungkan sketch di atas dg yg ada di artikel ini : http://saptaji.com/2015/07/26/5-menit-menangani-motor-servo-dengan-arduino/
mas, gimana cara buat alarm pake rtc dc1307..?
sama aja caranya kayak di atas
kak gimana cara buat alarm pake rtc1302 ?
rtc1302 ya? hmm, sy sendiri belum pernah pake, katanya kurang akurat. Mungkin cara yang paling mudah adalah googling library-nya dulu. Biasanya ada program example di dalamnya
Mas, untuk bentuk atau gambaran rangkaiannya dari penjelasan diatas ada egk mas?
Mas, untuk bentuk atau gambaran dari rangkaian penjelasan diatas ada egk mas?
kalo alarm/RTC di atas kan berdasarkan software mas, ga ada gambarnya
Mass nama saya syukri. Mau nanya cara nulis program arduino untuk setting servo berdasarkan waktu
Misal : jam 12:00 sevo bergerak dari 0-ke 180
Jam 04:servo bergeral kebalilan 180-ke 0
Mohon bantuan nya.
Trimakasih atas respon nya..
untuk case mas syukri perlu modul rtc (real time clock). Bisa dibaca caranya di artikel rtc ds3231 arduino. Atau bisa juga pake rtc berbasis software seperti artikel di atas, tapi resikonya kalo powernya mati, data waktu akan ikut reset.
Kalo udah bisa ambil data jamnya tinggal pake ‘if’ aja, contoh :
if ((jam==12)&&(menit==0)) myservo.write(180);
untuk servo bisa baca2 dulu artikel servo arduino
halo kak mau tanya, kalau library timer.h itu bisa berjalan jika masuk ke kondisi if ngga ya kak? t.update nya dipanggil di dalam if. liat contoh belum ada yang pakai kondisi dan kalau dimasukin ga mau berjalan. apa ada cara lain ya kak? trims
sepertinya tidak bisa dipakai untuk kondisi recursive seperti itu. Sarannya pake smart timer atau coba baca artikel ini multitasking arduino
Maaf mas,, boleh minta library nya? link diatas gk bisa download
link download sudah saya perbaiki mas, thanks atas infonya
Arduino: 1.8.12 (Windows 10), Board: “Arduino Uno”
C:\Users\Guest\Documents\Arduino\libraries\TimeAlarms-master/TimeAlarms.h:7:10: fatal error: TimeLib.h: No such file or directory
#include “TimeLib.h”
^~~~~~~~~~~
compilation terminated.
ResolveLibrary(TimeLib.h)
-> candidates: []
Multiple libraries were found for “TimeAlarms.h”
Used: C:\Users\Guest\Documents\Arduino\libraries\TimeAlarms-master
Not used: C:\Program Files\Arduino\libraries\TimeAlarms-1.5.0
Not used: C:\Users\Guest\Documents\Arduino\libraries\TimeAlarms-1.5.0
Using library TimeAlarms-master at version 1.5 in folder: C:\Users\Guest\Documents\Arduino\libraries\TimeAlarms-master
exit status 1
Error compiling for board Arduino Uno.
Pny saya error bang, gimana ya bang solusinya? Makasi ya
sepertinya ada dua library timealarm yang sama, coba hapus salah satu mas
Multiple libraries were found for “TimeAlarms.h”
ResolveLibrary(TimeLib.h)
In file included from C:\Users\Guest\Documents\Arduino\libraries\TimeAlarms-1.5.0\examples\TimeAlarmExample\TimeAlarmExample.ino:17:0:
-> candidates: []
C:\Users\Guest\Documents\Arduino\libraries\TimeAlarms-master/TimeAlarms.h:7:10: fatal error: TimeLib.h: No such file or directory
#include “TimeLib.h”
^~~~~~~~~~~
compilation terminated.
Using library TimeAlarms-master at version 1.5 in folder: C:\Users\Guest\Documents\Arduino\libraries\TimeAlarms-master
exit status 1
Error compiling for board Arduino Uno.
udh bang, skrng malah timelib.h ny. Udh aku coba hide(//) ttp gbisa
library Timelib.h udah diinstal belum?