Cara Mudah Membuat Stopwatch Menggunakan Arduino

img_20161214_080419-copy

Assalamualaikum.
Salam Sejahtera Untuk Kita Semua Sobat …

Setelah pada artikel NP terdahulu sempat NP share cara membuat jam akurat menggunakan Arduino, nah sekarang saatnya kita mencoba membuat sebuah stopwatch menggunakan Arduino. Yups … Cara ini relatif sangat mudah sob. Hanya mengandalkan rangkaian counter sederhana. Penasaran bagaimana cara bikinnya sob … ? Monggo disimak baik-baik 😀 .

Komponen yang perlu kita persiapkan yakni :

  • 1 buah Arduino (bisa UNO, NANO, MEGA, dll, bisa didapat Di Sini)
  • 1 buah LCD 16×2 (Bisa didapat Di Sini)
  • 1 buah Potensio 10K
  • 3 buah tombol push button
  • Software Arduino IDE (Jika belum punya, maka download Di Sini)
  • Library LiquidCrystal.h (Jika belum punya, bisa download Di Sini)
  • Dan cara menambah library Arduino bisa dibaca Di Sini

 

 

 

 

Lalu silahkan dirangkai sesuai dengan skema berikut ini :

stopwatch_bb

Keterangan Rangkaian :

  • Bisa Menggunakan Segala Jenis Arduino (UNO, NANO, MEGA, MINI, dll), Tinggal cocokkan Saja Pin-Pin nya.

  • Kaki RS LCD ===> pin 2 Arduino

  • Kaki E LCD ===> pin 3 Arduino

  • Kaki D1 LCD ===> pin 4 Arduino

  • Kaki D2 LCD ===> pin 5 Arduino

  • Kaki D3 LCD ===> pin 6 Arduino

  • Kaki D4 LCD ===> pin 7 Arduino

  • Kaki RW LCD ===> GND (Ground)

  • Kaki VO LCD ===> Output Potensio

  • Pin Button 3 ===> pin 13 Arduino

  • Pin Button 2 ===> pin 12 Arduino

  • Pin Button 1 ===> pin 11 Arduino

Setelah itu, silahkan upload program seperti di bawah ini pada software Arduino IDE milik sobat :

/* ---------- Cara Mudah Membuat Stopwatch Berbasis Arduino ---------- */
/* ------------------- Dibuat oleh : M. Nofgi Y.P.U.----------------- */
/* ------------------- www.nofgipiston.wordpress.com ---------------- */
/* ------------------- NF-308 SHOP, Arduino Workshop ---------------- */

//menambah library lcd
#include

//inialisasi pin lcd
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

//inialisasi masing2 pin tombol
const int pinReset = 13;
const int pinStop = 12;
const int pinStart = 11;

//inialisasi masing2 nilai awal waktu
int sepersepuluhDetik = 0;
int detik = 0;
int menit = 0;
int jam = 0;

//inialisasi nilai awal dari state
int state = 0;

void setup()
{
 //inialisasi status pin I/O
 pinMode (pinReset, INPUT);
 pinMode (pinStop, INPUT);
 pinMode (pinStart, INPUT);

//menulis status awal masing2 pin tombsol
 digitalWrite(pinReset, HIGH);
 digitalWrite(pinStop, HIGH);
 digitalWrite(pinStart, HIGH);

//inialisasi jumlah baris dan kolom lcd
 lcd.begin(16, 2);
}

