Soure code contributions to this project are welcomed!!!!!
This project uses Python to provide a user interface for creating cool 32x32 LED Matrix displays. The project can be used in concert with the matrix or alone as a sort of painting program. Improvements forthcoming! Please be patient as this was my first dive into Python's Tkinter.
Please insure you have Python installed prior to downloading this program. If you intend to use the Adafruit matrix, you will need to download Python 2 specifically (at this time, that comes standard in the Raspberry Pi Noobs download https://www.raspberrypi.org/downloads/noobs/).
- download the zip of this Project using the green button at the top right side of the page.
- extract to an isolated folder on your computer.
- Run the file titled create_display.py
- download the zip of the project using the green button at the top right side of the page.
- extract contents to an isolated folder on your computer
- download the zip of the adafruit matrix library found at the following link https://github.com/adafruit/rpi-rgb-led-matrix
- Extract the contents of this file to the folder that is housing the project
- Per the directions at the link, under the "Running" section, you will need to create a make file for this matrix library. This is really easy and only takes two lines of code in the terminal.
- Make sure your LED display is hooked up (FRIENDLY REMINDER: MAKE SURE TH LED DISPLAY IS POWERED SEPARATELY FROM THE PI!!!)
- Run the file titled create_display.py from the command line as a superuser
- When prompted, type 'y' to allow for real time use with the LED Matrix.
- Open up the project either through the terminal or your idle.
- Play! The program offers the following features:
-
Change current color (designated page button)
-
Fill matrix black, used to clear an existing image (designated page button)
-
Fill matrix color, used to fill matrix current color (designated button)
-
Temp save - temporarily stores drawing for in program use (designated button)
-
Temp display - display temporarily stored images (designated button, great for changing picture backgrounds)
-
Store pictures to file (designated button)
-
Retrieve pictures from file (designated button)
-
Paint a square the current color (left click)
-
Paint a square black (right click)
-
Toggle paint feature (middle click / mousewheel click)
NOTE: At this time, you must refer to the Python shell(or your terminal) to save and retrieve stored file data
- Change buttons to actual buttons. Currently they are painted rectangles that act as buttons.
- Provide a more program accessible way to request user information. Currently the shell or terminal must be used to save or retrieve files, this is not very user friendly. For retrieving files, provide a drop down selection.
- I would prefer a live color wheel for color selection. The current popup menu paradigm is not ideal.
- Paintbrush feature should be fixed. Create middle mouse button feature to toggle on and off.
- Currently, the code identifies Tkinter objects by their "indexed" tags. This works but is sloppy coding from my perspective. Reduced potential errors by distinguishing buttons from matrix boxes
- Provide an area to show the current color.
- Allow user to "turn off" led square by right clicking.
- Better controls for window sizing. Different Tkinter versions appear to affect the size of our matrix display.
- Integrate image display for simple images. This should be relatively easy using the Adafruit Library's existing code.
- Integrate text display. This would also be easy using the Adafruit Library's existing code.
- Add to mabiesen.github.io. Maybe a video iframe of the tutorial.
- ADD A TUTORIAL! It would be fun and provide added value:
- First integrate the text features from Adafruit's library
- Provide animated record functionality such that stored files can be displayed pixel-by-pixel to the matrix in the intended order, proviing the illusion of animation.
- Create folder to store tutorial data
- Create images and animations to display during the tutorial.
- Write the code to display changes in action
- Add a tutorial button