// ---------- Conexión a módulo Bluetooth --------- // HC - 06 ARDUINO // VCC - 5V // GND - GND // TXD - 10 // RXD - 11 // -------------------------------------------------- // #include // SoftwareSerial miBT(10,11); // miBT.begin(9600); // Pines del chip I2C al LCD: // (addr,en,rw,rs,d4,d5,d6,d7,BackLight, BLstatus) #include #include #include #include #define DHTPIN 10 #define DHTTYPE DHT11 #define relLuz 13 #define relVent 12 #define relBomb 11 #define sHum1 A0 #define sHum2 A1 #define sHum3 A2 #define sHum4 A3 #define dist A6 DHT dht(DHTPIN, DHTTYPE); LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address [0x27 o 0x3F] DateTime fecha; RTC_DS3231 reloj; bool alarma = true; byte hum1, hum2, hum3, hum4; void setup() { Serial.begin(9600); lcd.begin(20,4); dht.begin(); if(!reloj.begin()) { Serial.println("Modulo RTC no encontrado!!"); while(1); // 1 = true - blucle infito si no hay modulo } //reloj.adjust(DateTime(__DATE__, __TIME__)); // Descomentar para ajustar fecha y hora } void loop() { lcd.clear(); lcd.home(); fecha = reloj.now(); mostrarFechaSerie(); horaLCD(); imprDist(); delay(1000); } void imprDist() { lcd.setCursor(0, 2); lcd.print(pow(3027.4 / analogRead(dist), 1.2134)); lcd.print(" cm."); } /* if(fecha.hour() == 13 && fecha.minute() == 00) { if(alarma == true) { Serial.println("Alarma 1 PM"); alarma = false; } } getFecha(); delay(1000); if(fecha.hour() == 12 && fecha.minute() ==30) { alarma = true; } } */ //En caso de ser necesario mostrar hora, este codigo añade un 0 a los valores menores a 10 String getHora(char var) { switch (var) { case 'h': if(fecha.hour() < 10) { return ('0'+(String)fecha.hour()); break; } else { return (String)fecha.hour();break; } case 'm': if(fecha.minute() <10) { return ('0'+(String)fecha.minute()); break; } else { return (String)fecha.minute();break; } case 's': if(fecha.second() <10) { return ('0'+(String)fecha.second()); break; } else { return (String)fecha.second();break; } } } //Hora en LCD void horaLCD() { lcd.print("La hora es: "); lcd.print(getHora('h')); lcd.print(":"); lcd.print(getHora('m')); lcd.print(":"); lcd.print(getHora('s')); } // Enviar hora y fecha por puerto serie void mostrarFechaSerie() { Serial.print(fecha.day()); Serial.print("/"); Serial.print(fecha.month()); Serial.print("/"); Serial.print(fecha.year()); Serial.print(" "); Serial.print(getHora('h')); Serial.print(":"); Serial.print(getHora('m')); Serial.print(":"); Serial.println(getHora('s')); } void sensarHumedad() { hum1 = map(analogRead(sHum1), 0, 1023, 0, 100); hum2 = map(analogRead(sHum2), 0, 1023, 0, 100); hum3 = map(analogRead(sHum3), 0, 1023, 0, 100); hum4 = map(analogRead(sHum4), 0, 1023, 0, 100); }