You are on page 1of 6

Nama Anggota Kelompok

1. Altharul Baqtiya
2. Arti Suryaning Tyas
3. Dimas Yudith Fauzan
C4 – Telekomunikasi 3C

1. RTC (Relay Time Clock)


#include <LiquidCrystal_I2C.h>
#include <RTClib.h>
#include <Wire.h>

#define SERIAL_OPTION 0

LiquidCrystal_I2C lcd(0x27,16,2);
RTC_DS1307 RTC;

void setup() {
if (SERIAL_OPTION) Serial.begin(9600);

lcd.init();
lcd.backlight();

RTC.begin();

// RTC.adjust(DateTime(2022,9,30,18,13,40));
}

void loop() {

DateTime now=RTC.now();

if (SERIAL_OPTION) {
Serial.print(now.year()); Serial.print("/");
Serial.print(now.month()); Serial.print("/");
Serial.print(now.day()); Serial.print(" ");
Serial.print(now.hour()); Serial.print(":");
Serial.print(now.minute()); Serial.print(":");
Serial.print(now.second()); Serial.print("\n");
}

lcd.setCursor(0,0); lcd.print("DATE: ");


lcd.print(now.year()); lcd.print("/");
lcd.print(now.month()); lcd.print("/");
lcd.print(now.day());
lcd.setCursor(0,1); lcd.print("TIME: ");
lcd.print(now.hour()); lcd.print(":");
lcd.print(now.minute()); lcd.print(":");
lcd.print(now.second());

delay(1000);
}
2. Port Expander (PCF8574)

BATTERY
#include <Wire.h>
#define PCF8574 0x20
#define PCF8574read 0x20
int ledPinRed=2;
int ledPinYellow=3;
int ledPinGreen=4;
uint8_t swPin=7;
byte data;
boolean datacomm=true;

void PCF8574_Write(int address, byte data) {


Wire.beginTransmission(address);
Wire.write(data);
delay (100);
Wire.endTransmission();
delay(5);
}

byte PCF8574_Read(int address) {


byte dataByte=0xff;
Wire.requestFrom(address,1);
if(Wire.available()){
dataByte=Wire.read();
datacomm=true;
}
else {
datacomm=false;
}
return dataByte;
}

void setup(){
pinMode(ledPinRed, OUTPUT);
pinMode(ledPinYellow, OUTPUT);
pinMode(ledPinGreen, OUTPUT);

digitalWrite(ledPinRed,LOW);
digitalWrite(ledPinYellow,LOW);
digitalWrite(ledPinGreen,LOW);
Wire.begin();
Serial.begin(9600);
delay(100);
PCF8574_Write(PCF8574,0b00000000);
}

void loop() {

data=PCF8574_Read(PCF8574);

if (datacomm) {
if(bitRead(data,4))
digitalWrite(ledPinRed,LOW);
else
digitalWrite(ledPinRed,HIGH);

if(bitRead(data,5))
digitalWrite(ledPinYellow,LOW);
else
digitalWrite(ledPinYellow,HIGH);

if(bitRead(data,6))
digitalWrite(ledPinGreen,LOW);
else
digitalWrite(ledPinGreen,HIGH);
}

if (digitalRead(swPin)==HIGH)
PCF8574_Write(PCF8574,0b00000000);
//else
// PCF8574_Write(PCF8574,0b00000001);
}

You might also like