Advertisement
J0N4TH4NGR4NDM0NT

Display I2C 2004 + Clock + 2X DHT11

Apr 7th, 2022
331
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <Wire.h>
  2.  
  3. #include <RTC.h>
  4. static DS1307 RTC;
  5.  
  6. #include <LiquidCrystal_I2C.h>
  7. LiquidCrystal_I2C lcd(0x27,20,4);
  8.  
  9. #include "DHT.h"
  10. #define dht_int A2
  11. #define dht_ext A1
  12. #define DHTTYPE DHT11
  13. DHT dht1(dht_int, DHTTYPE);
  14. DHT dht2(dht_ext, DHTTYPE);
  15.  
  16. //---------------------------------------------------------------
  17.   void temp(){
  18.  
  19.   float h1 = dht1.readHumidity();
  20.   float t1 = dht1.readTemperature();
  21.   float f1 = dht1.readTemperature(true);
  22.  
  23.   lcd.setCursor(0,1);
  24.   lcd.print("INT:");
  25.   lcd.print(t1);
  26.   lcd.print("C ");
  27.   lcd.print("H:");
  28.   lcd.print(h1);
  29.   lcd.print("%");
  30.  
  31.   float h2 = dht2.readHumidity();
  32.   float t2 = dht2.readTemperature();
  33.   float f2 = dht2.readTemperature(true);
  34.  
  35.   lcd.setCursor(0,2);
  36.   lcd.print("EXT:");
  37.   lcd.print(t2);
  38.   lcd.print("C ");
  39.   lcd.print("H:");
  40.   lcd.print(h2);
  41.   lcd.print("%");
  42.   }
  43. //---------------------------------------------------------------  
  44.  
  45.   void lcd_display_time() {
  46.   lcd.setCursor(0,0);
  47.   if (RTC.getDay()<10){
  48.   lcd.print(0);
  49.   }
  50.   lcd.print(RTC.getDay());
  51.   lcd.print("-");
  52.   if (RTC.getMonth()<10){
  53.   lcd.print(0);
  54.   }
  55.   lcd.print(RTC.getMonth());
  56.   lcd.print("-");
  57.   lcd.print(RTC.getYear());
  58.  
  59.   lcd.print(" ");
  60.   if (RTC.getHours()<10){
  61.   lcd.print(0);
  62.   }
  63.   lcd.print(RTC.getHours());
  64.   lcd.print(":");
  65.   if (RTC.getMinutes()<10){
  66.   lcd.print(0);
  67.   }
  68.   lcd.print(RTC.getMinutes());
  69.   lcd.print(":");
  70.   if (RTC.getSeconds()<10){
  71.   lcd.print(0);
  72.   }
  73.   lcd.print(RTC.getSeconds());
  74.   }
  75. //---------------------------------------------------------------
  76. void setup()
  77. {
  78.   Serial.begin(9600);
  79.   RTC.begin();
  80.   Wire.begin();
  81.   dht1.begin();
  82.   dht2.begin();
  83.   delay(100);
  84.   lcd.init();
  85.   lcd.backlight();
  86.   delay(100);
  87. }
  88. //---------------------------------------------------------------
  89. void loop()
  90. {
  91. //---------------------------------------------------------------
  92.   lcd_display_time();
  93.   temp();
  94.     delay(1000);
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement