#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 rtc;
char daysOfTheWeek[7][12] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
#include <DHT.h>
#define DHTPIN 5
#define DHTTYPE DHT22
#define TIMEDHT 1000
unsigned long timerDHT = 0;
const int ECHOPIN= 6;
const int TRIGPIN= 7;
int adc= 2;
long timer;
int jarak;
DHT dht(DHTPIN, DHTTYPE);
void setup ()
{
Serial.begin(9600);
if (! rtc.begin())
{
Serial.print("Couldn't find RTC");
while (1);
}
if (! rtc.isrunning())
{
Serial.print("RTC is NOT running!");
}
//rtc.adjust(DateTime(F(_DATE), F(TIME_)));//auto update from computer time
rtc.adjust(DateTime(2022, 11, 21, 23, 32, 0));// to set the time manually
pinMode(adc, INPUT);
pinMode(ECHOPIN, INPUT);
pinMode(TRIGPIN, OUTPUT);
dht.begin();
}
void loop ()
{
float kelembapan = dht.readHumidity();
float suhu = dht.readTemperature();
int dataadc = analogRead (adc);
DateTime now = rtc.now();
Serial.print("DATE : ");
Serial.print(now.day());
Serial.print('/');
Serial.print(now.month());
Serial.print('/');
Serial.print(now.year());
Serial.print("TIME : ");
Serial.print(" ");
Serial.print(now.hour());
Serial.print(':');
Serial.print(now.minute());
Serial.print(':');
Serial.print(now.second());
Serial.print(" ");
//lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
//lcd.print(" ");
Serial.print(", ");
Serial.print("Suhu : ");
Serial.print(suhu);
Serial.print(", ");
Serial.print("Kelembapan : ");
Serial.print(kelembapan);
Serial.print(", ");
Serial.print("Nilai ADC : ");
Serial.print(dataadc);
Serial.print(", ");
digitalWrite(TRIGPIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGPIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGPIN, LOW);
timer=pulseIn(ECHOPIN, HIGH);
jarak=timer/58;
delay(100);
Serial.print("Jarak : ");
Serial.print(jarak);
Serial.println("cm");
delay(1000);
}