hola buen día, soy nuevo en el foro y gracias al mismo ya he podido resolver algunas de las dudas que he tenido con el proyecto que estoy realizando, les explico ; estoy utilizando un arduino uno , un modulo rtc, un sensor de temperatura y humedad así como un modulo de 4 reveladores para automatizar un terrario, la idea es que el sensor de temperatura y humedad me activen tanto un calentador como un atomizado cuando los parámetros bajen de lo establecido como mínimo, eso ya lo logre lo que me falta es que mi foco de luz de día se active y se apague a la hora establecida, ya he probado cambiando el nombre a los pines y las instrucciones pero aun así se mantiene encendido aunque recorra la hora para revisar que se apague.
aquí dejo el código:
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <DHT.h>
#include <DHT_U.h>
LiquidCrystal_I2C lcd (0x27,16,2);//ale con esta direccion puedes usar (0x3f,16,2)||(0x20,16,2)
#include "Sodaq_DS3231.h"
char DiaSemana[][4] = {"Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"};
// La linea fija la fecha, hora y dia de la semana, se debe suprimir la linea en la segunda carga
// Ejemplo 2018 noviembre 11, 08:00:00 dia 6-Sabado (0=Dom, 1=Lun, 2=Mar, 3=Mie, 4=Jue, 5=Vie, 6=Sab)
// DateTime dt(2019, 04, 18, 03, 23, 0, 4);
int SENSOR = 2;
int TEMPERATURA;
int HUMEDAD;
int luz3 = 3;
int lluvia4 = 4;
int calor5 = 5;
int jum6 = 6;
DHT dht (SENSOR, DHT11);
void setup() {
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
dht.begin();
rtc.begin();
Wire.begin();
lcd.begin(16,2);
Serial.begin(9600);
lcd.backlight();
lcd.setCursor (3,0);
lcd.print ("ROMNI 9000");
lcd.setCursor (0,1);
lcd.print ("INDUSTRIAS BALTA");
delay(5000);
lcd.clear();
// La linea fija la fecha, hora y dia de la semana, se debe suprimir la linea en la segunda carga
//rtc.setDateTime(dt);
}
void loop() {
DateTime now = rtc.now();
TEMPERATURA = dht.readTemperature();
HUMEDAD = dht.readHumidity();
lcd.setCursor(0,0);
lcd.print("TEMP: ");
lcd.print(TEMPERATURA);
lcd.setCursor(0,1);
lcd.print("HU/R: ");
lcd.print(HUMEDAD);
Serial.print("TEMP: ");
Serial.print(TEMPERATURA);
Serial.print("HUM: ");
Serial.println(HUMEDAD);
delay(1000);
int hora =now.hour();
int minuto =now.minute();
int segundo = now.second();
if(hora >=10 && hora <20 ){
digitalWrite(luz3,HIGH);
}
else {
digitalWrite(luz3,LOW);}
if(minuto >=26 && minuto <27 ){
digitalWrite(4,true);}
else {digitalWrite(4,false);}
if(TEMPERATURA >=27){
digitalWrite(calor5,HIGH);}
else {
digitalWrite(calor5,LOW);}
if(HUMEDAD >=60){
digitalWrite(jum6,HIGH);
}
else {
digitalWrite(jum6,LOW);
}
}
codigo.txt (2.1 KB)