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

Reloj Despertador LCD Multi-Pantalla con Caras Personalizables

Componentes y suministros

Arduino UNO (si usa PCB incluido: ATmega328 DIL, cristal 16MHz, 2×22pF, regulador 7805, 100µF 16V, 3×0.1µF, 1µF) × 1
Resistencia 10 kΩ × 4
Resistencia 470 Ω (agujero pasante) × 1
LCD Estándar Adafruit 16x2 Blanco sobre Azul × 1
Zumbador (buzzer) × 1
Condensador 10 µF × 1
Reloj Tiempo Real (RTC) DS1302 × 1
Cristal 32.768 kHz (para RTC) × 1
Pila botón CR2032 + soporte (PCB usa CR1220) × 1
Interruptor de inclinación (mercurio) × 1
Potenciómetro recortable 10 kΩ (contraste LCD) × 1

Herramientas necesarias

Aplicaciones y servicios

Sobre el proyecto

Una nueva versión con 10 caras de reloj está disponible aquí.

Buscando algo que construir, me decidí por un reloj LCD 1602. Tras ver muchas implementaciones web, pensé: ¿por qué no hacer un reloj que las incorpore todas?

Características del reloj

Versión en protoboard

La electrónica es bastante simple. (El DHT21 no se muestra en la foto: va al pin D9).

Reloj Despertador LCD Multi-Pantalla con Caras Personalizables

Cargar el sketch en Arduino IDE y subir a Arduino UNO.

Uso del reloj

Tres botones: SETUP, INCREMENTO, DECREMENTO + interruptor de INCLINACIÓN.

Construcción del reloj terminado

Requiere PCB y componentes extra. Archivos Eagle adjuntos para fabricación comercial o método tóner (casero).

Nota: El LCD 1602 se conecta al PCB principal con header macho en ángulo recto. Si ya están soldados, meter placa+pantalla en la caja es difícil. PCB doble cara con metalizado agujeros permite soldar display in-situ.

Componentes usados: ATmega328 DIL + cristal 16MHz + 2×22pF cerámicos. Regulador 7805 TO-220 + 100µF 16V suavizado. RTC DS1302 + cristal 32.768kHz. Zumbador pasivo + 10µF 16V aislamiento DC. Condensadores 0.1µF y 1µF cerámicos monolíticos (espaciado 5mm). Resistencias 5% 1/8W (o 1/4W). Interruptor mercurio cualquier tamaño (el mío 5mm). 3 pulsadores táctiles 6×6mm eje 13mm en parte trasera PCB.

Caja impresa 3D (altura capa 0.2mm, sin soportes). Taladrar agujeros fijación PCB con broca 2.5mm, roscar M3. Tornillos M3 6mm. También taladré 4mm los agujeros PCB para ajuste y evitar que botones rocen al atornillar.

Créditos

Este reloj es un mash-up de varios relojes de makers a lo largo de los años. Base: Arduino Digital Clock With Alarm Function (custom PCB). Modifiqué la caja a 2 piezas (era 4).

Actualizaciones

29/06/20

23/11/20

Hipótesis: según fecha nacimiento, biorritmos determinan altibajos vitales. 3 ciclos: físico 23 días, emocional 28, intelectual 33. El reloj muestra cada estado como barra: positiva (barra superior) o negativa (inferior). Longitud = intensidad.

Reloj Despertador LCD Multi-Pantalla con Caras Personalizables

06/12/20

Nueva cara meteorológica: lee sensor DHT21 en parte trasera de la caja. PCB actualizado con conector 3 pines para DHT21.

Reloj Despertador LCD Multi-Pantalla con Caras Personalizables

Código

DigitalClockAlarmV7.ino (C/C++)

/* Reloj alarma LCD 1602 * by John Bradnam (jbrad2089@gmail.com)
   Pantalla 16x2: Setup, Setup Alarma
   25/06/2020 - Base: reloj Michalis Vasilakis - Modif. HW: DS1302 RTC, backlight
   - Soporte estilos display: Estándar, Dual Gruesa, Dual Bisel, Dual Trek, Dual Fina, Palabras, Biorritmo, Termómetro */

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

