ACTIVIDAD FINAL DEL MODULO



PARTE 1 : SIMULACION

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

JIJIJIJIJI

ACTIVIDAD FINAL DEL MODULO

PARTE 1 : SIMULACION Enunciado Diseñar un circuito con Arduino que mida la temperatura usando un sensor TMP36 y controle un servomotor, movi...