Difference between revisions of "ECE434 Project-Infinity Mirror"
(→Theory of Operation) |
(→Installation Instructions) |
||
Line 39: | Line 39: | ||
== Installation Instructions == | == Installation Instructions == | ||
− | + | Clone repo located here: | |
+ | -> https://github.com/mossac/InfMirror <- | ||
+ | |||
+ | This repo contains all the code needed to run the SK6812 LED strands to begin running the PRU driver simply: | ||
+ | |||
+ | -cd down into InfMirror/LEDStatic/ | ||
+ | -run $source setup.sh | ||
+ | -run $make | ||
+ | |||
+ | The kernel driver should be active, to test you can run commands in ExampleCommand.sh which will turn the first LED in your strip white if it is running correctly if not follow the commands in '''section 1.16 of the link below''' as you may not have the rpmsg.pru driver installed that the kernel driver requires: | ||
+ | |||
+ | https://markayoder.github.io/PRUCookbook/05blocks/blocks.html | ||
== User Instructions == | == User Instructions == |
Revision as of 19:31, 15 November 2021
Embedded Linux Class by Mark A. Yoder
Team members: Tyler Thenell, Aidan Moss
Contents
Grading Template
I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!
09 Executive Summary 09 Packaging 09 Installation Instructions 09 User Instructions 09 Highlights 09 Theory of Operation 09 Work Breakdown 09 Future Work/Conclusions 09 Hackster.io 09 Demo/Poster 00 Not Late Score: 90/100
Executive Summary
Using the Beagle Bone we are bouncing and changing the brightness and color of a LED strip that is also attached to the Bone. We are then encasing this system in a physical system of mirrors to create a optical illusion that makes it appear the moving lights go on forever.
We are very early on in this project still, as we are still gathering the physical parts needed to construct it. We have found a dedicated library for the LED strips
as well.
Packaging
8 sections of plexiglass, 5m strip of LEDS, adhesive
Installation Instructions
Clone repo located here: -> https://github.com/mossac/InfMirror <-
This repo contains all the code needed to run the SK6812 LED strands to begin running the PRU driver simply:
-cd down into InfMirror/LEDStatic/ -run $source setup.sh -run $make
The kernel driver should be active, to test you can run commands in ExampleCommand.sh which will turn the first LED in your strip white if it is running correctly if not follow the commands in section 1.16 of the link below as you may not have the rpmsg.pru driver installed that the kernel driver requires:
https://markayoder.github.io/PRUCookbook/05blocks/blocks.html
User Instructions
Simply run "python3 main.py" in the directory you downloaded to run the program.
Highlights
Theory of Operation
The software for this project uses a kernel driver that is coded in C to talk directly with the PRU that then relays info to the SK6812 LED strip that uses RGBW LEDs. Using this driver there is then python programs that can be written to communicate with driver. This is super nice because it allows the software and coding of new light shows to be easy using a high level language but also we maintain a lot of the advantages of using something that's low level like C.
Work Breakdown
Tyler:
Hardware assembly - Nov 12th Circuit analysis on the system - TBD
Aidan:
LED library integration - Nov 5th
Future Work
Add a microphone input to the system to change the leds based off music played around it.
Conclusions
Fun project that we will be using later on as a cool decoration item to use in our rooms. Has its own unique challenges but its also very expandable as you could add control from your phone, or a microphone input or sever different types of light shows.
Embedded Linux Class by Mark A. Yoder