Difference between revisions of "ECE497 Project - LED Matrix Graduation Cap"
m |
|||
(42 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
[[Category:ECE497Fall2018 |PL]] | [[Category:ECE497Fall2018 |PL]] | ||
{{YoderHead}} | {{YoderHead}} | ||
Line 29: | Line 28: | ||
== Executive Summary == | == Executive Summary == | ||
− | The project that we are doing involves an LED Matrix and the Beagle Bone. We are putting this matrix inside of a graduation cap. An example can be seen here: [https://imgur.com/gallery/xr0P0]. | + | The project that we are doing involves an LED Matrix and the Beagle Bone. We are putting this matrix inside of a graduation cap. An example can be seen here: [https://imgur.com/gallery/xr0P0 https://imgur.com/gallery/xr0P0]. |
+ | |||
+ | Here is the final product just not in the graduation cap yet: [https://www.youtube.com/watch?v=1br--LgNsak&feature=youtu.be https://www.youtube.com/watch?v=1br--LgNsak&feature=youtu.be] | ||
+ | |||
+ | This is a video of the final product in the hat with it running: [https://youtu.be/xUwYmPC_k5U https://youtu.be/xUwYmPC_k5U] | ||
+ | |||
+ | [[File:Graduation Cap.jpg|frameless]] | ||
== Packaging == | == Packaging == | ||
− | + | The final packaged product is the LED matrix with everything wired neatly behind the matrix. There is cardboard to make sure that everything stays in place and supports the cap. | |
+ | |||
+ | The final product looks like this: | ||
+ | |||
+ | [[File:Front Side of Final Product.jpg|frameless]] | ||
+ | |||
+ | [[File:Back Side LED Matrix.jpg|frameless]] | ||
+ | |||
+ | This cap is powered off a power bank that supports more than 2.4 Amps. | ||
== Installation Instructions == | == Installation Instructions == | ||
− | + | <h3>GitHub</h3> | |
+ | The project is located on GitHub here: [https://github.com/ObbyKing/ece434_linux/tree/master/finalProject https://github.com/ObbyKing/ece434_linux/tree/master/finalProject] | ||
+ | |||
+ | The GitHub has a README on how to install the necessary software for this project. | ||
+ | |||
+ | <h3>Hardware</h3> | ||
+ | Here are the links for the specific hardware we used for this project. | ||
+ | |||
+ | LED Matrix - https://www.adafruit.com/product/1484 | ||
− | + | WIFI Dongle - https://www.amazon.com/gp/product/B003MTTJOY/ref=od_aui_detailpages00?ie=UTF8&psc=1 | |
− | + | ||
− | + | Power Bank - https://www.amazon.com/Portable-Charger-Anker-PowerCore-20100mAh/dp/B00X5RV14Y/ref=sr_1_3?s=electronics&ie=UTF8&qid=1541185514&sr=1-3&keywords=anker+20100mah+portable+charger+powercore+20100 | |
− | + | ||
− | + | Pocket Beagle - https://www.amazon.com/BeagleBone-Beagleboard-PocketBeagle/dp/B07663NS35/ref=sr_1_1?s=electronics&ie=UTF8&qid=1541185560&sr=1-1&keywords=pocketbeagle | |
− | + | ||
+ | USB Type A Female Connector - https://www.mouser.com/ProductDetail/CUI/UJ2-AH-4-TH?qs=sGAEpiMZZMulM8LPOQ%252byk%252br6FietFiXB9kYqxJAMIhCTiPAQWqJbLA%3d%3d | ||
+ | |||
+ | 8 GB micro SD card - https://www.amazon.com/Sandisk-MicroSDHC-Memory-Card-Adapter/dp/B000WH6H1M | ||
== User Instructions == | == User Instructions == | ||
− | + | These are the Schematics and tables to wiring the Pocket Beagle to the matrix. | |
+ | |||
+ | <h3>Graduation Cap Schematic</h3> | ||
+ | [[File:LED Matrix Schematic.jpg|frameless|The final schematic for our LED Matrix]] | ||
+ | <h3>Pocket Scroller Wiring</h3> | ||
+ | This table maps the Pocket Scroller for the Pocket Beagle to the pins on the the Pocket Beagle to eliminate the need for the scroller and reduce space. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! | + | ! !! PocketBeagle |
+ | |- | ||
+ | | R1 || P2.10 | ||
+ | |- | ||
+ | | G1 || P2.8 | ||
+ | |- | ||
+ | | B1 || P2.6 | ||
|- | |- | ||
− | | | + | | GND|| P2.15 |
|- | |- | ||
− | | | + | | R2 || P2.4 |
|- | |- | ||
− | | | + | | G2 || P2.2 |
|- | |- | ||
− | | | + | | B2 || P2.1 |
|- | |- | ||
− | | | + | | GND || P1.16 |
|- | |- | ||
− | | | + | | A || P2.32 |
|- | |- | ||
− | | | + | | B || P2.30 |
|- | |- | ||
− | | | + | | C || P1.31 |
|- | |- | ||
− | | | + | | D || P2.34 |
|- | |- | ||
− | | | + | | CLK || P1.33 |
|- | |- | ||
− | | | + | | LAT || P1.36 |
|- | |- | ||
− | | | + | | OE || P1.29 |
|- | |- | ||
− | | | + | | GND || P1.22 |
+ | |} | ||
+ | |||
+ | Below is the reference to the Pocket Beagle to map to the pins given above. | ||
+ | <h4>Pocket Beagle Pinout</h3> | ||
+ | [[File:GPIO.png|frameless]] | ||
+ | |||
+ | <h3>Pocket Beagle USB Type-A Wiring</h3> | ||
+ | [[File:Pocketbeagle-usb-type-a.jpg|frameless|USB Type-A connector to a pocketbeagle]] | ||
+ | {| class="wikitable" | ||
|- | |- | ||
− | + | ! !! PocketBeagle | |
|- | |- | ||
− | | | + | | P1.5 || 5V |
|- | |- | ||
− | | | + | | P1.7 || 5V |
+ | |- | ||
+ | | P1.9 || USB Type A D- | ||
+ | |- | ||
+ | | P1.11 || USB Type A D+ | ||
+ | |- | ||
+ | | P1.13 || GND | ||
+ | |- | ||
+ | | P1.15 || GND | ||
|} | |} | ||
− | + | <h3>Setting it up</h3> | |
+ | These are images of some of the pictures of us testing and setting up the wires for the final assembly. | ||
+ | |||
+ | [[File:Confirming Pinout.jpg|frameless]] | ||
+ | [[File:Test setup.jpg|frameless]] | ||
+ | [[File:Y Cable.jpg|frameless]] | ||
== Highlights == | == Highlights == | ||
− | + | Our matrix starts on bootup and runs a test sequence. We have successfully put GIFs on the matrix. We will modify the sequence to make it longer when we put it in the final cap. | |
− | + | Here is the example of the test sequence: [https://www.youtube.com/watch?v=1br--LgNsak&feature=youtu.be https://www.youtube.com/watch?v=1br--LgNsak&feature=youtu.be] | |
== Theory of Operation == | == Theory of Operation == | ||
− | + | [[File:Unnamed0.jpg|frameless]] | |
== Work Breakdown == | == Work Breakdown == | ||
− | |||
− | |||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 119: | Line 173: | ||
|} | |} | ||
− | + | We tried to get the twitter API to work with Falcon. However, because of a lack of documentation and an unfamiliarity with PHP, we could not get this done. Instead, we tried to get texting to the LED display to work. However, for the same reasons as the twitter API, we also couldn't get this to work! We then tried to get weather to display on the LED Matrix while a sequence was playing, but we also couldn't get this to work! In then end, we're only using a pre-made sequence on our LED Matrix that gets displayed on bootup. | |
+ | |||
+ | Devon and Andy both worked together equally for reverse engineering the PocketScroller pin outs. | ||
+ | Devon and Andy worked together equally in assembling the final product. | ||
+ | Devon did all of the work into getting the Wifi to work on the pocket beagle. | ||
+ | Devon and Andy worked partially together on getting twitter to work, however Devon did a majority of the work for twitter. | ||
+ | Andy did all of the work in trying to get Twillio to work. | ||
+ | Devon and Andy worked partially together in getting the weather to display on the pocket beagle, however Andy did a majority of the work for the weather. | ||
+ | Devon made the final test sequence for our LED Matrix. | ||
== Future Work == | == Future Work == | ||
− | + | Twitter API: Figure out how the twitter plugin works with falcon and get it working. You can then display tweets on the LED matrix. | |
+ | |||
+ | Twillio: Figure out how to get Twillio configured with falcon. If this ends up working, you can then text a default number and display "Congratulations RANDOM_NAME!". | ||
+ | |||
+ | Accelerometer: Get the Pocketbeagle to work with an accelerometer so that you can have a "sand effect" on your LED Matrix | ||
== Conclusions == | == Conclusions == | ||
− | + | Overall the project was interesting and fun to work on. It was difficult to get things working due to information being in forums and no documentation. | |
+ | |||
+ | It was annoying that we couldn't get some of the features we wanted to work. Before graduation we are going to try and get the things we couldn't working. | ||
== References == | == References == | ||
Line 133: | Line 201: | ||
[https://www.cs.sfu.ca/CourseCentral/433/bfraser/other/2015-student-howtos/Adafruit16x32LEDMatrixGuideForBBB.pdf https://www.cs.sfu.ca/CourseCentral/433/bfraser/other/2015-student-howtos/Adafruit16x32LEDMatrixGuideForBBB.pdf] | [https://www.cs.sfu.ca/CourseCentral/433/bfraser/other/2015-student-howtos/Adafruit16x32LEDMatrixGuideForBBB.pdf https://www.cs.sfu.ca/CourseCentral/433/bfraser/other/2015-student-howtos/Adafruit16x32LEDMatrixGuideForBBB.pdf] | ||
+ | https://andrewdai.co/beaglecar/sensors-and-interfaces.html | ||
+ | |||
+ | https://www.teachmemicro.com/pocketbeagle-wifi/ | ||
+ | |||
+ | http://falconchristmas.com/forum/index.php/topic,4921.0.html | ||
+ | |||
+ | https://github.com/ObbyKing/ece434_linux/tree/master/finalProject | ||
{{YoderFoot}} | {{YoderFoot}} |
Latest revision as of 23:30, 16 April 2021
Embedded Linux Class by Mark A. Yoder
Team members: Devon Adair, Andrew Lund
Contents
Grading Template
I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!
00 Executive Summary 00 Installation Instructions 00 User Instructions 00 Highlights 00 Theory of Operation 00 Work Breakdown 00 Future Work 00 Conclusions 00 Demo 00 Late Comments: I'm looking forward to seeing this. Score: 10/100
(Inline Comment)
Executive Summary
The project that we are doing involves an LED Matrix and the Beagle Bone. We are putting this matrix inside of a graduation cap. An example can be seen here: https://imgur.com/gallery/xr0P0.
Here is the final product just not in the graduation cap yet: https://www.youtube.com/watch?v=1br--LgNsak&feature=youtu.be
This is a video of the final product in the hat with it running: https://youtu.be/xUwYmPC_k5U
Packaging
The final packaged product is the LED matrix with everything wired neatly behind the matrix. There is cardboard to make sure that everything stays in place and supports the cap.
The final product looks like this:
This cap is powered off a power bank that supports more than 2.4 Amps.
Installation Instructions
GitHub
The project is located on GitHub here: https://github.com/ObbyKing/ece434_linux/tree/master/finalProject
The GitHub has a README on how to install the necessary software for this project.
Hardware
Here are the links for the specific hardware we used for this project.
LED Matrix - https://www.adafruit.com/product/1484
WIFI Dongle - https://www.amazon.com/gp/product/B003MTTJOY/ref=od_aui_detailpages00?ie=UTF8&psc=1
USB Type A Female Connector - https://www.mouser.com/ProductDetail/CUI/UJ2-AH-4-TH?qs=sGAEpiMZZMulM8LPOQ%252byk%252br6FietFiXB9kYqxJAMIhCTiPAQWqJbLA%3d%3d
8 GB micro SD card - https://www.amazon.com/Sandisk-MicroSDHC-Memory-Card-Adapter/dp/B000WH6H1M
User Instructions
These are the Schematics and tables to wiring the Pocket Beagle to the matrix.
Graduation Cap Schematic
Pocket Scroller Wiring
This table maps the Pocket Scroller for the Pocket Beagle to the pins on the the Pocket Beagle to eliminate the need for the scroller and reduce space.
PocketBeagle | |
---|---|
R1 | P2.10 |
G1 | P2.8 |
B1 | P2.6 |
GND | P2.15 |
R2 | P2.4 |
G2 | P2.2 |
B2 | P2.1 |
GND | P1.16 |
A | P2.32 |
B | P2.30 |
C | P1.31 |
D | P2.34 |
CLK | P1.33 |
LAT | P1.36 |
OE | P1.29 |
GND | P1.22 |
Below is the reference to the Pocket Beagle to map to the pins given above.
Pocket Beagle Pinout
Pocket Beagle USB Type-A Wiring
PocketBeagle | |
---|---|
P1.5 | 5V |
P1.7 | 5V |
P1.9 | USB Type A D- |
P1.11 | USB Type A D+ |
P1.13 | GND |
P1.15 | GND |
Setting it up
These are images of some of the pictures of us testing and setting up the wires for the final assembly.
Highlights
Our matrix starts on bootup and runs a test sequence. We have successfully put GIFs on the matrix. We will modify the sequence to make it longer when we put it in the final cap.
Here is the example of the test sequence: https://www.youtube.com/watch?v=1br--LgNsak&feature=youtu.be
Theory of Operation
Work Breakdown
Date | Milestone |
---|---|
10/28/2018 | Have Falcon working without PocketScroller Cape |
11/2/2018 | Have twitter API reading tweets on PocketBeagle |
11/4/2018 | Have twitter displaying tweets on LED Matrix |
11/6/2018 | Figure out how to display tweets as well as sequences on LED Matrix. IE Falcon and our handwritten stuff running at the same time. |
11/9/2018 | Have everything fitted to cardboard so that we can wear it as well matrix and beagle running off of power bank |
11/12/2018 | Wrap up final documentation |
We tried to get the twitter API to work with Falcon. However, because of a lack of documentation and an unfamiliarity with PHP, we could not get this done. Instead, we tried to get texting to the LED display to work. However, for the same reasons as the twitter API, we also couldn't get this to work! We then tried to get weather to display on the LED Matrix while a sequence was playing, but we also couldn't get this to work! In then end, we're only using a pre-made sequence on our LED Matrix that gets displayed on bootup.
Devon and Andy both worked together equally for reverse engineering the PocketScroller pin outs. Devon and Andy worked together equally in assembling the final product. Devon did all of the work into getting the Wifi to work on the pocket beagle. Devon and Andy worked partially together on getting twitter to work, however Devon did a majority of the work for twitter. Andy did all of the work in trying to get Twillio to work. Devon and Andy worked partially together in getting the weather to display on the pocket beagle, however Andy did a majority of the work for the weather. Devon made the final test sequence for our LED Matrix.
Future Work
Twitter API: Figure out how the twitter plugin works with falcon and get it working. You can then display tweets on the LED matrix.
Twillio: Figure out how to get Twillio configured with falcon. If this ends up working, you can then text a default number and display "Congratulations RANDOM_NAME!".
Accelerometer: Get the Pocketbeagle to work with an accelerometer so that you can have a "sand effect" on your LED Matrix
Conclusions
Overall the project was interesting and fun to work on. It was difficult to get things working due to information being in forums and no documentation.
It was annoying that we couldn't get some of the features we wanted to work. Before graduation we are going to try and get the things we couldn't working.
References
https://andrewdai.co/beaglecar/sensors-and-interfaces.html
https://www.teachmemicro.com/pocketbeagle-wifi/
http://falconchristmas.com/forum/index.php/topic,4921.0.html
https://github.com/ObbyKing/ece434_linux/tree/master/finalProject
Embedded Linux Class by Mark A. Yoder