Haga su propio controlador de temperatura con un Arduino
Levanta el pan perfecto, prepara cerveza hermosa y cría pollos felices con un controlador de temperatura Arduino. Si vives en un clima poco confiable como el de Inglaterra, las instrucciones que te dicen que mantengas algo a una temperatura determinada no son particularmente útiles; no tenemos aire acondicionado, y elevar el termostato para toda la casa no es práctico para Sólo haciendo una barra de pan. Incluso si se mantienen adentro, los pollitos pueden morir si la temperatura desciende por la noche; y lograr que eclosionen en primer lugar tiene un rango de temperatura aún más estricto. Pero necesito mi pan, y los pollitos necesitan incubar, así que en lugar de comprar equipo costoso, podemos improvisar un controlador de temperatura competente con un Arduino y pedacitos para el hogar..
Lo mismo es cierto para mantener los artículos frescos (puede ser un desperdicio correr una nevera entera solo para hacer yogur), pero con un controlador de temperatura, el principio es el mismo. En lugar de activar un elemento calefactor, activará el enchufe en un mini-refrigerador u otro elemento de enfriamiento, como un Peltier (enfriador termoeléctrico), y por supuesto, la lógica se invertirá.
Que necesitarás
Este es un proyecto de Arduino: si nunca ha trabajado con Arduino antes, nuestra guía gratuita para principiantes es un lugar fantástico para comenzar.
- Arduino
- Sensor de temperatura: estoy usando un TMP36, un dispositivo de paquete único barato que viene con el kit para principiantes de Oomlout (Reino Unido) / Sparkfun (EE. UU.).
- Interruptores de relé o enchufe RC
- Terminales de tornillo
- Caja para atrapar el calor.
- Elemento calentador o bombilla y accesorio incandescentes (o ambos)
El último artículo se ha dejado deliberadamente vago. Si tiene una bombilla incandescente (del tipo que se calienta, no una bombilla que ahorra energía) o una lámpara caliente para lesiones deportivas, es probablemente la más fácil de instalar. Estoy usando una banda de calentamiento - básicamente una banda de caucho que se calienta cuando se pasa la electricidad, se usa en carboys y barriles para las etapas iniciales de fermentación en la elaboración de vino o cerveza - técnicamente, esto puede ser un riesgo de incendio cuando no se enrolla alrededor de algo , asi que por favor no hagas esto, solo lo uso para probar. También puedes comprar almohadillas térmicas para el mismo fin..
Por razones de seguridad, estoy usando estos enchufes RC para cambiar los dispositivos de CA, con un controlador separado detallado en este artículo de automatización del hogar Control de dispositivos desde un Arduino: el inicio de la automatización del hogar Dispositivos de control desde un Arduino: el inicio de la automatización del hogar Última En este momento, le mostré algunas formas de hacer que sus proyectos de Arduino sean controlados por voz a través de SiriProxy, los elementos hablados incorporados de OS X y algunos scripts de Automator, o incluso un chip de hardware de reconocimiento de voz dedicado. Yo… Leer más. Es inalámbrico, por lo que en ningún momento necesito tocar cables en vivo.
Sensor de temperatura
Empecemos por cablear y probar el sensor. [Diagrama de Adafruit]
Con el lado plano hacia usted y las piernas hacia abajo, el sensor de temperatura TMP36 está cableado +, señal, GND en ese orden. El + va a la salida de 3.3 V de Arduino; también necesita otra línea que va desde +3.3 V hasta el pin AREF: esto le indica al Arduino que use 3.3 V para la referencia de entrada analógica en lugar de 5 V. Conecte el pin de señal del sensor a A1. En intentos anteriores, había usado el TMP36 directamente en la línea de 5 V; funciona, pero desafortunadamente cuando se empareja con un relé, hubo una caída de energía cada vez que se activó el relé, lo que dio como resultado lecturas muy fluctuantes.
Utilicé un cable de red antiguo como cable de señal, muy útil para tenerlo alrededor, ya que hay 8 cables en el interior. Sin embargo, el cable es bastante delgado, así que asegúrese de reforzar el otro extremo con soldadura donde se atornille en un bloque de terminales.
La fórmula en el código asume que estás usando el sensor tMP36; Debería poder encontrar un ejemplo de código para otros sensores. Este código de ejemplo es de Adafruit: cárguelo y abra la consola Serial para examinar la salida.
Compare con un termómetro si es posible. Lecturas no correctas?
- Compruebe que la tensión que se suministra es en realidad 3,3 V
- ¿El AREF está conectado a 3.3 V también??
Añadiendo en Switch Logic
Para controlar el elemento calefactor, estoy usando estos enchufes RC de Maplin y desarmé el controlador. Solo es necesario conectar la tierra y el pin de control. He modificado el código para incluir las bibliotecas relevantes que puede descargar desde aquí..
En este punto, también eliminaré todas las referencias a Farenheit y continuaré trabajando solo con Celsius. Luego definí la temperatura deseada para mantener, y la agregué en una estructura de control simple así:
si (temperatura C < desiredTempC) mySwitch.switchOn(1,1); Serial.println("Heater ON"); else Serial.println("Heater OFF"); mySwitch.switchOff(1,1);
No hay nada complejo aquí que no puedas entender, simplemente compara la lectura de temperatura actual con la deseada y enciende el interruptor si es más bajo; de lo contrario, apágalo.
El código completo se puede encontrar aquí, aunque tendrá que ajustarlo si está usando un relé (no es difícil). Aquí está el diagrama de cableado completo que utilicé:
Poniendolo todo junto
Pegue el sensor dentro de la caja que está utilizando y coloque el elemento calefactor donde sea apropiado. Ajuste la temperatura deseada, y enciéndalo todo. Si mantiene su PC conectada por ahora, puede usar la consola Serial para observar los cambios a medida que su caja se calienta..
Más trabajo
- Para disminuir el impacto de las fluctuaciones de temperatura, puede intentar suavizar los resultados. Cree una matriz para almacenar 10 lecturas y calcule un promedio en cada bucle.
- Para evitar la activación y desactivación rápidas del elemento de calefacción, cree una variable para almacenar una cuenta atrás. Cada vez que active o desactive, registre la hora actual en la cuenta regresiva, luego, antes de volver a cambiar el estado, verifique si ha transcurrido X tiempo desde el último cambio de estado.
- Para un proyecto sin computadora, conecte una pequeña pantalla LCD para mostrar la temperatura actual y permitirle ver la temperatura actual y la deseada.
Poniéndolo a prueba
Finalmente, ¿qué sería este proyecto sin una pequeña prueba? Saqué un lote de masa premezclada en la máquina de pan y la partí en dos panes. La levadura dentro de la caja era ligeramente más grande, pero de todos modos la temperatura del aire ambiente actual es de unos 26 grados centígrados, lo que sería mucho más útil en invierno. En cualquier caso, mejor voy a hacer un poco de sopa para acompañar este pan encantador.
Entonces, ¿qué harías que requiere una temperatura constante??
Explorar más sobre: Arduino.