Hari ini Arduino Indonesia akan berbagi sebuah alat yang serbaguna, yaitu Timer ON Relay menggunakan Arduino. Alat ini dapat digunakan sebagai pewaktu mundur atau counter up otomatis untuk mematikan sebuah perangkat elektronika. Silahkan sesuaikan dengan kebutuhan.
Baca Juga : Timer Off Relay with Arduino Tutorial.
Berikut ini adalah Schematic Diagram Timer ON Relay with Arduino :
Untuk menggunakan Module ini Anda perlu Library khusus untuk TM1637. Silahkan DOWNLOAD DISINI.
Berikut ini adalah Hardware yang dibutuhkan :
1. Arduino Nano >>> BELI DISINI
2. Module TM1637 >>> BELI DISINI
3. Module Relay 1 Channel >>> BELI DISINI
4. Kabel Jumper Secukupnya >>> BELI DISINI
Berikut ini adalah Code Programnya :
/***************************
Timer ON Relay with Arduino Tutorial
Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com
Copyright @2020
****************************/
#include <TM1637Display.h>
#define CLK 10
#define DIO 9
TM1637Display display(CLK, DIO);
int timer_menit=5; //Setting waktu untuk Menit
int timer_detik=0; //Setting waktu untuk Detik
int firstnum=0;
int secondnum=0;
int thirdnum=0;
int fournum=0;
int Relay = 4;
void setup()
{
pinMode(Relay, OUTPUT);
display.setBrightness(7);
delay(1500);
digitalWrite(Relay, HIGH);
}
void loop()
{
uint8_t titikdua;
titikdua = 0x80 ;
display.setSegments(&titikdua, true, 1);
while (timer_menit == 0 && timer_detik == 0)
{
digitalWrite(Relay, LOW);
uint8_t data[] = {0b00111111, 0b00111111, 0b00111111, 0b00111111};
display.setSegments(data);
titikdua = 0x80 ;
display.setSegments(&titikdua, true, 1);
}
if (timer_menit > 9)
{
firstnum = timer_menit/10%10;
secondnum = timer_menit%10;
}
else
{
secondnum = timer_menit;
}
if (timer_detik > 9)
{
thirdnum = timer_detik/10%10;
fournum = timer_detik%10;
}
else
{
thirdnum = 0;
fournum = timer_detik;
}
uint8_t data[] = {0x00, 0x00, 0x00, 0x00};
display.setSegments(data);
titikdua = 0x80;
display.setSegments(&titikdua, true, 1);
if (timer_menit > 9)
{
display.showNumberDec(firstnum,false,1,0);
}
if (timer_menit > 0)
{
display.showNumberDec(secondnum,false,1,1);
}
if (timer_detik > 9 || timer_menit > 0)
{
display.showNumberDec(thirdnum,false,1,2);
}
display.showNumberDec(fournum,false,1,3);
timer_detik=timer_detik-1;
delay(1000); // Delay of 1 second
if (timer_detik == -1)
{
timer_menit=timer_menit-1;
timer_detik=59;
}
}
Selamat Mencoba !!!