0% menganggap dokumen ini bermanfaat (0 suara)
13 tayangan2 halaman

Arduino Timer

Dokumen ini adalah kode program untuk mengendalikan stopwatch menggunakan modul TM1637 dan tombol push button. Program ini memungkinkan pengguna untuk memulai, menghentikan, dan mereset stopwatch, serta menampilkan waktu yang telah berlalu. Ketika waktu mencapai 2 menit, LED merah berkedip dan buzzer berbunyi sebagai tanda peringatan.

Diunggah oleh

kaknidar9
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
13 tayangan2 halaman

Arduino Timer

Dokumen ini adalah kode program untuk mengendalikan stopwatch menggunakan modul TM1637 dan tombol push button. Program ini memungkinkan pengguna untuk memulai, menghentikan, dan mereset stopwatch, serta menampilkan waktu yang telah berlalu. Ketika waktu mencapai 2 menit, LED merah berkedip dan buzzer berbunyi sebagai tanda peringatan.

Diunggah oleh

kaknidar9
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 2

// Youtube : OPTI MIST

// Go with this link :https://youtube.com/@optimist1630


#include <TM1637Display.h>

// Pins for the tm1637 display module


#define CLK 7
#define DIO 8

// Pins for the push buttons


#define START_STOP_BUTTON_PIN A0
#define RESET_BUTTON_PIN A1

int kuning = 4;
int buz = 5;
int hijau = 6;
int merah = 11;

TM1637Display display(CLK, DIO);

unsigned long waktumulai = 0;


unsigned long waktusaatini = 0;
unsigned long waktuberlalu = 0;
boolean sedangberjalan = false;

void setup() {
pinMode (kuning, OUTPUT);
pinMode (hijau, OUTPUT);
pinMode (merah, OUTPUT);
pinMode (buz, OUTPUT);

display.setBrightness(0x0f);
pinMode(START_STOP_BUTTON_PIN, INPUT_PULLUP);
pinMode(RESET_BUTTON_PIN, INPUT_PULLUP);
}

void loop() {
// Check if the start/stop button has been pressed
if (digitalRead(START_STOP_BUTTON_PIN) == LOW) {
delay(20); // menghilangkan bouncing
if (digitalRead(START_STOP_BUTTON_PIN) == LOW) {
digitalWrite(hijau, HIGH);
// Button is pressed
if (!sedangberjalan) {
// Start the stopwatch
waktumulai = millis() - waktuberlalu;
sedangberjalan = true;
} else {
// Stop the stopwatch
sedangberjalan = false;
waktuberlalu = millis() - waktumulai;
}
}
}

// Check if the reset button has been pressed


if (digitalRead(RESET_BUTTON_PIN) == LOW) {
delay(20); // debounce
if (digitalRead(RESET_BUTTON_PIN) == LOW) {
digitalWrite(kuning, LOW);
digitalWrite(hijau, LOW);
digitalWrite(merah, LOW);

// Button is pressed
waktuberlalu = 0;
sedangberjalan = false;
}
}

// Calculate the elapsed time


if (sedangberjalan) {
waktusaatini = millis();
waktuberlalu = waktusaatini - waktumulai;
}

// Display the elapsed time


int seconds = waktuberlalu / 1000;
int minutes = seconds / 60;
int detikSisa = seconds % 60;
int waktutampil = minutes * 100 + detikSisa;
display.showNumberDecEx(waktutampil, 0b01000000, true);

if (waktutampil == 120) { // Mulai berkedip ketika hitungan mencapai 02:00


while (true) {

digitalWrite(merah, HIGH);
digitalWrite(buz, HIGH);
display.showNumberDecEx(waktutampil *100 /60 , 0b01000000, true);
delay(1000);
digitalWrite(buz, LOW);
display.clear(); // Clear the display
delay(500);
}
}

Anda mungkin juga menyukai