Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Arduino Countdown Timer ~ www.boarduino.blogsot.com*/
- #include <LiquidCrystal.h>
- int jam = 0; //jam (hours)
- int menit = 0; //menit (minutes)
- int detik = 0; //detik (seconds)
- int led = 13;
- char hasil;
- LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
- void setup() {
- lcd.begin(16, 2);
- Serial.begin(38400); //Baudrate adjust to your bluetooth module
- pinMode(13, OUTPUT);
- lcd.print(" Aktif Dalam:");
- lcd.setCursor(4, 2);
- (jam < 10) ? lcd.print("0") : NULL;
- lcd.print(jam);
- lcd.print(":");
- (menit < 10) ? lcd.print("0") : NULL;
- lcd.print(menit);
- lcd.print(":");
- (detik < 10) ? lcd.print("0") : NULL;
- lcd.print(detik);
- lcd.display();
- }
- void loop() {
- if(Serial.available() >0 ) {
- hasil = Serial.read();
- lcd.clear();
- delay(3);
- lcd.print(" Aktif Dalam:");
- lcd.setCursor(4, 2);
- (jam < 10) ? lcd.print("0") : NULL;
- (jam < 10) ? Serial.print("0") : NULL;
- lcd.print(jam);
- Serial.print(jam);
- lcd.print(":");
- Serial.print(" : ");
- (menit < 10) ? lcd.print("0") : NULL;
- (menit < 10) ? Serial.print("0") : NULL;
- lcd.print(menit);
- Serial.print(menit);
- lcd.print(":");
- Serial.print(" : ");
- (detik < 10) ? lcd.print("0") : NULL;
- (detik < 10) ? Serial.print("0") : NULL;
- lcd.print(detik);
- Serial.print(detik);
- lcd.display();
- }
- if(hasil == '1' ) {
- jam++;
- delay(200);
- } else if( jam > 24) {
- jam = 0;
- lcd.setCursor(4, 2);
- (jam < 10) ? lcd.print("0") : NULL;
- lcd.print(jam);
- }
- if (hasil == '2') {
- jam-=1;
- delay(100);
- } else if ( jam < 0) {
- jam = 24;
- lcd.clear();
- delay(3);
- lcd.print(" Aktif Dalam:");
- lcd.setCursor(4, 2);
- (jam < 10) ? lcd.print("0") : NULL;
- lcd.print(jam);
- lcd.print(":");
- (menit < 10) ? lcd.print("0") : NULL;
- lcd.print(menit);
- lcd.print(":");
- (detik < 10) ? lcd.print("0") : NULL;
- lcd.print(detik);
- lcd.display();
- }
- if(hasil == '3' ) {
- menit++;
- delay(200);
- } else if( menit > 59) {
- menit = 0;
- lcd.setCursor(4, 2);
- (menit < 10) ? lcd.print("0") : NULL;
- lcd.print(menit);
- }
- if (hasil == '4') {
- menit-=1;
- delay(200);
- } else if ( menit < 0) {
- menit = 59;
- lcd.clear();
- delay(3);
- lcd.print(" Aktif Dalam:");
- lcd.setCursor(4, 2);
- (jam < 10) ? lcd.print("0") : NULL;
- lcd.print(jam);
- lcd.print(":");
- (menit < 10) ? lcd.print("0") : NULL;
- lcd.print(menit);
- lcd.print(":");
- (detik < 10) ? lcd.print("0") : NULL;
- lcd.print(detik);
- lcd.display();
- }
- if(hasil == '5' ) {
- detik++;
- delay(200);
- } else if( detik > 59) {
- detik = 0;
- lcd.setCursor(4, 2);
- (detik < 10) ? lcd.print("0") : NULL;
- lcd.print(detik);
- }
- if (hasil == '6') {
- detik-=1;
- delay(200);
- } else if ( detik < 0) {
- detik = 59;
- lcd.clear();
- delay(3);
- lcd.print(" Aktif Dalam:");
- lcd.setCursor(4, 2);
- (jam < 10) ? lcd.print("0") : NULL;
- lcd.print(jam);
- lcd.print(":");
- (menit < 10) ? lcd.print("0") : NULL;
- lcd.print(menit);
- lcd.print(":");
- (detik < 10) ? lcd.print("0") : NULL;
- lcd.print(detik);
- lcd.display();
- }
- if (hasil == '8') {
- jam = 0;
- menit = 0;
- detik = 0;
- lcd.setCursor(4, 2);
- (jam < 10) ? lcd.print("0") : NULL;
- lcd.print(jam);
- lcd.print(":");
- (menit < 10) ? lcd.print("0") : NULL;
- lcd.print(menit);
- lcd.print(":");
- (detik < 10) ? lcd.print("0") : NULL;
- lcd.print(detik);
- lcd.display();
- }
- else if(hasil == '7') {
- lcd.clear();
- delay(3);
- lcd.print(" Aktif Dalam:");
- lcd.setCursor(4, 2);
- (jam < 10) ? lcd.print("0") : NULL;
- (jam < 10) ? Serial.print("0") : NULL;
- lcd.print(jam);
- Serial.print(jam);
- lcd.print(":");
- Serial.print(" : ");
- (menit < 10) ? lcd.print("0") : NULL;
- (menit < 10) ? Serial.print("0") : NULL;
- lcd.print(menit);
- Serial.print(menit);
- lcd.print(":");
- Serial.print(" : ");
- (detik < 10) ? lcd.print("0") : NULL;
- (detik < 10) ? Serial.print("0") : NULL;
- lcd.print(detik);
- Serial.print(detik);
- lcd.display();
- hitungMundur();
- delay(1000);
- }
- }
- void hitungMundur() {
- if (detik > 0) {
- detik -= 1;
- } else {
- if (menit > 0) {
- detik = 59;
- menit -= 1;
- } else {
- if (jam > 0) {
- detik = 59;
- menit = 59;
- jam -= 1;
- } else {
- aktif();
- }
- }
- }
- }
- void aktif() {
- lcd.clear();
- lcd.setCursor(5, 1);
- lcd.println("BOOM");
- digitalWrite(led, HIGH);
- delay(50);
- digitalWrite(led, LOW);
- delay(50);
- digitalWrite(led, HIGH);
- delay(50);
- digitalWrite(led, LOW);
- delay(50);
- digitalWrite(led, HIGH);
- delay(50);
- digitalWrite(led, LOW);
- delay(50);
- digitalWrite(led, HIGH);
- delay(50);
- digitalWrite(led, LOW);
- delay(10);
- lcd.display();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement