Sistema multiusos de control de temperatura interno
Autor: Hernandez De Leon Jose Esteban
Materiales
2N3904 O 3906 (TRANSISTOR)
LED (color de tu preferencia)
LM35
12V ventilador (use el de una pc)
Servo Motor
cables
Arduino mega
BATERIA (OPCIONAL) 9 VOLTS
Claro todo comprado en HeTPro.
Estos serán los componentes para manejar el ventilador que es el transistor 2n3904 o el 3906 y el sensor de temperatura lm35 , la conexión del lm35 es , a0 , señal (que es la salida del arduino), pata 1 del sensor a negativo y pata 3 del sensor a positivo.
Se prefiere hacer cableado para el lm35 y el ventilador para después ponerlo en su acomodo deseado.
Aquí se ve la forma de conectar el arduino con el transistor y el sensor de temperatura , se conecta el ventilador al transistor pata 1 negativo pata 2 es la señal que va conectado a la digital del arduino número 3, la numero 5 digital va a la señal del servo ,el servo tiene positivo y negativo los cuales van conectados a el proto recomiento poner una batería de 9 volts para que alimentes el ventilador pues solamente da 5 el arduino o alguna fuente , la salida digital numero 13 va al indicador LED.
Aquí se ve como da señal de temperatura el sensor lm35
La simulación que yo hice fue para una jaula de canarios la cual tiene crías y necesita una temperatura de 32 grados a 29 grados pues ya están emplumados, antes checaba la temperatura de los huevos que tiene que estar a 38 o poco más grados.
RESULTADOS Y CONCLUSIONES
El propósito de La práctica es que con ella se aprende a la correcta programación del arduino, el manejo de otros sensores y el servomotor.
CODIGO
Aquí dejo el código del arduino. Pueden modificarlo a su antojo ,
#include <Servo.h> Servo servo1; float tempC; // variable temperatura int tempPin = 0; // pin 0. int led = 13; // pin 13. int fan1 = 3; // transistor al digital pin 3. int pos = 0; // crea una variable para almacenar la posicion del servo void setup() { Serial.begin(9600); pinMode (led, OUTPUT); pinMode (fan1, OUTPUT); servo1.attach(5); } void loop() { tempC = analogRead(tempPin); // lee valor del sensor lm35. tempC = (5.0 * tempC * 100.0)/1024.0; // convertidor de temperature a centigrados Serial.print((byte)tempC); if (tempC > 24) // analisis del if , si es verdad para cumplir la sentencia { pos = 180; // 180. digitalWrite (led, HIGH); // enciende led. digitalWrite (fan1, HIGH); // enciende veltilador. servo1.write(pos); // gira el servo a 180 grados. } else { pos = 90; digitalWrite (led, LOW); // apaga led digitalWrite (fan1, LOW); // apaga ventilador servo1.write(pos); // gira servo a 90 grados } delay(4000); // espera de 4 segundos }
Autor: Hernandez De Leon Jose Esteban
Buenas tardes me interesa mucho su proyecto puede ayudarme con un esquema de la conexión en la protoboard gracias
Hola, si claro, danos unos días para sacar el diagrama, saludos.
Disculpa tengo una duda sobre su proyecto, para que se utilizó el servo?
Hola Pablo, el servo solo era para fines de demostración. Podría funcionar para activar alguna válvula o por ejemplo, en el caso de un invernadero, abrir las ventilas para que se “enfríe” más rápido esté.