void loop()
{
 //jika tombol reset ditekan
 if (digitalRead(pinReset) == LOW)
 {
 //niali state menjadi = 0
 state = 0;
 }

//jika tombol stop ditekan
 else if (digitalRead(pinStop) == LOW)
 {
 //niali state menjadi = 1
 state = 1;
 }

//jika tombol start ditekan
 else if (digitalRead(pinStart) == LOW)
 {
 //nilai state menjadi = 2
 state = 2;
 }

//jika nilai state =0, maka
 if (state == 0)
 {
 //nilai masing2 variabel menjadi demikian
 sepersepuluhDetik = 0;
 detik = 0;
 menit = 0;
 jam = 0;
 }

//jika nilai state = 1
 else if (state == 1)
 {
 //nilai masing2 variabel tetap
 sepersepuluhDetik = sepersepuluhDetik;
 detik = detik;
 menit = menit;
 jam = jam;
 }

//jika nilai state = 2
 else if (state == 2)
 {
 //nilai sepersepuluhDetik bertambah terus
 sepersepuluhDetik++;
 }

//jika nilai sepersepuluhDetik lebih besar sama dengan 10
 if (sepersepuluhDetik >= 10)
 {
 //nilai sepersepuluhDetik menjadi 0 lagi
 sepersepuluhDetik = 0;
 //nilai detik bertambah 1
 detik += 1;
 }

//jika niali detik lebih dari sama dengan 60
 if (detik >= 60)
 {
 //niali detik menjadi 0
 detik = 0;
 //nilai menit bertambah 1
 menit += 1;
 }

//jika nilai menit lebih dari sama dengan 60
 if (menit >= 60)
 {
 //nilai menit kembali menjadi 0
 menit = 0;
 //nilai jam bertambah 1
 jam += 1;
 }

//menuliskan pembacaan stopwatch pada lcd
 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Stopwatch");
 lcd.setCursor(0, 1);
 lcd.print(sepersepuluhDetik);
 lcd.setCursor(2, 1);
 lcd.print(":");
 lcd.setCursor(3, 1);
 lcd.print(detik);
 lcd.setCursor(5, 1);
 lcd.print(":");
 lcd.setCursor(6, 1);
 lcd.print(menit);
 lcd.setCursor(8, 1);
 lcd.print(":");
 lcd.setCursor(9, 1);
 lcd.print(jam);
 //delay untuk perhitungan sepersepuluhDetik
 delay(100);
}

Nah, kali ini adalah video demonstrasi projectnya :

Nah jadi pada stopwatch kali ini ada tiga buah tombol, yakni tobol START, STOP, dan RESET.

img_20161214_080356

Nah fungsi dari masing-masing tombol yakni : 

START ===> Untuk memulai timer stopwatc

STOP ===> Untuk menyetop waktu

RESET ===> Untuk mereset waktu kembali ke awal

Penjelasan singkat program ini yakni :

//jika tombol reset ditekan
if (digitalRead(pinReset) == LOW)
{
//nilai state menjadi = 0
state = 0;
}

//jika tombol stop ditekan
else if (digitalRead(pinStop) == LOW)
{
//nilai state menjadi = 1
state = 1;
}

//jika tombol start ditekan
else if (digitalRead(pinStart) == LOW)
{
//nilai state menjadi = 2
state = 2;
}

Program diatas membagi tiga tombol menjadi tiga state, yakni state 0, state1, dan state 2. Masing-masing state mewakili satu tombol. Tombol RESET diwaklili oleh state = 0, tombol STOP diwakili oleh state = 1, tombol START diwakili oleh state = 2.

//jika nilai state =0, maka
 if (state == 0)
 {
 //nilai masing2 variabel menjadi demikian
 sepersepuluhDetik = 0;
 detik = 0;
 menit = 0;
 jam = 0;
 }

//jika nilai state = 1
 else if (state == 1)
 {
 //nilai masing2 variabel tetap
 sepersepuluhDetik = sepersepuluhDetik;
 detik = detik;
 menit = menit;
 jam = jam;
 }

//jika nilai state = 2
 else if (state == 2)
 {
 //nilai sepersepuluhDetik bertambah terus
 sepersepuluhDetik++;
 }

