Proyecto revisión

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);
}

Así a simple vista, no le encuentro ningún problema. Habría que probarlo con los sensores, a ver que tal. Recuerda conectar los ventiladores, calefactores, y todo eso con relés o transistores.

Muchas Gracias por contestar, si el tema del hardware es un problema para mi (soy programador) eso de transistores no lo entiendo igual cuando van las resistencias, etc .
Tengo un libro de electrónica básica que toca leerlo porque lleva muchas cosas este proyecto.
Me falta agregar unos sensores mas para que quede completo .
A medida que agrege estos sensores lo voy posteando aquí.
Luego pongo el hardware (fritzing) y cuando tenga el proyecto completo con fotos y videos lo coloco en la sección proyectos.

Cualquier ayuda o consejo se agradece.

Editado: tengo unas dudas del código, no me conviene poner el nombre de la variable antes del numero del pin o es lo mismo
ejemplo:

if (sensorValue < 10){// humedad del suelo, cambiar numero en funcion de lo que se desee
   digitalWrite(12, HIGH);

Por:

if (sensorValue < 10){// humedad del suelo, cambiar numero en funcion de lo que se desee
   digitalWrite(bombaagua, HIGH);

Puse el numero del pin porque me parecio mas fácil para no errar en el tipeo del nombre.

En void setup() {
Me conviene poner ya sea la bomba de agua, los ventiladores, el calefactor, etc
estén low?
Para que arranquen apagados o ya arrancan apagados (he visto otros códigos que lo ponen por eso pregunto).

Con respecto al foro
Este post iría en proyectos? o acá esta bien ?

Gracias y saludos.

si no tenes el arduino proba en HACER Una emulacion