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.