Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Construye un Temporizador Regresivo Fiable con Arduino y Pantalla de 7 Segmentos SparkFun

Componentes y materiales

Aplicaciones y servicios en línea

Sobre el proyecto

Este proyecto nació de la necesidad de contar con un temporizador sencillo. Solo tienes que cargar el código en tu Arduino (cualquier modelo funciona) y la cuenta regresiva comienza automáticamente. Para modificar el tiempo total, cambia el valor de la variable n en el código. Recuerda: 1000 = 1 segundo, así que 60000 = 60 segundos. La fórmula es (SEGUNDOS × 1000). Al pulsar el botón de reset, el contador se reinicia automáticamente.

long n = 60000; // tiempo inicial → CAMBIA AL TIEMPO DESEADO

Código

El siguiente código controla la pantalla de 7 segmentos de 4 dígitos mediante multiplexación. Incluye funciones para mostrar números, gestionar el punto decimal y manejar el reinicio mediante el pin 13.

// Configuración de pines para la pantalla de 7 segmentos
const int a = 12, b = 10, c = 8, d = 7, e = 6, f = 11, g = 9;
int p = 0; // punto decimal
int startStopReset = 13; // botón de reinicio
const int d1 = 1, d2 = 2, d3 = 3, d4 = 4; // pines de selección de dígito

long n = 60000; // tiempo inicial en milisegundos (60 segundos)
int x = 100;
int del = 55; // retardo de multiplexación en microsegundos

void setup() {
  pinMode(d1, OUTPUT); pinMode(d2, OUTPUT); pinMode(d3, OUTPUT); pinMode(d4, OUTPUT);
  pinMode(a, OUTPUT); pinMode(b, OUTPUT); pinMode(c, OUTPUT); pinMode(d, OUTPUT);
  pinMode(e, OUTPUT); pinMode(f, OUTPUT); pinMode(g, OUTPUT); pinMode(p, OUTPUT);
  pinMode(startStopReset, INPUT_PULLUP);
}

void loop() {
  // Multiplexación de los 4 dígitos
  digitalWrite(p, HIGH);
  clearLEDs();
  pickDigit(1); pickNumber((n/x/1000)%10); delayMicroseconds(del);
  clearLEDs();
  pickDigit(2); pickNumber((n/x/100)%10); delayMicroseconds(del);
  clearLEDs();
  pickDigit(3); dispDec(3); pickNumber((n/x/10)%10); delayMicroseconds(del);
  clearLEDs();
  pickDigit(4); pickNumber(n/x%10); delayMicroseconds(del);

  n--; // decrementa el contador
  
  // Reinicio al pulsar el botón (pin 13 a LOW)
  if (digitalRead(startStopReset) == LOW) {
    n = 60000; // restablece al tiempo original
  }
}

// Funciones auxiliares: pickDigit, pickNumber, dispDec, clearLEDs, zero()...nine()
// (Ver código completo en el repositorio del proyecto)

Esquemático

Consulta el diagrama de conexiones para cablear correctamente la pantalla de 4 dígitos al Arduino. La pantalla SparkFun se comunica vía serial, pero este ejemplo usa control directo de segmentos para fines educativos.

Proceso de manufactura

  1. Crea un Impresionante Sistema Ambilight para Monitor con Arduino
  2. Construya el clásico juego Pong en Arduino UNO con pantalla OLED: Tutorial paso a paso
  3. Detector de frecuencia de audio con Arduino – Mide los picos de sonido más intensos
  4. Construye tu Propio Tamagotchi con Arduino: Mascota Digital DIY
  5. Controlador Inalámbrico Inteligente de Interruptores: Manipulador Remoto Basado en Arduino
  6. Tres en raya con Arduino, matriz LED MAX7219 y carcasa de cartón
  7. Pistola de Agua Inteligente Activada por Movimiento con Arduino Nano
  8. Temporizador de Lavado de Manos con Arduino: Herramienta DIY Simple para Combatir el COVID‑19
  9. Girasol Arduino: Construye un Girasol Electrónico que Sigue al Sol
  10. Construye tu Propio Coche RC Porsche con Arduino: Guía Paso a Paso
  11. Genera Tonos Musicales con Arduino: Guía Paso a Paso