Kamis, 09 Maret 2017

Project Belajar Arduino Part 2 : Stopwatch Arduino Sederhana Dengan 2 Tombol

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. Beberapa kabel jumper.
5. USB FTDI/ USB TTL PL2303HX

Jika Anda tidak memiliki salah satu diantaranya, maka silakan mencarinya pada toko online / toko hobi elektronik offline.

Langkah 2: Merangkai Hardware Stopwatch

Untuk merakit Stopwatch, pertama anda perlu mensolder pin header untuk LCD dan kemudian menghubungkan Arduino Pro Mini atau Anda melihat gambar di bawah ini:


Prinsip kerjanya simple : ada 2 tombol. Satu tombol sebagai start/stop, satu lagi sebagai reset. Ketika tombol start/stop pertama kali ditekan maka berfungsi sebagai tombol start. Program mulai mencacah. Disini kita memakai satuan detik + milli detik. Ketika tombol start/stop ditekan yang ke-2 maka berfungsi tombol stop.


Langkah  3: Membuat Software Stopwatch





Untuk memprogram Stopwatch, diperlukan-
1. Menginstall Arduino IDE dari Arduino website.
2. Mendownload sketch Stopwatch atau menulis source code.
3. Buka IDE Arduino.
4. Klik menu Files -> Open atau tekan Ctrl+O
5. Buka sketch.
6. Klik Sketch -> Upload atau Klik pada icon panah dibawah menu Edit. langkah ini akan mengupload sketch ke Arduino.
7. Selesai.
8. Jika anda membiarkan kabel terhubung dengan PC, tekan tombol RESET pada arduino Arduino. Arduino akan tetap mendapatkan daya dari PC.
9. Enjoy!

Kode Sketch
 
// include the library code:
#include <LiquidCrystal.h>
 
int s,ms;
byte tombol,kode;
LiquidCrystal lcd(2,3,4,5,6,7);
void setup(){
  lcd.begin(16, 2);
  lcd.clear();
  lcd.print(" Stop Watch ");
  lcd.setCursor(0,1);
  lcd.print("00:00");
  pinMode(8,INPUT); //pin 4 sebagai input
  pinMode(9,INPUT); //pin 5 sebagai input
  digitalWrite(8,HIGH); //pin 4 input pull up
  digitalWrite(9,HIGH); //pin 5 input pull up
}
 
void loop(){
  tombol=digitalRead(8);
  if ((tombol==LOW)&&(kode==0)){
    kode=1;
    delay(250);
  }
  else if ((tombol==LOW)&&(kode==1)){
    kode=0;
    delay(250);
  }
  else if ((digitalRead(9)==LOW)&&(kode==0)){
    ms=0;
    s=0;
    lcd.setCursor(0,1);
    lcd.print(s);
    lcd.print(":");
    lcd.print(ms);
    lcd.print("  ");
    delay(250);
  }
 
  if(kode==1){
    ms++;
    delay(100);
  if(ms==10){
    ms=0;
    s++;
  if (s==100){
    s=0;
    }
  }
  lcd.setCursor(0,1);
  lcd.print(s);
  lcd.print(":");
  lcd.print(ms);
  lcd.print("  ");
  }
}
   

Tidak ada komentar:

Posting Komentar