Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Réveil LCD multi-affichage avec cadrans personnalisables

Composants et fournitures

Arduino UNO (ou ATmega328 DIL + quartz 16 MHz + 2×22 pF + 7805 + condos pour version PCB) × 1
Résistance 10 kΩ × 4
Résistance 470 Ω (traversante) × 1
Écran LCD 16×2 blanc sur bleu (standard Adafruit) × 1
Buzzer passif × 1
Condensateur 10 µF × 1
Module RTC DS1302 (horloge temps réel) × 1
Quartz 32,768 kHz (pour RTC) × 1
Pile bouton CR2032 + support (CR1220 si PCB) × 1
Inclinomètre à mercure (tilt switch) (extinction alarme par basculement) × 1
Potentiomètre d'ajustement 10 kΩ (contraste LCD) × 1

Outils nécessaires

Applications

À propos du projet

Une version plus récente avec 10 cadrans est disponible ici.

En cherchant un projet de réveil LCD 1602, j'ai trouvé de nombreuses implémentations différentes. J'ai décidé d'en créer une qui les regroupe toutes.

Fonctionnalités

Version breadboard

L'électronique est simple. Voir photo de câblage. Le DHT21 se connecte sur D9 (non visible sur photo). Charger le sketch dans l'IDE Arduino et téléverser sur l'UNO.

Utilisation du réveil

Trois boutons : SETUP, INCREMENT, DECREMENT + interrupteur TILT.

Construction version finale (PCB + boîtier imprimé 3D)

Le passage au PCB nécessite les fichiers Eagle fournis (fabrication pro ou méthode toner). Important : L'écran LCD est connecté via connecteur coudé ; souder l'écran en place après insertion dans le boîtier est plus facile avec un PCB double face à trous métallisés.

Composants PCB : ATmega328 DIL + quartz 16 MHz + 2×22 pF, régulateur 7805 TO-220 + 100 µF 16 V, RTC DS1302 + quartz 32,768 kHz, buzzer passif + 10 µF 16 V (découplage DC), condos 0,1 µF et 1 µF (céramique 5 mm), résistances 5% 1/8 W. Interrupteur mercure (Ø5 mm ou moins). 3 boutons tactiles 6×6 mm, arbre 13 mm, montés au dos du PCB.

Boîtier 3D : Impression 0,2 mm, sans support. Percer trous fixation PCB Ø2,5 mm, tarauder M3. Vis M3×6 mm. Élargir trous PCB à 4 mm pour ajuster et éviter que les boutons ne coincent.

Crédits

Ce réveil est un mashup de plusieurs projets open-source :

Mises à jour

Code

DigitalClockAlarmV7.ino (C/C++)

Code complet du réveil. Inclut bibliothèques : Wire, TimeLib, DS1302RTC, LiquidCrystal, EEPROM, dht. Options de compilation : formats 12h (DUAL_THICK_12HR, DUAL_THIN_12HR), contrôle rétroéclairage (NO_BACKLIGHT, BACKLIGHT_ALWAYS_ON, BACKLIGHT_TIMEOUT 10000), test graphiques biorhythm (TEST_BIO_GRAPHS).

/* 1602 LCD Alarm Clock - John Bradnam (jbrad2089@gmail.com)
 * Styles : STANDARD, DUAL_THICK, DUAL_BEVEL, DUAL_TREK, DUAL_THIN, WORD, BIO, THERMO
 * Historique versions en en-tête. */

#include <Wire.h> #include <TimeLib.h> #include <DS1302RTC.h>
#include <LiquidCrystal.h> #include <EEPROM.h> #include <dht.h>

// Définitions broches, constantes, caractères personnalisés (polices gros chiffres, sablier, cloche, thermomètre, goutte)
// Structures de données pour chaque police (tableaux PROGMEM)

void setup() {
  Serial.begin(115200);
  // Config broches, lecture RTC, mise à l'heure par défaut si invalide
  // Lecture EEPROM : alarme, date naissance, style courant
  // Initialisation LCD selon style courant
  // Gestion rétroéclairage selon #define
}

void loop() {
  readBtns();      // Lecture boutons + gestion rétroéclairage
  getTimeDate();   // Heure/date depuis RTC (sync TimeLib toutes 5 min)
  getTempHum();    // DHT21 toutes 6 secondes
  if (!setupScreen) {
    lcdPrint();    // Affichage selon style courant
    if (alarmON) { callAlarm(); if (turnItOn) switchBacklight(true); }
    // Timeout rétroéclairage
  } else {
    timeSetup();   // Écrans de réglage
    switchBacklight(true);
  }
}

// Fonctions : lecture boutons, RTC, DHT21, rétroéclairage, affichage par style
// Styles implémentés : Standard, Dual Thick, Dual Bevel, Dual Trek, Dual Thin, Word, BioRhythm, Thermomètre
// Chaque style a sa fonction Setup (création caractères) et Layout (affichage)
// Gestion alarme : mélodie, extinction par tilt/bouton
// Stockage EEPROM : alarme, style, date naissance
// Moteur biorhythm : calcul cycles depuis date naissance, affichage barres
// Word clock : conversion chiffres → mots anglais (HUNDRED, ONE, TWENTY...)
// Animation sablier (8 frames) en haut à droite sur Word clock

Pièces personnalisées et boîtiers

stl_files_ZuDXHCHZCl.zip (fichiers STL pour impression 3D)

Schémas

Réveil LCD multi-affichage avec cadrans personnalisables

Réveil LCD multi-affichage avec cadrans personnalisables

Réveil LCD multi-affichage avec cadrans personnalisables

Schéma et PCB au format Eagle : eagle_files_ZN59zdeNf5.zip

Processus de fabrication

  1. Construire une alarme à eau headless Raspberry Pi 2 avec Adafruit T‑Cobbler Plus
  2. Panneau de contrôle Arduino Nano pour Flight Simulator 2020 – Affichage LCD et CDI
  3. Réveil intelligent à détection de mouvement : Se lever pour de bon
  4. Construire une horloge Numitron rétro avec Arduino : simple, fiable et économe en énergie
  5. Horloge Arduino temps réel pour les heures de prière islamiques
  6. Horloge à mots précise : affichage de l'heure en mots à la minute près
  7. Moniteur de Température et Horloge Temps Réel Arduino avec Écran TFT 3.2"
  8. Horloge numérique TM1637 avec réglage heure/alarme – Prototype Arduino Nano
  9. Construire un Réveil Fiable avec RTC DS1302 et Arduino UNO