Difference between revisions of "ECE434 Project Whack-A-Mole"

From eLinux.org
Jump to: navigation, search
(Installation Instructions)
m
 
(19 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[Category:ECE497 |PT]]
 
 
[[Category:ECE434Fall2020 |PT]]
 
[[Category:ECE434Fall2020 |PT]]
 
{{YoderHead}}
 
{{YoderHead}}
Line 27: Line 26:
 
== Executive Summary ==
 
== Executive Summary ==
  
Picture that summarizes the project.
+
[[File:BlynkAppSetup.png|200px|Blynk App Setup]]  [[File:HardwareForWhack-A-Mole.jpg|300px|Hardware Setup]]<br>
 
+
Hello all and welcome to the elinux about my project!  My project is Whack-A-Mole game. In this game you use the Blynk App as the thing you hit the "moles" with and the lights randomly lighting up are the "moles."  Above you can seen the Blynk app as well as the lights that turn on randomly to represent the "moles" randomly coming out of their holes. I hope you guys enjoy. Hit the light corresponding to the light that has randomly flashed on before that light flashes off to get points. Good luck!
Give two sentence intro to the project.
 
 
 
Give two sentences telling what works.
 
 
 
Give two sentences telling what isn't working.
 
 
 
End with a two sentence conclusion.
 
 
 
The sentence count is approximate and only to give an idea of the expected length.
 
  
 
== Packaging ==
 
== Packaging ==
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.
+
[[File:HardwareForWhack-A-Mole.jpg|700px|center|Hardware setup for Whack-A-Mole Project]]
 +
This is the hardware setup for the Whack-A-Mole Project. You can see that there are 4 LED lights that are connected to P9_13, P9_14, P9_15, and P9_16 gpio pins.
  
 
== Installation Instructions ==
 
== Installation Instructions ==
Line 49: Line 40:
 
* Install the Blynk App on the Apple Store or Google Play Store
 
* Install the Blynk App on the Apple Store or Google Play Store
 
* Create a new project and name it "Whack-A-Mole" or something like that and choose hardware option Generic Board. Make sure the connection type is "WiFi" and click "Create Project".
 
* Create a new project and name it "Whack-A-Mole" or something like that and choose hardware option Generic Board. Make sure the connection type is "WiFi" and click "Create Project".
* Click on the screen and add 4 buttons to the screen.
+
* Click on the screen and add 4 buttons to the screen and 1 value display.
 
* The buttons should be connected to Virtual 0, 1, 2, and 3.  Each button will be represents one of the lights you've connected on the breadboard and the BeagleBone.  
 
* The buttons should be connected to Virtual 0, 1, 2, and 3.  Each button will be represents one of the lights you've connected on the breadboard and the BeagleBone.  
 +
* The value display should be connected to Virtual 4.  This is the display used to show the score
 +
* In command line run ./install.sh
 
* In command line type "source setup.sh" without the quotes
 
* In command line type "source setup.sh" without the quotes
 
* Then run ./Whack-A-Mole.py
 
* Then run ./Whack-A-Mole.py
Line 56: Line 49:
 
== User Instructions ==
 
== User Instructions ==
  
Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.
+
Once everything is installed simply click the buttons corresponding to the different lights.  Click the button corresponding to the light when it turns on to turn that light off and receive a point.  Get as many as you can before the 30 seconds of time is up.  Look at display to see what your score is. Note that if you play it once and you want to play it again you must rerun the program.  The display will have the previous score still displayed but when you turn a light off before it goes off on it's own the score will start back up from 0.
 
 
Consider making it autostart for full credit.
 
  
 
== Highlights ==
 
== Highlights ==
  
Here is where you brag about what your project can do.
+
Click on the link to see a video demonstration of the project
  