// Descomentar para formato 12h en Dual Gruesa/Fina
//#define DUAL_THICK_12HR
//#define DUAL_THIN_12HR

// Control backlight
//#define NO_BACKLIGHT
//#define BACKLIGHT_ALWAYS_ON
#define BACKLIGHT_TIMEOUT 10000

// Test gráficos biorritmo
//#define TEST_BIO_GRAPHS

// Pines
#define LIGHT 2
#define LCD_D7 3
#define LCD_D6 4
#define LCD_D5 5
#define LCD_D4 6
#define LCD_E 7
#define LCD_RS 8
#define BTN_SET A0
#define BTN_ADJUST A1
#define BTN_ALARM A2
#define BTN_TILT A3
#define SPEAKER 11
#define DHT21 9
#define RTC_CE 10
#define RTC_IO 12
#define RTC_SCLK 13

// Objetos y constantes
LiquidCrystal lcd(LCD_RS, LCD_E, LCD_D4, LCD_D5, LCD_D6, LCD_D7);
DS1302RTC rtc(RTC_CE, RTC_IO, RTC_SCLK);
dht DHT;
char daysOfTheWeek[7][12] = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
const int monthDays[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
long interval = 300;
int melody[] = {600,800,1000,1200};

// Variables tiempo, alarma, fecha nacimiento, estilo, flags, etc.
// ...

enum STYLE { STANDARD, DUAL_THICK, DUAL_BEVEL, DUAL_TREK, DUAL_THIN, WORD, BIO, THERMO };
STYLE currentStyle = STANDARD;

enum SETUP { CLOCK, TIME_HOUR, TIME_MIN, TIME_DAY, TIME_MONTH, TIME_YEAR, BIRTH_DAY, BIRTH_MONTH, BIRTH_YEAR, ALARM_HOUR, ALARM_MIN };
SETUP setupMode = CLOCK;

bool backlightOn = false;
long backlightTimeout = 0;
byte customChar[8];

// Direcciones EEPROM
#define EEPROM_AH 0  // Alarm Hours
#define EEPROM_AM 1  // Alarm Minutes
#define EEPROM_AO 2  // Alarm On/Off
#define EEPROM_CS 3  // Current Style
#define EEPROM_BY 4  // Birth Year (2 bytes)
#define EEPROM_BM 6  // Birth Month
#define EEPROM_BD 7  // Birth Day

// ... (resto del código: caracteres personalizados, fuentes grandes, lógica principal, funciones de cada estilo)
// Código completo disponible en adjuntos / repositorio.

Piezas personalizadas y envolventes

stl_files_ZuDXHCHZCl.zip (archivos STL para impresión 3D)

Esquemáticos

Reloj Despertador LCD Multi-Pantalla con Caras Personalizables Reloj Despertador LCD Multi-Pantalla con Caras Personalizables Reloj Despertador LCD Multi-Pantalla con Caras Personalizables Esquemático y PCB en archivos Eagle: eagle_files_ZN59zdeNf5.zip

Proceso de manufactura

  1. Construya una Alarma de Agua Headless para Raspberry Pi 2 con Adafruit T‑Cobbler Plus
  2. Panel de control para Flight Simulator 2020 con Arduino Nano: Pantallas LCD y CDI
  3. Despertador inteligente activado por movimiento: Levántate de una vez
  4. Construye un reloj Numitron retro con Arduino: Simple, fiable y eficiente energéticamente
  5. Construye un reloj en tiempo real con Arduino para horarios de oración islámica
  6. Reloj de Palabras de Precisión: Visualización del Tiempo en Palabras Minuto a Minuto
  7. Monitor de Temperatura y Reloj en Tiempo Real con Arduino Due y Pantalla TFT 3.2"
  8. Reloj Digital TM1637 con Configuración de Hora y Alarma - Prototipo Arduino Nano
  9. Cómo mostrar imágenes en una pantalla TFT LCD de 1.17 pulgadas con Arduino UNO
  10. Reloj Meteorológico Arduino en Tiempo Real: Pantalla OLED para Hora, Fecha y Temperatura
  11. Construye un reloj despertador fiable con RTC DS1302 y Arduino UNO