Tutorial ini akan menunjukkan cara-cara menghasilkan coding stopwatch menggunakan SimpleTimer.h Library.
Jika anda belum tahu tentang SimpleTimer.h Library boleh click di sini untuk memahami Simple.Timer.h Library sebelum memulakan tutorial ini.
Langkah #1
Pertama sekali kita harus memahami bagaimana stopwatch berfungsi. Stopwatch berfungsi dengan membuat kiraan yang menaik setiap satu saat.
Jadi kita harus mencipta coding kiraan yang menaik setiap 1 saat seperti coding di bawah:
#include <SimpleTimer.h>
int saat;
SimpleTimer timer1;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
timer1.setInterval(1000,MyStopwatch);
}
void loop() {
// put your main code here, to run repeatedly:
timer1.run();
}
void MyStopwatch() {
saat = saat + 1;
Serial.print(saat);
Serial.println();
}
Dengan menggunakan coding di atas anda akan dapat melihat kiraan menaik di serial monitor
Langkah #2

Seterusnya kita harus mencipta struktur paparan seperti gambar di atas.
Sebelum itu kita perlu list maklumat yang kita tahu tentang stopwatch iaitu:
- Memaparkan nilai saat,minit dan jam
- 1 nilai minit bersamaan 60 saat dan 1 nilai jam bersamaan 60 minit
- nilai saat dan minit tidak melebihi 60
Maklumat di atas akan digunakan untuk mengolah coding sebelum ini.
- Declare variable minit dan jam di bahagian DEFINING AREA .
int minit = 0; int jam = 0;
- Cipta condition di mana saat tidak melebihi 60 dan nilai minit akan ditambah 1 setiap kali saat = 60.
if (saat == 60 ){
saat = 0;
minit = minit + 1;
}
- Begitu juga untuk minit dan jam.
if(minit == 60){
minit = 0;
jam = jam + 1;
}
- Serial print kesemua value mengikut urutan
Serial.print(jam);
Serial.print(".");
Serial.print(minit);
Serial.print(".");
Serial.print(saat);
Serial.println();
- Masukkan condition dan serial print ke dalam SUB-ROUTINE stopwatch.
void MyStopwatch() {
saat = saat + 1;
if (saat == 60 ){
saat = 0;
minit = minit + 1;
}
if(minit == 60){
minit = 0;
jam = jam + 1;
}
Serial.print(jam);
Serial.print(".");
Serial.print(minit);
Serial.print(".");
Serial.print(saat);
Serial.println();
}
Langkah #3
Pada tahap ini anda telah lengkapkan value-value yang perlu ada dalam stopwatch. Cuma paparan pada serial monitor perlu diperbaiki untuk nampak lebih kemas.
- Cipta timer baharu di ruangan DEFINING AREA.
SimpleTimer timer1,timer2;
- Cipta condition supaya setiap value yang terpapar pada serial monitor mempunyai 2 digit di dalam SUB-ROUTINE baharu.
void MonitorDisplay() {
if (saat<10 && minit<10 && jam<10){
Serial.print("0");
Serial.print(jam);
Serial.print(".0");
Serial.print(minit);
Serial.print(".0");
Serial.print(saat);
Serial.println();
}
if (saat>9 && minit<10 && jam<10){
Serial.print("0");
Serial.print(jam);
Serial.print(".0");
Serial.print(minit);
Serial.print(".");
Serial.print(saat);
Serial.println();
}
if (saat>9 && minit>9 && jam<10){
Serial.print("0");
Serial.print(jam);
Serial.print(".");
Serial.print(minit);
Serial.print(".");
Serial.print(saat);
Serial.println();
}
if (saat<10 && minit>9 && jam<10){
Serial.print("0");
Serial.print(jam);
Serial.print(".");
Serial.print(minit);
Serial.print(".0");
Serial.print(saat);
Serial.println();
}
if (saat>9 && minit>9 && jam>9){
Serial.print(jam);
Serial.print(".");
Serial.print(minit);
Serial.print(".");
Serial.print(saat);
Serial.println();
}
if (saat>9 && minit<10 && jam>9){
Serial.print(jam);
Serial.print(".0");
Serial.print(minit);
Serial.print(".");
Serial.print(saat);
Serial.println();
}
if (saat<10 && minit>9 && jam>9){
Serial.print(jam);
Serial.print(".");
Serial.print(minit);
Serial.print(".0");
Serial.print(saat);
Serial.println();
}
}
- Setup timer baru tadi di ruangan VOID SETUP.
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
timer1.setInterval(1000,MyStopwatch);
timer2.setInterval(1000,MonitorDisplay);
}
Tambahan:
anda boleh ubah suai kelajuan timer untuk menjalankan ‘test run’ bagi memastikan timer anda berfungsi seperti yang dijangka dan pastikan kedua-dua timer berada dlam kelajuan yang sama.
- Run timer dalam VOID LOOP.
void loop() {
// put your main code here, to run repeatedly:
timer1.run();
timer2.run();
}
Dengan ini coding stopwatch anda telah lengkap dan sedia untuk berfungsi. Anda boleh upload coding dan lihat hasilnya di serial monitor.
Selamat mencuba.

