This is a passion project, made independently, and exclusively by two high school students: WhenLifeHandsYouLemons and DreamingElectricSheep.
This project is our creation of an LED light wall-- Essentially a large screen that is able to display pretty much anything-- just like the screens on your phone, computer or TV. We've specialized ours to act as a sort of visual spectacle, inpired by the likes of Fireworks, Lazershows, and Nanoleafs. Our LED light wall displays a continous flow of random patterns-- largely inspired by natural patterns like waves, which can also be controlled via ultrasonic sensors. This GitHub repository contains all of the code and documentation throughout the development of our project.
This enourmous project took more than a year to complete, covering far more than just the scope of Computer Science and Programming-- Enginnering, Design, Electronics, Modeling, Planning and of course, Programming and Mathematics were all integral processes in the creation of this project.
The documentation is hosted at: https://whenlifehandsyoulemons.github.io/LED-Light-Wall/.
This project was initially in a private repository and on May 24, 2023, it was moved to a new public repository and so much of the git history isn't present here.
To install this project, you will need to clone the repository and then install the dependencies. To do this, run the following commands on a Raspberry Pi (RPi 3 or newer with Raspberry Pi OS installed):
git clone https://github.com/WhenLifeHandsYouLemons/LED-Light-Wall.git
cd LED-Light-Wall
pip install requirements.txt
To run this project with a physical board, you will need to run the rpi_main.py
file. To do this, run the following command:
cd LED-Light-Wall
sudo python3 rpi_main.py
Note: If you're using the Thonny IDE, you need to run the rpi_main.py
file in sudo mode. To do so, run the open_sudo_thonny.py
file first (located inside the "RPi Files" folder), then open the rpi_main.py
file inside Thonny and run it.
To run the testing version, you will need to run the pygame_main.py
file (located inside the "Testing Version" folder). To do this, run the following command:
cd LED-Light-Wall/Testing\ Version
python pygame_main.py
Note: The testing version lacks full parity with the physical version. It is only used to test patterns that can be precomputed. Images, text, ultrasonic sensors, and graphics are not supported in the testing version. The testing version doesn't include the same number of erroneous data checks as the physical version so unseen errors may occur when porting to the physical version.
- Displays a multitude of extensively customizable patterns and graphics, both continious and static:
- Ultrasonic sensors
- Uses ultrasonic sensors to detect when an object is near the board and starts a different pattern.
- Power saving mode
- Turns off the display on certain days and at certain times to conserve power.
- Includes a testing version
- Can be used to test patterns without the need for a physical board.