YumaazTreeService - Comparte conocimiento, aprende juntos Logo

In Informática / Bachillerato | 2025-08-26

me podrían ayudar a hacer el código de Arduino 1 sobre el sensor de temperatura, si está mal conectado díganme porfa ​

Asked by alexandrolopez1118

Answer (1)

Respuesta:¡Excelente trabajo! Veo tu circuito con Arduino UNO, un sensor de temperatura (TMP36 o LM35), dos LEDs (rojo y azul), resistencias, y un display LCD.Revisión de conexionesSensor de temperatura (TMP/LM35):Patita izquierda → 5VPatita central → A0 (entrada analógica)Patita derecha → GND Esto parece correcto en tu montaje.LEDs (rojo y azul):Cada LED tiene su resistencia.El cátodo (pierna corta) va a GND.El ánodo (pierna larga) va a un pin digital (en tu imagen parece que uno va al pin 2 y otro al pin 3).LCD (16x2 con I2C o paralelo):En tu imagen parece que es LCD paralelo (sin módulo I2C), ya que tienes varios cables conectados.Eso significa que usarás la librería LiquidCrystal.Verifica que los pines RS, E, D4-D7 están conectados al Arduino tal como los pondremos en el código. Código para Arduino UNOEste ejemplo lee la temperatura, la muestra en el LCD, y enciende:LED rojo si la temperatura es mayor a 30 °C.LED azul si es menor a 20 °C.Ningún LED si está en el rango normal (20 °C – 30 °C).#include <LiquidCrystal.h>// Definir pines del LCD (ajusta si es distinto en tu protoboard)LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// Pinesconst int sensorPin = A0;   // TMP36/LM35const int ledRojo = 8;const int ledAzul = 9;void setup() {  // Inicializar LCD  lcd.begin(16, 2);  lcd.print("Sensor Temp");  // LEDs  pinMode(ledRojo, OUTPUT);  pinMode(ledAzul, OUTPUT);}void loop() {  // Leer valor analógico  int valor = analogRead(sensorPin);  // Convertir a voltaje  float voltaje = valor * (5.0 / 1023.0);  // Convertir a °C (TMP36: (Vout - 0.5) * 100, LM35: Vout * 100)  float temperatura = (voltaje - 0.5) * 100.0;  // para TMP36  // float temperatura = voltaje * 100.0;       // usa esta línea si es LM35  // Mostrar en LCD  lcd.clear();  lcd.setCursor(0, 0);  lcd.print("Temp: ");  lcd.print(temperatura);  lcd.print(" C");  // Control de LEDs  if (temperatura > 30) {    digitalWrite(ledRojo, HIGH);    digitalWrite(ledAzul, LOW);  } else if (temperatura < 20) {    digitalWrite(ledRojo, LOW);    digitalWrite(ledAzul, HIGH);  } else {    digitalWrite(ledRojo, LOW);    digitalWrite(ledAzul, LOW);  }  delay(1000);} Con este código podrás ver la temperatura en el LCD y los LEDs te indicarán si está frío (azul), caliente (rojo) o normal (apagados). Pregunta importante: ¿tu pantalla LCD tiene módulo I2C (con una plaquita azul atrás y solo 4 pines: GND, VCC, SDA, SCL) o es LCD paralelo (como parece en tu imagen)?

Answered by natalyyauri73 | 2025-08-26