Anda di halaman 1dari 6

Nama : Fenny Ayu Ariyanti

Nim : 20203010013
Kelas :A

Sistem kerja ketika push button 1 ditekan Led 1 menyala dan oled tertampil dan nilai cacahan timer
selama 2 menit

sistem kerjanya ketika push button 2 ditekan Led 2 menyala dan oled tertampil dan nilai cacahan
timer selama 5 menit

sistem kerjanya ketika push button 3 ditekan berfungsi untuk mereset timer kembali ke NOL
(0)/awal dan hasil yang tertampil di oled yaitu “TUGAS TERAPAN”

#include <TimerOne.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display=Adafruit_SSD1306(128,32,&Wire);
int detik=0,menit=0,jam=0;
void setup() {
Timer1.initialize(1000000);// 1 juta mikrosekon
Timer1.attachInterrupt (timerIsr);
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.display();
display.clearDisplay();
pinMode(5,INPUT_PULLUP);
pinMode(6,INPUT_PULLUP);
pinMode(7,INPUT_PULLUP);
pinMode(3,OUTPUT);
pinMode(2, OUTPUT);
}
void loop()
{
detik=0;
menit=0;
display.display();
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println ("TUGAS TERAPAN");
display.setCursor(0, 8);
display.println ("PEMILIHAN WAKTU");
display.setCursor(0, 16);
display.println ("bhernika syantik");
if (digitalRead(5) == LOW)
while(1)
{
dmin();
}
else if (digitalRead(6) == LOW)
while(1)
{
lmin();
}
else if (digitalRead(7) == LOW)
while(1)
{
reset();
}
}
void dispy(){
display.display();
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println ("bhernika syantik");
display.print("jam");
display.print(":");
display.println (jam);
display.print("menit");
display.print(":");
display.println (menit);
display.print("detik");
display.print(":");
display.println (detik);
}
void dmin()
{
display.display();
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.print("2 MENIT");
display.setCursor(0,10);
display.print("menit");
display.print(":");
display.println (menit);
display.print("detik");
display.print(":");
display.println (detik);
digitalWrite(3, HIGH);
if (digitalRead(7) == LOW)
{
loop();
}
if (menit==2)
{
Timer1.stop();
digitalWrite(2, LOW);
}
}
void lmin()
{
display.display();
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.print("5 MENIT");
display.setCursor(0,10);
display.print("menit");
display.print(":");
display.println (menit);
display.print("detik");
display.print(":");
display.println (detik);
digitalWrite(2, HIGH);
if (digitalRead(7) == LOW)
while(1)
{
reset();
}
if (menit==5)
{
//detik=0;
// menit=0;
Timer1.stop();
digitalWrite(3, LOW);
}
else if (digitalRead(5) == LOW)
while(1)
dmin(); }
}
void reset()
{
Timer1.stop();
detik = 0;
menit = 0;
digitalWrite(3, LOW);
digitalWrite(2, LOW);
Serial.println("Lampu Mati");
display.display();
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println ("TUGAS TERAPAN");
display.setCursor(0, 8);
display.println ("PEMILIHAN WAKTU");
display.setCursor(0, 16);
display.println ("bhernika syantik");
if (digitalRead(6) == LOW)
while(1)
{
lmin();
}
else if (digitalRead(5) == LOW)
while(1)
{
dmin();
}
}
void timerIsr()
{ { detik++ ;
if (detik > 59 )
{detik = 0; menit = menit + 1;}
if (detik > 59 )
{menit= 0; menit = menit + 1;}
}
}

Anda mungkin juga menyukai