< Volver 
sistemas embebidos

Owake

Reloj despertador retro, cronómetro y reloj digital para AVR. Construido sobre una máquina de estados finitos jerárquica y un driver propio para LCD HD44780.

C++ AVR Embedded
Echar un vistazo ↗

Owake nació de una pregunta simple: ¿para qué depender del celular para despertar si puedes construir algo mejor tú mismo?

Es un reloj despertador retro, reloj digital y cronómetro que corre en microcontroladores AVR usando el core de Arduino. Todo está manejado por una máquina de estados finitos jerárquica que gestiona cada modo y transición de forma limpia, acompañada de un driver propio para displays LCD basados en el HD44780 escrito desde cero — sin librerías infladas, con control total sobre el timing y la comunicación.

Características

  • Modos de alarma, reloj digital y cronómetro
  • Navegación fluida y responsiva mediante tres botones (abajo, arriba, ok)
  • Driver I2C propio para LCDs 16×2 HD44780
  • Arquitectura FSM jerárquica — los estados son componibles y las transiciones son explícitas
  • Soporte para atmega328p y atmega32u4 de fábrica

Hardware

Se necesita una placa AVR común (Arduino Nano, Uno, Leonardo, Mini, Micro o Mega), un LCD I2C 16×2, tres pulsadores y un buzzer. El esquemático está incluido en /resources/schem.png.

Compilación

Requiere avr-binutils, avr-gcc, avr-libc y avrdude en el path. En Windows se pueden obtener mediante MSYS2.

make mcu=yourmcu         # por defecto atmega328p
make flash mcu=yourmcu port=mcuport

El firmware compilado queda en build/binaries.


Licenciado bajo la GNU General Public License v3.0.