Sunday, August 21, 2016

MEMBUAT ARDUINO TIMER CONTROL RELAY

Akhir nya malam ini ada waktu untuk ngetik , dan saya akan berbagi sebuah project sederhana manggunakan arduino yang berbasis timer , dan kita akan menggunakan timer internal dari arduino untuk mengontrol relay switch, yang bisa di gunakan untuk mengontrol peralatan listrik ataupun yang lain nya dengan timer, sistem kerja project ini sangat sederhana yaitu arduino mengontrol pin out yang terhubung dengan driver relay dan mengaktifkan driver relay tersebut dengan jeda waktu.

Project ini juga menggunakan sebuat buzzer yang akan berbunyi apabila timer telah menunjukan nilai nol (0) , dan utuk mengulangi start nya dengan menekan tombol reset pada arduino, maka program akan dijalankan ulang, pada project ini bisa untuk di modifikasi menjadi alat apa saja yang berhubungan dengan timer , asal jangan di jadikan timer untuk detonator BOM ya..hehehe

Pertama tama siapkan board arduino, disini saya menggunakan arduino uno R3 , siapkan juga buzzer , LCD dan Relay, lalu di rangkai sesuai skematik di bawah ini :

skematik relay timer switch

Pada skematik di atas terdapat Potensio meter 10k (P1 10K) sebenar nya itu adalah opsional, bisa di tambahkan ataupun di hilanggkan dengan menjumper nya, dan fungi potensio tersebut adalah untuk mengatur brightnes LCD , untuk sketc nya seperti berikut :


#include <LiquidCrystal.h>
LiquidCrystal lcd(7,8,9,10,11,12);
int runTimer = 1; 
int runFor = 60; // timer
int buzzerPin = 13;
int relayPin=4;
int data = 0;

void setup() {
   pinMode(buzzerPin, OUTPUT);
   pinMode(relayPin,OUTPUT);
   lcd.begin(16, 2);
}

void loop() {
   if(runTimer == 1){ 
      digitalWrite(relayPin,LOW); // relay OFF
      
      lcd.clear();
      lcd.print("TIMER=");
      //Start timer
      timer(); 
   } else {
      digitalWrite(relayPin,HIGH); // relay ON 
     
   }
   runTimer = 0;
   lcd.noDisplay();
   delay(250);
   for(int duration = 0; duration < 100; duration ++){
      digitalWrite(buzzerPin, HIGH);
      delayMicroseconds(500);
      digitalWrite(buzzerPin, LOW);
      delayMicroseconds(500);
   } 
   lcd.display();
   delay(250);
}

void timer() {
   for(int timer = runFor;timer > 0; --timer){
   if(timer >= 10) {
      lcd.setCursor(6,0); 
   } else {   
      lcd.setCursor(6,0);
      lcd.print("0");
      lcd.setCursor(7,0);
   }
   lcd.print(timer);
   lcd.print(" SECOND!");
   delay(1000);
   }
   lcd.setCursor(0,0);
   lcd.clear();
   lcd.print(" TIMER ALERT!");  
}

Compile program di atas dan download ke arduino , setelah itu silakan di ujicoba alat nya, untuk dokumentasi alat yang sudah jadi seperti gambar di bawah ini :

arduino timer control relay

Selesai sudah project kali ini..heheh.., terimakasih telah berkunjung ke blog ini apabila ada kesalahan dan pertanyaan silakan isikan di kolom komentar, terimakasih.




3 komentar

Mas klo buat billing ps tp timer ny dr software pc apa bisa ya mas . mhon ptunjuknya mas

kalau kita mau timernya ulang terus gmana gan?
makasi

KAlau timernya bisa ulang terus gimana?