Anda di halaman 1dari 7

Nama : Alfitra Vadhel Ibrahim

Nim : 20203010004
Kelas : A

1). Gambar dibawah merupakan sistem kerja ketika push button 1 ditekan Led 1 menyala dan
oled tertampil dan nilai cacahan timer selama 2 menit

2). Gambar dibawah merupakan sistem kerjanya ketika push button 2 ditekan Led 2 menyala
dan oled tertampil dan nilai cacahan timer selama 5 menit
3). Gambar dibawah ini meupakan 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”

Berikut codingannya :

#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 ("Alfitra Vadhel");
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 ("Alfitra Vadhel ");
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 ("Alfitra Vadhel");
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