Feliz Halloween con un Raspberry Pi y un Pi-Lite

Rate this post

Es la época del año en la que los inventores locos comienzan a crear proyectos electrónicos con temas de Halloween. Nunca he conseguido organizarme para hacer un proyecto de temporada, pero este año he decidido intentarlo.

Así que este año decidí tomar lo que he aprendido sobre el Pi-Lite y crear un sencillo proyecto de Halloween que puedo pegar en la ventana junto a nuestras calabazas talladas más tradicionales.

Este post es la continuación de mis artículos anteriores de Pi-Lite :

  • Cómo configurar la placa de matriz LED Pi-Lite
  • Pi-Lite LED Matrix Board Python ‘Hello World’ Example
  • Pi-Lite LED Matrix Board Custom Sprites Ejemplo

T o>

  • Raspberry Pi
  • Pi-Lite
  • Tarjeta SD (he utilizado la última imagen Raspbian)
  • Fuente de alimentación
  • Mi script Python

Script de Python

El siguiente script mostrará un objeto animado y luego desplazará “Happy Halloween! Se repite hasta que se pulse CTRL-C.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#!/usr/bin/env pythonimport sysimport serialimport serialimport time# Definir listas que contengan tramas de animaciónsface = [‘000000000000000000110000000100011000110000011000110000110110001100000011011000110001100010000000000000000000000000000000000000000′,00000000000000000000000001000001101100011000110011000110000010110000001110000110110001100000100011001100110001101100100000000000000000000000000000000’]bat = [‘010000000011000000001100000000110000110110000011111011001111100001111100011111011110110000000110000001100000011000000010000000′,0000001000000000000011000000001100000000001101100010111111100010001111100001110001010110110001000000000000000000000000000000000000000000’]fantasma = [‘000000000000000000000000111001100000000100010000010101000000000000000000000000001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111110011000100000001010000000110000001100000010010000000000000000000000000000000000000000000000000000’]araña = [‘0010010000100100100100100101010101010000000101010111111000011001110010001000000000000000000000000000000000000000000000000000000000000000000000100100100101001001001011010010001001010100110101010001000000001110000001110000000011111111011011001010101010101001001001001010010010010010’]# Combinar en el diccionario objectobjects = {‘face’:cara,’murciélago’:murciélago,’fantasma’:fantasma,’araña’:araña}# Definir mensaje de texto para el scrollmessage = "Happy Halloween!Configure Pi serial ports = serial.serial()s.baudrate = 9600s.timeout = 0s.port = "/dev/ttyAMA0"def showObject(name,count,delay):# Función para mostrar cuadros de un objeto especificado# name – object to display# count – number of times to display object# delay – ms to wait between framesobject = objects[name]for x in range(count):for frame in range(len(object)):command = &$$$$F"+ object[frame]+""&qur;quwrite(command)time.sleep(delay)# Clear displays.write("$$$ALL,OFFr" try:# Open serial ports.open()except serial.SerialException, e:sys.stderr.write("could not open port %r: %s "% (port, e))sys.exit(1)# Desactivar todos los LEDss.write("$$$ALL,OFFr"time.sleep(0.5)try:while True:# Obtener la lista de nombres de objetos de dictionarymykeys = objetos.key()# Recorrer cada objeto para x en el rango(len(miskeys)):showObject(mykeys[x],5,0.5)time.sleep(1)s.write(message)# Esperar el tiempo de desplazamiento del mensaje.sleep(8)excepto KeyboardInterrupt:print("Quit"Quit")

Aquí hay un video del script en acción :

Descargas de secuencias de comandos

En lugar de cortar y pegar el script anterior, también puede descargarlo directamente a su Pi usando :

wget https://bitbucket.org/MattHawkinsUK/rpispy-pi-lite/raw/master/pi_lite_happy_halloween.py

O si usas Git en tu Pi, coge todos mis scripts de ejemplo Pi-Lite clonando mi repositorio Pi-Lite en BitBucket :

git clone https://bitbucket.org/MattHawkinsUK/rpispy-pi-lite.git

Modificaciones

Hay muchas maneras de modificar y mejorar este script. Puede cambiar el mensaje de desplazamiento, pero asegúrese de ajustar el retardo de “time.sleep” para que coincida. Hay más detalles acerca de cómo estimar esta vez en mi mundo myhello desplazamiento de texto post. Como una estimación aproximada es de 0,5 segundos por carácter en su mensaje.

También puede añadir otros objetos definiendo nuevas listas y añadiéndolas al diccionario. Para generar la cadena de 126 caracteres para cada fotograma puedes usar mi Generador de Matriz de Sprite de 14×9 LED (se abre en una nueva ventana/pestaña).

Feliz Halloween!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *