Langkah 1: Perangkat yang Dibutuhkan
Untuk membuat project ini, kita memerlukan beberapa perangkat diantaranya:
1. Sebuah PC yang terinstall Arduino IDE
2. Arduino atau Arduino kompatibel, paling disukai Arduino Pro Mini.
3. Sebuah LCD dengan atau tanpa backlight.
4. Trimport 50K Ohm
5. Beberapa kabel jumper.
6. USB FTDI/ USB TTL PL2303HX
7. Keypad 3x4 - 1 buah
Langkah 2: Merangkai Hardware Countdown
1. Pasangkan semua komponen seperti pada gambar berikut
Nah, jadi secara umum kita memasangkan LCD (sepaket sama Trimport) ke Arduino, lalu memasangkan keypad ke
Arduino, lalu menghubungkan keduanya melalui program sehingga kita bisa
memasukkan input dari keypad dan melihat output di LCD. Pastikan pin yang
terhubung sudah benar dan kabel-kabel terhubung dengan baik. Kesalahan yang
umum terjadi adalah salah penempatan kabel atau ada kabel yang terlalu dekat
dan bersinggungan.
2. Jalankan Arduino IDE, masukkan source code di bawah
3. Pastikan pin yang terdefinisi di program sama dengan pin pada
rangkaian. Jika sudah, lakukan verify dan upload.
4. Sekarang Anda punya timer. Start
the countdown!
Tambahan: Sebenarnya lebih keren
lagi jika saat timer menunjukkan angka nol, akan muncul bunyi alarm.
Langkah 3: Cara Kerja
Timer bisa disetting waktunya dengan keypad. Angka-angka di keypad
untuk memasukkan angka masukan, tanda '#' untuk menjalankan timer, dan tanda
'*' untuk membatalkan.
Source Code
// import dari library. Pastikan sudah ada keduanya.
#include <LiquidCrystal.h>
#include <Keypad.h>
//Pendefinisian konstanta untuk keypad
const int NRow = 2; //Jumlah baris LCD
const int NCol = 16; //Jumlah kolom LCD
const byte ROWS = 4; //empat baris keypad
const byte COLS = 3; //tiga kolom keypad
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'+','0','='}
};
// inisialisasi pin
LiquidCrystal lcd(0, 1, 5, 4, 3, 2); //pin untuk LCD
byte rowPins[ROWS] = {12, 11, 10, 9}; //pin untuk row keypad
byte colPins[COLS] = {8, 7, 6}; //pin untuk column keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
//deklarasi variabel
boolean valOnePresent = false;
boolean next = false;
boolean final = false;
String num1, num2;
int timer;
char op;
void setup() {
// setup untuk awalan tampilan di LCD
lcd.begin(NCol, NRow);
lcd.setCursor(1,0);
lcd.print("Timer
CountDown");
delay(2000);
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Imam
Sholahudin");
lcd.setCursor(1,1);
lcd.print("Mahmudi");
delay(3000);
lcd.clear();
}
void loop(){
char key = keypad.getKey();
//set durasi
lcd.setCursor(1,0);
lcd.print("Set Durasi:
");
lcd.setCursor(1,1);
if (key != NO_KEY && (key=='1'||key=='2'||key=='3'||key=='4'||key=='5'||key=='6'||key=='7'||key=='8'||key=='9'||key=='0')){
if (valOnePresent != true){
lcd.setCursor(1,1);
num1 = num1 + key;
int numLength = num1.length();
lcd.setCursor(1, 1);
lcd.print(num1);
}
else {
num2 = num2 + key;
int numLength = num2.length();
lcd.setCursor(15 - numLength, 1);
lcd.print(num2);
final = true;
}
}
//set!
if (key == '='){
timer = num1.toInt();
for(int i=0;i=timer;i++){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Sisa waktu:
");
lcd.setCursor(0,1);
lcd.print(timer--);
delay(1000);
}
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Waktu
habis!");
timer=0;
num1="0";
delay(3000);
}
//batal
else if (key == '+'){
lcd.clear();
valOnePresent = false;
final = false;
num1 = "";
num2 = "";
timer = 0;
op = ' ';
}
}
Sumber:
http://saputro-yogi.blogspot.co.id/2014/03/tutorial-arduino-membuat-countdown.html
Tidak ada komentar:
Posting Komentar