En nuestro anterior entrada hemos aprendido como sensar la temperatura, ahora aprenderemos a crear un control ON-OFF alrededor de una temperatura límite o "set point". El elemento a controlar será una CELDA PELTIER.
Celda Peltier:
Gráfica deseada:
Conexiones:
Relé Shenle JQC:
Código:
int Set_P=23 ;
float Rango=1 ;
float Temp;
int pintemperatura = 2 ;
float Lim_inf = Set_P - Rango ;
float Lim_sup = Set_P + Rango ;
int senal_celda;
void setup (void)
{
Serial.begin (9600);
pinMode(12,OUTPUT);
}
void loop ()
{
Temp=(5.0*analogRead(pintemperatura)*100.0/1024.0);
if (Temp<Lim_inf)
{
digitalWrite(12,HIGH);
}
if (Temp>Lim_sup)
{
digitalWrite(12,LOW);
}
else if (Lim_inf < Temp < Lim_sup)
{
digitalWrite (pintemperatura,senal_celda);
}
Serial.print("Temperatura(Celsius)=");Serial.println(Temp);
delay (1000);
}
Explicaremos el código línea por línea, así que tendremos en cuenta que hay 32 de ellas empezando desde la palabra Int.
Línea 1: Temperatura de control, identificada como entero.
Línea 2: Rango de la temperatura de control, identificado como decimal con entero.
Línea 3: Variable real para guardar la temperatura leída por el sensor.
Línea 4: Pin escogido para captar el valor analógico de la temperatura.
Línea 5: Límite inferior de la temperatura de control, como número real.
Línea 6: Límite inferior de la temperatura de control, como número real.
Línea 7: Señal ON-OFF de la celda para ser guardada.
Línea 11: Pin escogido como salida controlada.
Línea 13: Función para repetir indefinidamente el programa.
Línea 15: 5 = Valor analógico de tensión.
Analog read = lectura analógica de tensión.
100.0= Resolución de lectura en microsegundos.
1024.0 = 210, valor binario de 10 dígitos binarios.
Línea 17: Condicional para el rango menor.
Línea 19: Respuesta al condicional en el pin 12.
Línea 21: Condicional para el rango mayor.
Línea 23: Respuesta al condicional en el pin 12.
Línea 25: Condicional para el rango entre la temperatura máxima y mínima.
Línea 27: Indicamos que el valor a tomar es el mismo anterior a este.
Línea 29: Imprimimos el valor de la temperatura.
Línea 31: Demoramos 1s la siguiente toma de datos.
Espero hayan entendido muy bien el proceso
No hay comentarios:
Publicar un comentario