Hola de nuevo,
disculpad la falta de info, pero abri el post con el movil y tenía previsto pasaros hoy código...
para que veáis que sí he leído normas, mirad otra consulta que hice:
https://forum.arduino.cc/index.php?topic=597598.0
además viendo un post similar, se entiende de ese foro que la causa del problema fue el tipo de periférico:
https://forum.arduino.cc/index.php?topic=431146.0
mi código:
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
#define DHTPIN 6 // Pin which is connected to the DHT sensor.
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT_Unified dht(DHTPIN, DHTTYPE);
#include <I2CSoilMoistureSensor.h>
const int sensorPin = A0;
#include <LiquidCrystal.h> // para LCD 16x2
//#include <LiquidCrystal_I2C.h>
//Crear el objeto LCD con los números correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
//LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
//Dibujo caracter grado
byte grado[8] =
{
0b00001100,
0b00010010,
0b00010010,
0b00001100,
0b00000000,
0b00000000,
0b00000000,
0b00000000
};
//iniciamos los relay y asignamos pines
int relay2 = 9;
void setup() {
// Comenzamos el sensor DHT
Serial.begin(9600);
dht.begin();
// Inicializar el LCD con el número de columnas y filas del LCD
lcd.begin(16, 2);
lcd.createChar(1, grado);// agregamos el caracter grado
// Escribimos el Mensaje en el LCD.
lcd.setCursor(0, 0);
lcd.print("Iniciando...");
lcd.setCursor(0, 1);
lcd.print("MICROCLIMA_THC");
// Inicializar el pin digital relays, como salidas
pinMode(relay2, OUTPUT);
// Apagamos todos los relays
digitalWrite(relay2, HIGH); //apagamos el relay
}
void loop() {
// Esperamos 5 segundos entre medidas
delay(5000);
int humedadcogollo = analogRead(sensorPin);
sensors_event_t event;
dht.temperature().getEvent(&event);
if (isnan(event.temperature)) {
Serial.println("Error reading temperature!");
}
else {
Serial.print("Temperature: ");
Serial.print(event.temperature);
Serial.println(" *C");
}
dht.humidity().getEvent(&event);
if (isnan(event.relative_humidity)) {
Serial.println("Error reading humidity!");
}
else {
Serial.print("Humidity: ");
Serial.print(event.relative_humidity);
Serial.println("%");
}
Serial.print("Hcogollo: ");
Serial.print(humedadcogollo);
Serial.print(" aire1023");
// Escribir en LCD humedad y temperatura
lcd.setCursor(0, 0);
lcd.print("Humedad: ");
lcd.print(event.relative_humidity);
lcd.print(" %");
lcd.setCursor(0, 1);
lcd.print("Hcogo: ");
lcd.print(humedadcogollo);
lcd.write(1); //Imprimimos nuestro caracter Grados
lcd.print("/1023");
//Relay : 2
if(event.relative_humidity>45){
digitalWrite(relay2, LOW); //encendemos el relay
}else{
digitalWrite(relay2, HIGH); //apagamos el relay
}
}
Además adjunto fotos del montaje y como veréis en el detalle del relé, el relay1 está quemado. Antes de que pasará la incidencia objeto de consulta, me equivoqué en la conexion del cableado al relay1 y saltó el diferencial. Menos mal que no quemó el arduino...pero quizá sea la causa del problema actual?
Un saludo y gracias
Jorge