//Librerías para lcd
#include<Wire.h>
#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
//Librerías para RTC
#include<ThreeWire.h>
#include<RtcDS1302.h>
ThreeWire myWire(3,4,2); //PINES IO, SCLK, CE -> DE RTC DS1302
RtcDS1302 <ThreeWire> Rtc(myWire);
#define countof(a) (sizeof(a) / sizeof(a[0]))
//Librerías para dht11
#include<Adafruit_Sensor.h>
#include<DHT.h>
#include<DHT_U.h>
#define DHTPIN 10
#define DHTTYPE DHT11
DHT_Unified dht(DHTPIN, DHTTYPE);
uint32_t delayMS;
void printDateTime(const RtcDateTime& dt){
char datestring[10];
snprintf_P(datestring,
countof(datestring),
PSTR("%02u:%02u"),
dt.Hour(),
dt.Minute() );
lcd.setCursor (0,0);
lcd.print(dt.Hour() );
lcd.print(":");
lcd.print(dt.Minute() );
}
void TempHum() {
delay(delayMS);
sensors_event_t event;
dht.temperature().getEvent(&event);
if(isnan(event.temperature)) {
lcd.setCursor(8,0);
lcd.print(F(" "));
}
else{
lcd.setCursor(8,0);
lcd.print("T:");
lcd.print(event.temperature);
lcd.print("C");
}
dht.humidity().getEvent(&event);
if(isnan(event.relative_humidity)) {
lcd.setCursor(8,1);
lcd.print(F(" "));
}
else{
lcd.setCursor(8,1);
lcd.print("H:");
lcd.print(event.relative_humidity);
lcd.print("%");
}
}
void BombaAguaNA(){
int rele = 7;
int x =analogRead (A0);
lcd.setCursor (0,1);
lcd.print("NA: ");
lcd.print (x);
if (x<1023){
digitalWrite(rele, HIGH);
Serial.println ("Bomba prendida");
}
else {
digitalWrite(rele, LOW);
Serial.println ("Bomba apagada");
}
}
void setup(){
Serial.begin(9600);
lcd.begin(16,2);
Rtc.Begin();
RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__);
printDateTime(compiled);
dht.begin();
pinMode (7,OUTPUT);
}
void loop(){
RtcDateTime now = Rtc.GetDateTime();
printDateTime(now);
TempHum();
BombaAguaNA();
delay (1000);
}
Su publicacion se MUEVE a su ubicacion actual ya que es mas adecuada.
Y cual es la pregunta?
Lee las normas, da una explicación de lo que deseas hacer por favor.