Enunciado
Diseñar un circuito con Arduino que mida la temperatura usando un sensor TMP36 y controle un servomotor, moviéndolo 55 grados cuando la temperatura supere un umbral predefinido.
---
Instrucciones para armar el circuito
1. Materiales necesarios
Arduino Uno
Sensor de temperatura TMP36
Servomotor SG90
Cables de conexión
Protoboard
2. Conexión del sensor TMP36
VCC (pin 1 del TMP36) → 5V de Arduino
GND (pin 3 del TMP36) → GND de Arduino
VOUT (pin 2 del TMP36) → A0 de Arduino
3. Conexión del servomotor SG90
Cable Rojo → 5V de Arduino
Cable Marrón/Negro → GND de Arduino
Cable Naranja/Blanco → Pin 9 de Arduino
---
Funcionamiento del circuito
1. Arduino mide la temperatura con el TMP36 cada segundo.
2. Si la temperatura supera 30°C, el servomotor se moverá 55 grados.
3. Si la temperatura baja del umbral, el servomotor regresará a 0 grados.
4. La temperatura medida se mostrará en el Monitor Serial.
---
Código explicado
#include <Servo.h> // Librería para el servomotor
Servo servoMotor; // Crear objeto para el servomotor
const int pinTMP36 = A0; // Pin analógico donde está conectado el TMP36
const int pinServo = 9; // Pin donde está conectado el servomotor
const float umbralTemperatura = 30.0; // Temperatura límite en grados Celsius
void setup() {
Serial.begin(9600); // Iniciar comunicación serie
servoMotor.attach(pinServo); // Asignar el servomotor al pin 9
servoMotor.write(0); // Posición inicial del servomotor en 0 grados
}
void loop() {
int lectura = analogRead(pinTMP36); // Leer el valor del sensor TMP36
float voltaje = lectura * (5.0 / 1023.0); // Convertir lectura a voltaje
float temperatura = (voltaje - 0.5) * 100.0;
// Convertir voltaje a temperatura en °C
Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.println(" °C");
if (temperatura > umbralTemperatura) {
// Si la temperatura supera el umbral, mover el servo 55 grados
servoMotor.write(55);
Serial.println("Servo movido a 55 grados");
} else {
// Si la temperatura es menor, regresar a 0 grados
servoMotor.write(0);
Serial.println("Servo en posición inicial");
}
delay(1000); // Esperar 1 segundo antes de la siguiente medición
}
---
Forma de probar el circuito
1. Subir el código a la placa Arduino Uno.
2. Abrir el Monitor Serial en Arduino IDE para ver la temperatura medida.
3. Calentar el sensor TMP36 (puedes usar la mano o un encendedor a distancia).
4. Si la temperatura supera 30°C, el servomotor debe moverse 55 grados.
5. Si la temperatura baja, el servomotor debe regresar a 0 grados.
PARTE 2 PRÁCTICO
Enunciado
Diseñar un circuito con Arduino que mida la temperatura usando un sensor TMP36 y controle un LED. El LED se encenderá cuando la temperatura supere los 30°C y se apagarán cuando la temperatura sea inferior a este valor. El circuito también mostrará la temperatura medida en el Monitor Serial.
PROGRAMACION PARA GUIARTE
Aquí está el código modificado para que el LED reemplace al servomotor. Ahora, el LED se enciende cuando la temperatura supera 30°C y se apaga cuando baja de ese valor.
---
Conexión del circuito
1. TMP36
VCC (pin 1) → 5V de Arduino
GND (pin 3) → GND de Arduino
VOUT (pin 2) → A0 de Arduino
2. LED (con resistencia de 220Ω en serie)
Ánodo (+) → Pin 7 de Arduino
Cátodo (-) → GND de Arduino
---
Código
const int pinTMP36 = A0; // Pin del sensor de temperatura TMP36
const int pinLED = 7; // Pin donde está conectado el LED
const float umbralTemperatura = 30.0; // Temperatura límite en grados Celsius
void setup() {
Serial.begin(9600); // Iniciar comunicación serie
pinMode(pinLED, OUTPUT); // Configurar el LED como salida
digitalWrite(pinLED, LOW); // Asegurar que el LED empieza apagado
}
void loop() {
int lectura = analogRead(pinTMP36); // Leer el valor del sensor TMP36
float voltaje = lectura * (5.0 / 1023.0); // Convertir lectura a voltaje
float temperatura = (voltaje - 0.5) * 100.0;
// Convertir voltaje a temperatura en °C
Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.println(" °C");
// Control del LED
if (temperatura > umbralTemperatura) {
digitalWrite(pinLED, HIGH); // Encender el LED
Serial.println("LED ENCENDIDO: Temperatura alta");
} else {
digitalWrite(pinLED, LOW); // Apagar el LED
}
delay(1000); // Esperar 1 segundo antes de la siguiente medición
}
---
Cómo probar el circuito
1. Sube el código a Arduino Uno.
2. Abre el Monitor Serial para ver la temperatura medida.
3. Calienta el TMP36 (con la mano o un encendedor a distancia).
4. Comportamiento esperado:
A más de 30°C, el LED se enciende.
A menos de 30°C, el LED se apaga.
No hay comentarios:
Publicar un comentario