PROGETTI ARDUINO

  • HOME
  • 200 Progetti
  • PROGETTI E TUTORIAL
  • PROGETTI E TUTORIAL 2
  • ELETTRONICA
  • RECENSIONI
  • MANUALE
  • CONTATTI
  • HOME
  • 200 Progetti
  • PROGETTI E TUTORIAL
  • PROGETTI E TUTORIAL 2
  • ELETTRONICA
  • RECENSIONI
  • MANUALE
  • CONTATTI

Progetto 104
​Timer digitale con
​display LCD

🚀 Introduzione

Vuoi creare un timer che mostra il tempo in tempo reale su uno schermo?

Con questo progetto realizzi un timer digitale con display LCD, perfetto per contare secondi, minuti o tempi di lavorazione.
​
👉 È la base per tantissimi progetti: cronometri, countdown, automazioni temporizzate.

🎯 Cosa realizzerai
​

Con Arduino creerai un sistema che:
  • ⏱️ conta il tempo in secondi
  • 📟 mostra il tempo su display LCD
  • 🔄 aggiorna il display in tempo reale
  • ⚡ funziona in modo autonomo 

🧰 Materiale necessario
​
  • 1x Arduino UNO
  • 1x display LCD 16x2 (con modulo I2C consigliato)
  • cavetti jumper
  • breadboard 
🛒 Componenti e risorse consigliate

👉 Kit Arduino consigliato: https://amzn.to/41fmFNK
💡 Molti kit includono già il display LCD I2C, perfetto per questo progetto.

📚 Libri utili per imparare Arduino in modo pratico

👉 Arduino per tutti – Volume 1: https://amzn.to/4rGNxB9
👉 Arduino per tutti – Volume 2: https://amzn.to/4bkfaey
👉 Arduino per tutti – Volume 3: https://amzn.to/4bogjAg

📚 Librerie necessarie
​

Per questo progetto devi installare:
👉 LiquidCrystal_I2C
​

Puoi installarla direttamente dall’IDE Arduino:
  • Sketch → #include libreria → Gestione librerie
  • cerca LiquidCrystal I2C

🔌 Schema di collegamento
​

Display LCD I2C
  • VCC → 5V
  • GND → GND
  • SDA → A4
  • SCL → A5
​
💡 Questo tipo di collegamento usa solo 4 fili (molto più semplice).
timer-digitale-lcd-arduino

​💻 Codice Arduino
​// ============================================
// Progetto 104 - Timer digitale con display LCD
// Visualizza il tempo trascorso su LCD 16x2
// ============================================

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Indirizzo comune 0x27 (può variare)
LiquidCrystal_I2C lcd(0x27, 16, 2);

unsigned long tempoPrecedente = 0;
int secondi = 0;
int minuti = 0;

void setup() {
  lcd.init();
  lcd.backlight();

  lcd.setCursor(0, 0);
  lcd.print("Timer Arduino");
}

void loop() {
  unsigned long tempoAttuale = millis();

  // Incremento ogni secondo
  if (tempoAttuale - tempoPrecedente >= 1000) {
    tempoPrecedente = tempoAttuale;
    secondi++;

    if (secondi >= 60) {
      secondi = 0;
      minuti++;
    }

    // Aggiorna display
    lcd.setCursor(0, 1);
    
    // Formato 00:00
    if (minuti < 10) lcd.print("0");
    lcd.print(minuti);
    lcd.print(":");
    if (secondi < 10) lcd.print("0");
    lcd.print(secondi);
    lcd.print("   "); // pulizia residui
  }
}

⚙️ Come funziona

Arduino utilizza la funzione millis() per contare il tempo senza bloccare il programma.
👉 Ogni secondo:
  • incrementa il contatore
  • aggiorna minuti e secondi
  • scrive il valore sul display
Il formato è:
MM:SS
💡 Questo metodo è molto più preciso rispetto a usare delay().

🧠 Perché è un progetto importante
​

Impari concetti fondamentali:
  • uso del display LCD I2C
  • gestione del tempo con millis()
  • formattazione dati
  • aggiornamento dinamico del display
​
👉 È la base per timer, cronometri e sistemi avanzati.

🔄 Varianti possibili
​

Vuoi migliorarlo?
  • ⏳ aggiungi countdown invece di timer
  • 🔘 pulsanti start/stop/reset
  • 🔔 buzzer a fine tempo
  • 📟 mostra ore:minuti:secondi 

Foto

© ProgettiArduino.com 2026 - Fancello Salvatore
​ Layout, immagini e testi sono di esclusiva proprietà di www.progettiarduino.com 
Privacy Policy