Buenas, quisiera saber si este código esta bien hecho, por ahora sigo sin la arduino.
Estoy aprendiendo la programación
El proyecto seria un vivero, semillero, un ecosistema automático que regule la temperatura(ventilador 1, ventilador2 respaldo, calefacción) la humedad del ambiente (vaporera) y el suelo (sensorValue)
No sean duros conmigo recién estoy aprendiendo gracias.
Los números de pin son de modo de ejemplo, todavía no vi eso.
Lo compile y me dio todo OK.
Desde ya muchas gracias!.
#include "DHT.h"
#define DHTPIN 2 // el pin donde esta el sensor
// eliminar comentario segun el sensor que estemos usando
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Conecte el pin 1 (a la izquierda) del sensor a +5 V
// NOTA: Si se utiliza una tabla con la lógica de 3.3V como un Arduino Debido conectar el pin 1
// a 3.3V en vez de 5V!
// Conecte el pin 2 del sensor a lo que su DHTPIN es
// Conecte el pin 4 (a la derecha) del sensor a TIERRA
// Conecte una resistencia de 10K del pin 2 (datos) al pin 1 (alimentación) del sensor
// Inicializar sensor DHT para Arduino normal de 16 MHz
DHT dht(DHTPIN, DHTTYPE);
int sensorPin = A0;
int sensorValue = 0;
int ventilador = 8; // pin del ventilador
int calefactor = 9; // pin del calefactor
int vaporera = 10; // pin de la vaporera
int ventilador2 = 11; // pin de del ventilador respaldo
int bombaagua = 12; // pin de de la bomba de agua
void setup() {
Serial.begin(9600);
Serial.println("Mediciones...");
pinMode(8,OUTPUT);//configuracion del pin 8 ventilador
pinMode(9,OUTPUT);//configuracion del pin 9 calefactor
pinMode(10,OUTPUT);//configuracion del pin 10 vaporera
pinMode(11,OUTPUT);//configuracion del pin 11 ventilador2
pinMode(12,OUTPUT);//configuracion del pin 12 bomba agua
dht.begin();
}
void loop() {
// Espere unos segundos entre mediciones.
delay(2000);
// Temperatura de lectura o la humedad tarda unos 250 milisegundos! Lecturas
// sensores también pueden ser 'viejo' (es un sensor muy lento) hasta 2 segundos
float h = dht.readHumidity();
// Leer temperatura Celsius
float t = dht.readTemperature();
// Leer temperatura en Fahrenheit
float f = dht.readTemperature(true);
delay(1000);
sensorValue = analogRead(sensorPin);
delay(1000);
Serial.print("sensor = " );
Serial.println(sensorValue);
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Error al leer desde el sensor DHT22!");
return;
}
// Índice de calor Compute
// Debe enviar temperatura en Fahrenheit!
float hi = dht.computeHeatIndex(f, h);
Serial.print("Humedad: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperatura: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print("Heat index: ");
Serial.print(hi);
Serial.println(" *F");
// temperatura ventilador1
if (t <21 ){// temperatura, cambiar numero en funcion de lo que se desee
digitalWrite(8, LOW);
}else
digitalWrite(8, HIGH);
// temperatura ventilador2 respaldo
if (t >25 ){// temperatura, cambiar numero en funcion de lo que se desee
digitalWrite(11, HIGH);
}else
digitalWrite(11, LOW);
// temperatura calefactor
if (t <= 18){//temperatura, cambiar numero en funcion de lo que se desee
digitalWrite(9, HIGH);
}else
digitalWrite(9, LOW);
// humedad vaporera
if (h < 80){// humedad, cambiar numero en funcion de lo que se desee
digitalWrite(10, HIGH);
}else
digitalWrite(10, LOW);
// humedad suelo
if (sensorValue < 10){// humedad del suelo, cambiar numero en funcion de lo que se desee
digitalWrite(12, HIGH);
}else
digitalWrite(12, LOW);
}