Program di atas berguna untuk mengeksekusi jika tiap-tiap nilai state telah terpenuhi. jika state=0, maka semua nilai waktu akan direset menjadi =0, jika nilai state = 1, maka nilai masing-masing waktu terhenti, dan jika nilai state=2, maka nilai waktu bertambah.

//jika nilai sepersepuluhDetik lebih besar sama dengan 10
 if (sepersepuluhDetik >= 10)
 {
 //nilai sepersepuluhDetik menjadi 0 lagi
 sepersepuluhDetik = 0;
 //nilai detik bertambah 1
 detik += 1;
 }

//jika nilai detik lebih dari sama dengan 60
 if (detik >= 60)
 {
 //niali detik menjadi 0
 detik = 0;
 //nilai menit bertambah 1
 menit += 1;
 }

//jika nilai menit lebih dari sama dengan 60
 if (menit >= 60)
 {
 //nilai menit kembali menjadi 0
 menit = 0;
 //nilai jam bertambah 1
 jam += 1;
 }

Dan program diatas berguna membatais nilai tiap variabel waktu. Jika nilai sepersepuluhDetik sudah bernilai= 10, maka nilai sepersepuluhDetik akan kembali menjadi =0 dan nilai detik bertambah satu. Jika nilai detik sudah menjadi =60, maka nilai detik kembali menjadi=0, dan nilai menit bertambah =1, dan begitulah seterusnya.

Yaps demikianlah tutorial cara mudah membuat Stopwatch menggunakan Arduino.
Silahkan berkreasi tanpa batas😀 .

Silahkan dicoba ….. Silahkan berkomentar kalau masih kebingungan😀 .

Salam Teknologi …🙂 .

Wassalamualaikum.

*

*

*

*

*

********************

#Maaf jika ada kesalahan, ambil sisi positifnya saja.
#Barangkali anda mempunyai kabar/berita seputar otomotif/mekatronika/robotika/elektronika atau ingin mengiklankan suatu produk di blog ini, silahkan kontak saya.

Jual Arduino, Sensor, Modul, SHIELD, dan Berbagai Komponen Elektronika/Robotika murah meriah … Best Quality Product … !!! (Klik di sini)

Menerima jasa pembuatan Project atau alat berbasis Arduino, Elektronika, Robotika, Mekatronika, dan sejenisnya …

Bisa untuk keperluan hobi, tugas kuliah/sekolah, project industri/rumahan, dan sebagainya …

Silahkan kontak saya :

Facebook              : Nofgi Yugo Prasetyo
Fans Page on Facebook : Nofgi Piston Blog
E-Mail                : Nofgimotor@gmail.com
PIN BBM               : D2F100C2
Line                  : nofgi piston
Instagram             : nofgi_piston
Youtube               : Nofgi Piston
No. HP/WA             : 088217082017

Tentang Nofgi

Menerima Order Project Elektronika & Robotika. WA/SMS : 088217082017 Youtube : Nofgi Piston IG : nofgi_piston
Pos ini dipublikasikan di Arduino, DIY, Edukasi, Elektronika, Mekatronika, Robotika, Teknologi dan tag , , , , , , , . Tandai permalink.

8 Balasan ke Cara Mudah Membuat Stopwatch Menggunakan Arduino

  1. Ping balik: Jual Berbagai Komponen Untuk Project Robotika, Elektronika, dan Otomasi | Nofgi Piston

  2. Rizki berkata:

    kalo tombolnya diganti sensor bisa?

  3. jaka berkata:

    Kalo di ganti infrared gimana ya mas ?

  4. Anonim berkata:

    terimakasih Gan, minta ijin sedot ilmunya

  5. Mas kas berkata:

    Om.display nya diganti seven segmentasi bisa ga

  6. Anonim berkata:

    kalo menggunakan i2c bisa ?

  7. Anonim berkata:

    pengukuran waktunya tidak akurat sudah saya bandingkan dengan stopwatch hp

Komentar Anda Membuat Semangat Saya Membara ... :D

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s