Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- #include "DHT.h"
- #include "RTClib.h"
- #define RELAYPIN 9
- #define DHTPIN 8
- #define DHTTYPE DHT22
- DHT dht(DHTPIN, DHTTYPE);
- LiquidCrystal_I2C lcd(0x27, 16, 2);
- RTC_DS3231 rtc;
- void setup() {
- Serial.begin(9600);
- lcd.init();
- lcd.init();
- lcd.backlight();
- lcd.setCursor(0, 0);
- lcd.print("Hello, world!");
- dht.begin();
- rtc.begin();
- pinMode(RELAYPIN, OUTPUT);
- digitalWrite(RELAYPIN, LOW);
- if (rtc.lostPower()) {
- rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
- }
- }
- void loop() {
- DateTime now = rtc.now();
- delay(1000);
- float h = dht.readHumidity();
- float t = dht.readTemperature();
- Serial.print(F("Humidity: "));
- Serial.print(h);
- Serial.print(F("% Temperature: "));
- Serial.print(t);
- Serial.println(F("°C "));
- Serial.print(now.year(), DEC);
- Serial.print('/');
- Serial.print(now.month(), DEC);
- Serial.print('/');
- Serial.print(now.day(), DEC);
- Serial.print(" ");
- Serial.print(now.hour(), DEC);
- Serial.print(':');
- Serial.print(now.minute(), DEC);
- Serial.println();
- lcd.setCursor(0, 0);
- lcd.print(now.year());
- lcd.print("/");
- lcd.print(now.month());
- lcd.print("/");
- lcd.print(now.day());
- lcd.print(" ");
- lcd.print(now.hour());
- lcd.print(":");
- lcd.print(now.minute());
- lcd.setCursor(0, 1);
- lcd.print("T:");
- lcd.print(t);
- lcd.print(" L:");
- lcd.print("OFF");
- //8AM-3PM for 10 minutes
- if (now.hour() == 8 || now.hour() == 9 || now.hour() == 10 || now.hour() == 11 || now.hour() == 12 || now.hour() == 13 || now.hour() == 14 || now.hour() == 15) {
- if (now.minute() <= 10) {
- if (now.second() <= 20) {
- digitalWrite(RELAYPIN, HIGH);
- lcd.setCursor(10, 1);
- lcd.print("ON ");
- delay(1000);
- }
- else {
- digitalWrite(RELAYPIN, LOW);
- lcd.setCursor(10, 1);
- lcd.print("OFF");
- }
- }
- else {
- digitalWrite(RELAYPIN, LOW);
- lcd.setCursor(10, 1);
- lcd.print("OFF");
- }
- }
- else {
- digitalWrite(RELAYPIN, LOW);
- lcd.setCursor(10, 1);
- lcd.print("OFF");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement