Stopwatch merupakan alat penghitung waktu yang banyak di gunakan pada kegiatan sehari-hari. Saat ini stopwatch sudah banyak di sematkan dalam berbagai macam perangkat elektronik. Kali ini kita akan mencoba membuat stopwatch dengan memanfaatkan arduino uno.
[membership level=”0,1,2,4″]
[lwptoc numeration=”none” title=”Daftar Isi”]
Membuat Stopwatch Arduino Uno
1. Alat / Bahan
- Arduino IDE Download
- Library: LiquidCrystal_I2C Download
- Arduino Uno 1 Buah
- LCD 1 Buah
- I2C 1 Buah
- Button 2 Buah
- Project Board 1 Buah
- Kabel Jumper Secukupnya
Untuk mendapatkan komponen elektronik di atas silahkan temukan di sini.
Baca Juga : Timer Penghitung Waktu Mundur Arduino Uno
2. Skema Rangkaian

Gambar Rangkaian Membuat Stopwatch Arduino Uno
Keterangan:
- 5V – VCC LCD I2C
- GND – GND LCD I2C, GND Button1, GND Button2
- SDA – SDA LCD I2C
- SCL – SCL LCD I2C
- D2 – Pin Data Button1
- D3 – Pin Data Button2
[/membership]
Baca Juga : Lampu Otomatis (LDR) Arduino Uno
3. Langkah Kerja
- Pertama Siapkan alat dan bahan.
- kedua, Lakukan proses wiring dengan menggunakan Gambar skematik rangkaian
- Ketiga, Buka software Arduino IDE yang telah terinstal pada laptop/komputer
- Kemudian, Unduh semua library di atas dan masukkan libray tersebut dengan cara buka Arduino IDE pilih Sketch->Include Library->Add.Zip Library
- Selanjutnya Ketikkan sketch program pada halaman Arduino IDE
- Setelah itu Masukan alamat I2C LCD pada sketch program, untuk mengetahui alamat I2C pelajari materi berikut:
 Mencari Tahu Alamat I2C Pada Modul I2C
- Segera Lakukan proses uploading program
4. Sketch Program
 
/* Program Membuat Stopwatch Arduino Uno dibuat oleh Indobot */
#include <LiquidCrystal_I2C.h>  //Library LCD I2C
LiquidCrystal_I2C lcd(0x27, 16, 2); //Alamat I2C
#define start 2
#define berhenti 3
unsigned long mulai, selesai, dataStopWatch;
int i=0;
int fPaus = 0;
long lastButton = 0; 
long delayAntiBouncing = 50; 
long dataPaus = 0;
void setup(){
  pinMode(start,INPUT_PULLUP);
  pinMode(berhenti,INPUT_PULLUP);
  lcd.init();       //Mulai LCD
  lcd.backlight();  //Nyalakan backlight
  lcd.print("  Tekan Tombol");
  lcd.setCursor(0, 1); 
  lcd.print("  Start / Stop");
}
void loop(){
  if (digitalRead(start)==0){
    if ((millis() - lastButton) > delayAntiBouncing){
      if (i==0){
        lcd.clear();
        lcd.setCursor(0, 0);
        lcd.print("Start Timer");
        mulai = millis();
        fPaus = 0;
      }
      else if (i==1){
        lcd.setCursor(0, 0);
        lcd.print("Stop Timer  ");
        dataPaus = dataStopWatch;
        fPaus = 1;
      }
      i =!i;
    }
    lastButton = millis();
  }
  else if (digitalRead(berhenti)==0 && fPaus == 1){
    dataStopWatch = 0;
    dataPaus = 0; 
    lcd.clear();
    lcd.print("Reset Stopwatch");
    lcd.setCursor(0, 1); 
    lcd.print("0:0:0.0");  
    delay(2000);
    lcd.clear();
    lcd.print("  Tekan Tombol");
    lcd.setCursor(0, 1); 
    lcd.print("  Start / Stop");
  }
  
  if (i==1){
    selesai = millis(); 
    float jam, menit, detik, miliDetik;
    unsigned long over;
    // Rumus Penghitungan Waktu
    dataStopWatch = selesai - mulai;
    dataStopWatch = dataPaus + dataStopWatch;
    jam = int(dataStopWatch / 3600000);
    over = dataStopWatch % 3600000;
    menit = int(over / 60000);
    over = over % 60000;
    detik = int(over / 1000);
    miliDetik = over % 1000;
    lcd.setCursor(0, 1);
    lcd.print(jam, 0); 
    lcd.print(":"); 
    lcd.print(menit, 0);
    lcd.print(":");
    lcd.print(detik, 0);
    lcd.print(".");
    if (jam < 10){
      lcd.print(miliDetik, 0);
      lcd.print("   ");
    }
  }
}
Kesimpulan:
Hasil proyek ini adalah ketika tombol 1 di tekan maka waktu akan mulai berjalan, ketika tombol 1 ditekan kembali maka waktu akan berhenti. Tombol 2 digunakan untuk mengembalikan waktu ke angka 0.
 
					






 
 
	
Warning: Undefined variable $req in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 162
Warning: Undefined variable $commenter in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 163
Warning: Trying to access array offset on value of type null in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 163
Warning: Undefined variable $aria_req in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 163
Warning: Undefined variable $req in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 167
Warning: Undefined variable $commenter in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 168
Warning: Trying to access array offset on value of type null in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 168
Warning: Undefined variable $aria_req in /www/wwwroot/blog.indobot.co.id/wp-content/themes/generatepress/functions.php on line 169