Difference between revisions of "ECE497 Project - LED Matrix Graduation Cap"

From eLinux.org
Jump to: navigation, search
(Theory of Operation)
m
 
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:ECE497 |PL]]
 
 
[[Category:ECE497Fall2018 |PL]]
 
[[Category:ECE497Fall2018 |PL]]
 
{{YoderHead}}
 
{{YoderHead}}
Line 31: Line 30:
 
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].
 
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].
  
<Insert Final Product HERE>
+
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]
  
The above image will be inside cap and will display twitter tweets that are tweeted within the SRC during graduation. The cap also will display GIFs and animations.
+
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 ==
Line 39: Line 40:
  
 
The final product looks like this:
 
The final product looks like this:
[[File:FinalProduct|thumb|The final circuitry for our project]]
+
 
 +
[[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.
 
This cap is powered off a power bank that supports more than 2.4 Amps.
Line 46: Line 50:
  
 
<h3>GitHub</h3>
 
<h3>GitHub</h3>
The project is located on GitHub here: [https://github.com/LinuxDevon/32-bit-Embedded-Linux/tree/master/LED%20Graduation%20Cap https://github.com/LinuxDevon/32-bit-Embedded-Linux/tree/master/LED%20Graduation%20Cap]
+
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.
 
The GitHub has a README on how to install the necessary software for this project.
Line 62: Line 66:
  
 
USB Type A Female Connector - https://www.mouser.com/ProductDetail/CUI/UJ2-AH-4-TH?qs=sGAEpiMZZMulM8LPOQ%252byk%252br6FietFiXB9kYqxJAMIhCTiPAQWqJbLA%3d%3d
 
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>
 
<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.  
 
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.  
Line 108: Line 118:
 
<h4>Pocket Beagle Pinout</h3>
 
<h4>Pocket Beagle Pinout</h3>
 
[[File:GPIO.png|frameless]]
 
[[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 ==
  
Here is where you brag about what your project can do.
+
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.
  
Include a [http://www.youtube.com/ YouTube] demo the audio description.
+
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 ==
  
Give a high level overview of the structure of your software.  Are you using GStreamer?  Show a diagram of the pipeline.  Are you running multiple tasks?  Show what they do and how they interact.
+
[[File:Unnamed0.jpg|frameless]]
 
 
[[File:TheoryOfOp2.jpg|frameless]]
 
  
 
== Work Breakdown ==
 
== Work Breakdown ==
 
List the major tasks in your project and who did what.
 
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 142: Line 173:
 
|}
 
|}
  
Also list here what doesn't work yet and when you think it will be finished and who is finishing it.
+
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.
  
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! Therefore, we ended up using a weather API that prints out the current conditions of Indianapolis.
+
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 ==
Line 151: Line 188:
  
 
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!".
 
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 ==
  
Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.
+
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 165: Line 206:
  
 
http://falconchristmas.com/forum/index.php/topic,4921.0.html
 
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

thumb‎ Embedded Linux Class by Mark A. Yoder


Team members: Devon Adair, Andrew Lund

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

Graduation Cap.jpg

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:

Front Side of Final Product.jpg

Back Side LED Matrix.jpg

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

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

These are the Schematics and tables to wiring the Pocket Beagle to the matrix.

Graduation Cap Schematic

The final schematic for our LED Matrix

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

GPIO.png

Pocket Beagle USB Type-A Wiring

USB Type-A connector to a pocketbeagle

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.

Confirming Pinout.jpg Test setup.jpg Y Cable.jpg

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

Unnamed0.jpg

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://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




thumb‎ Embedded Linux Class by Mark A. Yoder