display
Actividad Basada en la Vida Real: Sistema de Control de Temperatura
Objetivo:
Desarrollar un sistema de control de temperatura utilizando un potenciómetro para simular la entrada de temperatura, un display de 7 segmentos para mostrar la temperatura, y un botón para encender/apagar el sistema.
Materiales Necesarios:
- Arduino Uno
- Protoboard
- Jumpers
- Potenciómetro
- Display de 7 segmentos (Anodo común o cátodo común)
- 2 Botones
- Resistencias (220Ω, 10kΩ)
- Cables de conexión
Descripción del Proyecto:
Este proyecto simula un sistema de control de temperatura como los que se encuentran en los aires acondicionados o calefactores. El usuario puede ajustar la "temperatura" usando un potenciómetro. El display de 7 segmentos muestra la temperatura actual. Un botón sirve para encender o apagar el sistema, y otro botón puede simular la activación de una alarma cuando la temperatura excede un cierto límite.
Pasos para la Construcción del Proyecto:
1. Montaje del Circuito:
Conexión del Potenciómetro:
- Conecta el pin central del potenciómetro a la entrada analógica A0 del Arduino.
- Conecta un extremo del potenciómetro a 5V y el otro a GND.
Conexión del Display de 7 Segmentos:
- Conecta los pines del display de 7 segmentos a los pines digitales del Arduino (por ejemplo, pines 2 a 8 para los segmentos a-g).
- Utiliza resistencias de 220Ω entre los pines del display y el Arduino para limitar la corriente.
Conexión de los Botones:
- Conecta un botón entre el pin digital 9 y GND con una resistencia pull-up de 10kΩ.
- Conecta el otro botón entre el pin digital 10 y GND con una resistencia pull-up de 10kΩ.
#define PULSADOR 11
// Array multidimensional para mostrar los números
byte numero[10][7] =
{
{ 0, 0, 0, 0, 0, 0, 1}, // 0
{ 1, 0, 0, 1, 1, 1, 1}, // 1
{ 0, 0, 1, 0, 0, 1, 0}, // 2
{ 0, 0, 0, 0, 1, 1, 0}, // 3
{ 1, 0, 0, 1, 1, 0, 0}, // 4
{ 0, 1, 0, 0, 1, 0, 0}, // 5
{ 0, 1, 0, 0, 0, 0, 0}, // 6
{ 0, 0, 0, 1, 1, 1, 1}, // 7
{ 0, 0, 0, 0, 0, 0, 0}, // 8
{ 0, 0, 0, 1, 1, 0, 0}, // 9
};
void setup() {
// Iniciamos el monitor serie
Serial.begin(9600);
// Ponemos los pines de los segmentos en modo OUTPUT (salida)
for (int i = 3; i <= 11; i++)
{
pinMode(i, OUTPUT);
}
// Ponemos el pin del pulsador en modo INPUT (entradda)
pinMode(PULSADOR, INPUT);
//Establecemos la semilla fija
randomSeed(analogRead(A0));
}
void loop() {
// Leemos el valor del pulsador
int valor = digitalRead(PULSADOR);
// Si está pulsado
if (valor == HIGH)
{
tone(12,1000);
delay(50);
noTone(12);
//Genera un numero aleatorio entre 1 y 6
int randomNumber = random(1, 7);
Serial.println(randomNumber);
// Ponemos los pines en estado correcto para mostrar el número randomNumber
for (int e = 0; e < 10; e++)
{
digitalWrite(e + 3, numero[randomNumber][e]);
}
delay(500);
}
}
Comentarios
Publicar un comentario