Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <RTC.h>
- static DS1307 RTC;
- #include <SPI.h>
- #include <SD.h>
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27,20,4);
- #include "DHT.h"
- #define dht_int A2
- #define dht_ext A1
- #define DHTTYPE DHT11
- DHT dht1(dht_int, DHTTYPE);
- DHT dht2(dht_ext, DHTTYPE);
- //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*//
- File myFile;
- void save_temperature() {
- myFile = SD.open("temp.txt", FILE_WRITE);
- float h1 = dht1.readHumidity();
- float t1 = dht1.readTemperature();
- float f1 = dht1.readTemperature(true);
- float h2 = dht2.readHumidity();
- float t2 = dht2.readTemperature();
- float f2 = dht2.readTemperature(true);
- if (RTC.getDay()<10){
- myFile.print(0);
- }
- myFile.print(RTC.getDay());
- myFile.print("-");
- if (RTC.getMonth()<10){
- myFile.print(0);
- }
- myFile.print(RTC.getMonth());
- myFile.print(",");
- if (RTC.getHours()<10){
- myFile.print(0);
- myFile.print(RTC.getHours());
- myFile.print(":");
- if (RTC.getMinutes()<10){
- myFile.print(0);
- }
- myFile.print(RTC.getMinutes());
- /* myFile.print(":");
- if (RTC.getSeconds()<10){
- myFile.print(0);
- }
- myFile.print(RTC.getSeconds());
- */
- myFile.print(",");
- myFile.print("T+H_INT:,");
- myFile.print(t1);
- myFile.print(",");
- myFile.print(h1);
- myFile.print(",");
- myFile.print("T+H_EXT:,");
- myFile.print(t2);
- myFile.print(",");
- myFile.println(h2);
- myFile.close();
- }
- }
- //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*//
- void lcd_display_temp(){
- float h1 = dht1.readHumidity();
- float t1 = dht1.readTemperature();
- float f1 = dht1.readTemperature(true);
- float h2 = dht2.readHumidity();
- float t2 = dht2.readTemperature();
- float f2 = dht2.readTemperature(true);
- lcd.setCursor(0,1);
- lcd.print("INT:");
- lcd.print(t1);
- lcd.print("C ");
- lcd.print("H:");
- lcd.print(h1);
- lcd.print("%");
- lcd.setCursor(0,2);
- lcd.print("EXT:");
- lcd.print(t2);
- lcd.print("C ");
- lcd.print("H:");
- lcd.print(h2);
- lcd.print("%");
- }
- //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*//
- void lcd_display_time() {
- float h1 = dht1.readHumidity();
- float t1 = dht1.readTemperature();
- float f1 = dht1.readTemperature(true);
- float h2 = dht2.readHumidity();
- float t2 = dht2.readTemperature();
- float f2 = dht2.readTemperature(true);
- lcd.setCursor(0,0);
- if (RTC.getDay()<10){
- lcd.print(0);
- }
- lcd.print(RTC.getDay());
- lcd.print("-");
- if (RTC.getMonth()<10){
- lcd.print(0);
- }
- lcd.print(RTC.getMonth());
- lcd.print("-");
- lcd.print(RTC.getYear());
- lcd.print(" ");
- if (RTC.getHours()<10){
- lcd.print(0);
- }
- lcd.print(RTC.getHours());
- lcd.print(":");
- if (RTC.getMinutes()<10){
- lcd.print(0);
- }
- lcd.print(RTC.getMinutes());
- /*lcd.print(":");
- if (RTC.getSeconds()<10){
- lcd.print(0);
- }
- lcd.print(RTC.getSeconds());
- */
- }
- //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*//
- void setup()
- {
- Serial.begin(9600);
- RTC.begin();
- Wire.begin();
- dht1.begin();
- dht2.begin();
- SD.begin(10);
- delay(100);
- lcd.init();
- lcd.backlight();
- /* Serial.print("Initializing SD card...");
- if (!SD.begin(10)) {
- Serial.println("initialization failed!");
- while (1);
- }
- Serial.println("initialization done.");
- */
- }
- //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*//
- void loop()
- {
- save_temperature();
- lcd_display_time();
- lcd_display_temp();
- delay(60000);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement