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
Iklan

Tentang Nofgi

Suka berbagai hal yang berhubungan dengan otomotif ... Penggemar Motor Sport ... Suka menulis di dunia maya ...
Pos ini dipublikasikan di Arduino, DIY, Edukasi, Elektronik, Elektronika, Mekatronika, Robotika, Teknologi dan tag , , , , , , , . Tandai permalink.

Satu Balasan ke Cara Mudah Membuat Stopwatch Menggunakan Arduino

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

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 )

Gambar Twitter

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

Foto Facebook

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

Foto Google+

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

Connecting to %s