Difference between revisions of "ECE497 Project DotRun"

From eLinux.org
Jump to: navigation, search
m (Grading Template)
(31 intermediate revisions by 2 users not shown)
Line 9: Line 9:
  
 
<pre style="color:red">
 
<pre style="color:red">
00 Executive Summary
+
09 Executive Summary - Good, nice picture
00 Installation Instructions  
+
08 Installation Instructions - Good.  I fixed some typos.
00 User Instructions
+
09 User Instructions
00 Highlights
+
09 Highlights - The audio is in Chinese!
00 Theory of Operation
+
08 Theory of Operation - Nice flow chart, but give some explanation too.
00 Work Breakdown
+
09 Work Breakdown
00 Future Work
+
09 Future Work - I like the gravity sensor idea.
00 Conclusions
+
09 Conclusions
00 Demo
+
10 Demo
00 Late
+
10 Late - Not late
Comments: I'm looking forward to seeing this.
+
Comments: It's a fun little game.
  
Score:  10/100
+
Score:  90/100
 
</pre>
 
</pre>
  
<span style="color:red">(Inline Comment)</span>
 
 
== Executive Summary ==
 
== Executive Summary ==
 
[[File:Image.jpeg|500px]]
 
[[File:Image.jpeg|500px]]
We are building a game on BBB with a 16*24 LED matrix and two buttons.
 
There is a dot in the central of matrix and bars coming from right or left side of matrix. You can make the dot to move up and down to dodge the bars by the buttons.
 
  
Give two sentences telling what works.
+
<span style="color:green">(Nice picture)</span>
The framework of software has been done.
+
  
Give two sentences telling what isn't working.
+
This project is an electrical game on a 16*24 LED matrix playing with two buttons.There is a dot in the central of matrix and bars coming from right or left side of matrix. You can control the dot to move up and down to avoid the bars by clicking the buttons. Clicking on buttons will cause a voltage change on gpio pins, which will result the movement of dot.  
The LED matrix circuit hasn't been built up yet.
+
Bars are generated according to several patterns. The longer the game lasts, the faster bars are generated and the higher the score you get.
 
+
End with a two sentence conclusion.
+
 
+
The sentence count is approximate and only to give an idea of the expected length.
+
  
 
== Packaging ==
 
== Packaging ==
 +
To build up the hardware of this project, you need parts as follows:
 +
{| class="wikitable"
 +
|-
 +
! Parts !! Quantity
 +
|-
 +
| BeagleBone Black || 1
 +
|-
 +
| Adafruit's [http://www.adafruit.com/products/555 16x24 Red LED Matrix Panel] || 1
 +
|-
 +
| buttons || 2
 +
|-
 +
| 220 ohm Resistors || 2
 +
|-
 +
| wires || some
 +
|}
  
