banner image
Sedang Dalam Perbaikan

Membuat StopWatch Sendiri menggunakan Arduino Uno dan LCD 16x2

Pada Artikel sebelumnya saya sudah berbagi mengenai Cara Menampilkan Karakter pada LCD dengan Menggunakan I2C Module. Kali ini kita akan belajar Membuat StopWatch Sendiri menggunakan Arduino Uno dan LCD 16x2.

Kebutuhan Hardware :
1. Arduino Uno
2. Module I2C LCD 16x2
3. LCD 16x2
4. Tact Switch

Untuk Pembelian Komponen bisa BELI DISINI.

Berikut ini adalah Schematicnya :


Setelah terkoneksi dengan baik silahkan upload Sketch dibawah ini :

/***************************
StopWatch LCD 16x2

Oleh : Workshop Electronics 3 in 1
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com
Profil : www.workshopelectronics3in1.co.id

Copyright @2017
****************************/

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F ,2,1,0,4,5,6,7,3, POSITIVE);

unsigned long mulai, selesai, dataStopWatch;
int i=0;
int fPaus = 0;
long lastButton = 0;
long delayAntiBouncing = 50;
long dataPaus = 0;

void setup(){
  pinMode(A0,INPUT);
  pinMode(A1,INPUT);
  digitalWrite(A0,1);
  digitalWrite(A1,1);
  lcd.begin(16, 2);

  lcd.setCursor(0, 0);
  lcd.print("ArduinoIndonesia");
  lcd.setCursor(0, 1);
  lcd.print("   StopWatch");
  delay(2000);
  lcd.clear();
  lcd.print("  Tekan Tombol");
  lcd.setCursor(0, 1);
  lcd.print("  Start / Stop");
}

void loop(){
if (digitalRead(A0)==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(A1)==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;

      // MATH time!!!
      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("   ");
       }
   }
}
Untuk lebih jelasnya silahkan lihat video berikut ini :


Membuat StopWatch Sendiri menggunakan Arduino Uno dan LCD 16x2 Membuat StopWatch Sendiri menggunakan Arduino Uno dan LCD 16x2 Reviewed by MCH on February 12, 2017 Rating: 5

No comments:

Powered by Blogger.