Include a [http://www.youtube.com/ YouTube] demo the audio description.
+
[https://web.microsoftstream.com/video/d89f89ae-438d-4a3d-a8e9-e089dfe500ea Whack-A-Mole Demonstration]
  
 
== Theory of Operation ==
 
== Theory of Operation ==
 
+
[[File:TheoryOfOperationWhack-A-Mole.jpg|center|Caption text]]
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.
+
The major tasks that were done were:
  
Also list here what doesn't work yet and when you think it will be finished and who is finishing it.
+
* Creating Blynk Setup
 +
* Creating Countdown Sequence
 +
* Creating Random Light Generator To Toggle Lights
 +
* Importing And Using Multiprocessing To Run Blynk App And Countdown Sequence Along With Random Light Generator In Parallel
  
 
== Future Work ==
 
== Future Work ==
  
Suggest addition things that could be done with this project.
+
Some other things that could be added:
 +
* Potentially a display that is used to show the countdown as it is happening. 
 +
* Adding sounds when a light turns on and when the user turns it off
 +
* Current system doesn't check to see if user clicks button during countdown so if they do they will get points that they shouldn't get so someone could add an error checker for that.
 +
* Someone could add a website that shows the top 5 highest scores and update that based on what people were to get.
  
 
== Conclusions ==
 
== Conclusions ==
  
Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.
+
After my first project went south I had about 2 days to complete this. It wasn't easy but it is satisfying to see it working as effectively as it is. I had a blast doing this assignment and enjoyed the class as a whole.  I look forward to seeing what others may do with the project!
  
 
{{YoderFoot}}
 
{{YoderFoot}}

Latest revision as of 12:50, 8 April 2021

thumb‎ Embedded Linux Class by Mark A. Yoder


Team members: Craig McGee Jr

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

Blynk App Setup Hardware Setup
Hello all and welcome to the elinux about my project! My project is Whack-A-Mole game. In this game you use the Blynk App as the thing you hit the "moles" with and the lights randomly lighting up are the "moles." Above you can seen the Blynk app as well as the lights that turn on randomly to represent the "moles" randomly coming out of their holes. I hope you guys enjoy. Hit the light corresponding to the light that has randomly flashed on before that light flashes off to get points. Good luck!

Packaging

Hardware setup for Whack-A-Mole Project

This is the hardware setup for the Whack-A-Mole Project. You can see that there are 4 LED lights that are connected to P9_13, P9_14, P9_15, and P9_16 gpio pins.

Installation Instructions

Give step by step instructions on how to install your project.

  • Obtain the code from GitHub: https://github.com/mcgeeca/Whack-A-Mole-Project
  • Install the Blynk App on the Apple Store or Google Play Store
  • Create a new project and name it "Whack-A-Mole" or something like that and choose hardware option Generic Board. Make sure the connection type is "WiFi" and click "Create Project".
  • Click on the screen and add 4 buttons to the screen and 1 value display.
  • The buttons should be connected to Virtual 0, 1, 2, and 3. Each button will be represents one of the lights you've connected on the breadboard and the BeagleBone.
  • The value display should be connected to Virtual 4. This is the display used to show the score
  • In command line run ./install.sh
  • In command line type "source setup.sh" without the quotes
  • Then run ./Whack-A-Mole.py

User Instructions

Once everything is installed simply click the buttons corresponding to the different lights. Click the button corresponding to the light when it turns on to turn that light off and receive a point. Get as many as you can before the 30 seconds of time is up. Look at display to see what your score is. Note that if you play it once and you want to play it again you must rerun the program. The display will have the previous score still displayed but when you turn a light off before it goes off on it's own the score will start back up from 0.

Highlights

Click on the link to see a video demonstration of the project

Whack-A-Mole Demonstration

Theory of Operation

Caption text

Work Breakdown

The major tasks that were done were:

  • Creating Blynk Setup
  • Creating Countdown Sequence
  • Creating Random Light Generator To Toggle Lights
  • Importing And Using Multiprocessing To Run Blynk App And Countdown Sequence Along With Random Light Generator In Parallel

Future Work

Some other things that could be added:

  • Potentially a display that is used to show the countdown as it is happening.
  • Adding sounds when a light turns on and when the user turns it off
  • Current system doesn't check to see if user clicks button during countdown so if they do they will get points that they shouldn't get so someone could add an error checker for that.
  • Someone could add a website that shows the top 5 highest scores and update that based on what people were to get.

Conclusions

After my first project went south I had about 2 days to complete this. It wasn't easy but it is satisfying to see it working as effectively as it is. I had a blast doing this assignment and enjoyed the class as a whole. I look forward to seeing what others may do with the project!




thumb‎ Embedded Linux Class by Mark A. Yoder