Cómo crear un reloj digital Raspberry Pi usando el Sense HAT

La Raspberry Pi puede hacer mucho desde el primer momento, pero puede hacer aún más con la ayuda de Sense HAT, un complemento desarrollado para el proyecto Astro Pi. Astro Pi envió Pis aumentado al espacio, y el Sense HAT proporcionó la mayor parte de la nueva funcionalidad utilizada en la misión. ¿Entre esa nueva funcionalidad? Una pequeña matriz de LED, que resulta ser perfecta para usar como pantalla de reloj digital. Echale un vistazo:

Bastante bien, ¿verdad? Y también puede hacer uno con la ayuda de estas instrucciones. Solo necesitará las cosas habituales (una Raspberry Pi, una tarjeta microSD, etc.) más el Sense HAT.

Cómo crear un reloj digital Raspberry Pi usando el Sense HAT

Este proyecto es extremadamente fácil y es una excelente introducción al Sense HAT y las cosas interesantes que puede ayudar a su Pi a hacer. Todo lo que vamos a hacer aquí es instalar Raspbian y, después de verificar que tenemos la biblioteca Sense HAT, crear un archivo Python basado en el arduo trabajo de un usuario de GitHub que se conoce como SteveAmor. Luego, ejecutaremos ese archivo Python y disfrutaremos de nuestro nuevo reloj digital. Fácil, ¿verdad? Empecemos.

Paso 1: instala y actualiza Raspbian

Como muchos otros proyectos, este comienza con Raspbian. Instale Raspbian, luego abra la Terminal y ejecute los siguientes comandos:

sudo apt-get update
 sudo apt-get upgrade

Paso 2: Verifique que tenga la biblioteca Sense HAT

La biblioteca Sense HAT ya debería estar instalada, pero siempre es bueno verificar:

sudo apt-get install sense-hat

Si ve un mensaje que dice «sense-hat ya es la versión más nueva», ya está listo. Vamonos.

Paso 3: crea un nuevo archivo Python

Vamos a crear un nuevo archivo Python:

nano clock.py

… Con el siguiente contenido. Esto es largo. ¿Estás listo?

from sense_hat import SenseHat
 import time
 
 sense = SenseHat()
 
 number = [
 0,1,1,1, # Zero
 0,1,0,1,
 0,1,0,1,
 0,1,1,1,
 0,0,1,0, # One
 0,1,1,0,
 0,0,1,0,
 0,1,1,1,
 0,1,1,1, # Two
 0,0,1,1,
 0,1,1,0,
 0,1,1,1,
 0,1,1,1, # Three
 0,0,1,1,
 0,0,1,1,
 0,1,1,1,
 0,1,0,1, # Four
 0,1,1,1,
 0,0,0,1,
 0,0,0,1,
 0,1,1,1, # Five
 0,1,1,0,
 0,0,1,1,
 0,1,1,1,
 0,1,0,0, # Six
 0,1,1,1,
 0,1,0,1,
 0,1,1,1,
 0,1,1,1, # Seven
 0,0,0,1,
 0,0,1,0,
 0,1,0,0,
 0,1,1,1, # Eight
 0,1,1,1,
 0,1,1,1,
 0,1,1,1,
 0,1,1,1, # Nine
 0,1,0,1,
 0,1,1,1,
 0,0,0,1
 ]
 
 hour_color = [255,0,0] # Red
 minute_color = [0,255,255] # Cyan
 empty = [0,0,0] # Black
 
 clock_image = [
 0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,0
 ]
 
 while True:
     hour = time.localtime().tm_hour
     minute = time.localtime().tm_min
 
     # Map digits to the clock_image array
     pixel_offset = 0
     index = 0
     for index_loop in range(0, 4):
         for counter_loop in range(0, 4):
             if (hour >= 10):
                 clock_image[index] = number[int(hour/10)*16+pixel_offset]
             clock_image[index+4] = number[int(hour%10)*16+pixel_offset]
             clock_image[index+32] = number[int(minute/10)*16+pixel_offset]
             clock_image[index+36] = number[int(minute%10)*16+pixel_offset]
             pixel_offset = pixel_offset + 1
             index = index + 1
         index = index + 4
 
     # Color the hours and minutes
     for index in range(0, 64):
         if (clock_image[index]):
             if index < 32:
                 clock_image[index] = hour_color
             else:
                 clock_image[index] = minute_color
         else:
             clock_image[index] = empty
 
     # Display the time
     sense.low_light = True # Optional
     sense.set_pixels(clock_image)
     time.sleep(1)

Uf, ¿tienes todo eso?

Paso 4: enciende el reloj

Ahora podemos iniciar nuestro reloj ejecutando el comando:

python3 clock.py

Su reloj seguirá funcionando hasta que salga, lo que puede hacer con Ctrl + C.

Sí, es realmente así de fácil: ¡ha creado su propio reloj digital con Raspberry Pi y Sense HAT! Parte de la razón por la que este proyecto es tan fácil es que depende en gran medida del código del usuario de GitHub SteveAmor. Así que muchas gracias a SteveAmor y, por favor, consulte la publicación original de SteveAmor en GitHub.

Puede colocar su nuevo reloj digital en cualquier lugar, porque no requiere un monitor o una pantalla, utiliza la matriz de LED de Sense HAT. De hecho, puede hacer prácticamente todo este proyecto sin una pantalla dedicada si decide usar SSH en su Raspberry Pi. Este es un gran proyecto para usar con un Pi dedicado y para combinar con otros proyectos domésticos simples de servicios públicos y hogares inteligentes.

Y si disfrutó de este proyecto y desea usar su Sense HAT en otros proyectos, buenas noticias: hemos cubierto algunos proyectos divertidos de bricolaje de Sense HAT en el pasado. Un proyecto Sense HAT igualmente simple convertirá su Raspberry Pi en una estación meteorológica doméstica inteligente que publica la temperatura, la presión y la humedad de su hogar en línea para que pueda controlarla desde cualquier lugar. ¡Haga clic en ese enlace para obtener la guía completa!