If you have hardware, consider [http://cpprojects.blogspot.com/2013/07/small-build-big-execuition.html Small Build, Big Execuition] for ideas on the final packaging.
+
My BBB is running v3.8.13 Linux. And the LED Matrix uses the [http://www.adafruit.com/datasheets/ht1632cv120.pdf HT1632C LED driver].
  
 
== Installation Instructions ==
 
== Installation Instructions ==
 +
'''''Hardware'''''
  
Give step by step instructions on how to install your project.
+
1. buttons
  
* Include your [https://github.com/ github] path as a link like this to the read-only git site: [https://github.com/MarkAYoder/gitLearn https://github.com/MarkAYoder/gitLearn].
+
Buttons are wired to gpio pins(GPIO_20 and GPIO_7) and VCC.
* Be sure your README.md is includes an up-to-date and clear description of your project so that someone who comes across you git repository can quickly learn what you did and how they can reproduce it.
+
<gallery>
* Include a Makefile for you code.
+
File:Image_button.jpeg
* Include any additional packages installed via '''opkg'''.
+
</gallery>
* Include kernel mods.
+
 
* If there is extra hardware needed, include links to where it can be obtained.
+
2. LED Matrix
 +
 
 +
{| class="wikitable"
 +
|-
 +
! BBB Pins !! Panel Pins(wire color)
 +
|-
 +
| 1 (GND) || GND(brown)
 +
|-
 +
| 3 (VDD_3V3EXP) || VCC(red)
 +
|-
 +
| 15 (R13/GPIO1_16) || CS0(orange)
 +
|-
 +
| 23 (V14/GPIO1_17) || WR(yellow)
 +
|-
 +
| 12 (A14/GPIO1_28) || DATA(green)
 +
|}
 +
 
 +
<gallery>
 +
File:Image ledwires.jpeg
 +
</gallery>
 +
 
 +
Reference: http://elinux.org/Adafruit:_16x24_Red_LED_Matrix_Panel
 +
 
 +
'''''Software requirements:'''''  
 +
 
 +
get source on BeagleBone and make
 +
beagle$ '''git clone git@github.com:yuxuanzeng/project.git'''
 +
beagle$ cd project/prj
 +
beagle$ make
 +
 
 +
Then you can run the program by
 +
beagle$ ./matrix16x24
  
 
== User Instructions ==
 
== User Instructions ==
  
Use the two buttons to control the dot run up or down. If the dot hit the bars, game over. The longer you survive, the higher score you get.
+
Use the two buttons to control the dot run up or down. Clicking left button makes dot run up, clicking right button makes dot run down.If the dot hit the bars, game over. The longer you survive, the higher score you get.
  
 
== Highlights ==
 
== Highlights ==
  
Here is where you brag about what your project can do.
+
[http://www.youtube.com/watch?v=9MiNc9LIiCU&feature=youtu.be Watch our project!]
  
Include a [http://www.youtube.com/ YouTube] demo.
 
 
== 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:Main Flow.jpg|500px]]
== 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.
 
 
== Work Breakdown ==
 
== Work Breakdown ==
  
List the major tasks in your project and who did what.
+
Hardware build-up and Makefile: Yuxuan Zeng
 +
 
 +
Softeware: Yang Liu
  
Also list here what doesn't work yet and when you think it will be finished and who is finishing it.
 
 
== Future Work ==
 
== Future Work ==
 +
The project can be improved by adding properties as follows:
 +
 +
1. Rebuild the software so that when you hold the button down, the dot keeps moving. At present the dot responses upon click, which means if you want to make the dot keeps moving, you have to click the button continuously.
 +
 +
2. Building a gravity sensor to control the dot instead of buttons. That will be more fun.
 +
 +
3. Add a music player to BBB so that we can play background music while playing game.
  
Suggest addition things that could be done with this project.
 
 
== Conclusions ==
 
== Conclusions ==
  
Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.
+
Our project builds several basic features of the DotRun game, such as controlling dot by buttons, generation of bars and the automatically speed-up.  
  
{{YoderFoot}}
+
More features can be added to the project to make it more fun, such as the best record, background music, gravity-sensor and so on.

Revision as of 13:45, 19 November 2013

thumb‎ Embedded Linux Class by Mark A. Yoder


Team members: Yang Liu, Yuxuan Zeng

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

09 Executive Summary - Good, nice picture
08 Installation Instructions - Good.  I fixed some typos.
09 User Instructions
09 Highlights - The audio is in Chinese! 
08 Theory of Operation - Nice flow chart, but give some explanation too.
09 Work Breakdown
09 Future Work - I like the gravity sensor idea.
09 Conclusions
10 Demo
10 Late - Not late
Comments: It's a fun little game.

Score:  90/100

Executive Summary

Image.jpeg

(Nice picture)

This project is an electrical game on a 16*24 LED matrix playing with two buttons.There is a dot in the central of matrix and bars coming from right or left side of matrix. You can control the dot to move up and down to avoid the bars by clicking the buttons. Clicking on buttons will cause a voltage change on gpio pins, which will result the movement of dot. Bars are generated according to several patterns. The longer the game lasts, the faster bars are generated and the higher the score you get.

Packaging

To build up the hardware of this project, you need parts as follows:

Parts Quantity
BeagleBone Black 1
Adafruit's 16x24 Red LED Matrix Panel 1
buttons 2
220 ohm Resistors 2
wires some

My BBB is running v3.8.13 Linux. And the LED Matrix uses the HT1632C LED driver.

Installation Instructions

Hardware

1. buttons

Buttons are wired to gpio pins(GPIO_20 and GPIO_7) and VCC.

2. LED Matrix

BBB Pins Panel Pins(wire color)
1 (GND) GND(brown)
3 (VDD_3V3EXP) VCC(red)
15 (R13/GPIO1_16) CS0(orange)
23 (V14/GPIO1_17) WR(yellow)
12 (A14/GPIO1_28) DATA(green)

Reference: http://elinux.org/Adafruit:_16x24_Red_LED_Matrix_Panel

Software requirements:

get source on BeagleBone and make

beagle$ git clone git@github.com:yuxuanzeng/project.git
beagle$ cd project/prj
beagle$ make

Then you can run the program by

beagle$ ./matrix16x24

User Instructions

Use the two buttons to control the dot run up or down. Clicking left button makes dot run up, clicking right button makes dot run down.If the dot hit the bars, game over. The longer you survive, the higher score you get.

Highlights

Watch our project!

Theory of Operation

Main Flow.jpg

Work Breakdown

Hardware build-up and Makefile: Yuxuan Zeng

Softeware: Yang Liu

Future Work

The project can be improved by adding properties as follows:

1. Rebuild the software so that when you hold the button down, the dot keeps moving. At present the dot responses upon click, which means if you want to make the dot keeps moving, you have to click the button continuously.

2. Building a gravity sensor to control the dot instead of buttons. That will be more fun.

3. Add a music player to BBB so that we can play background music while playing game.

Conclusions

Our project builds several basic features of the DotRun game, such as controlling dot by buttons, generation of bars and the automatically speed-up.

More features can be added to the project to make it more fun, such as the best record, background music, gravity-sensor and so on.