Difference between revisions of "ECE434 Project Whack-A-Mole"
(→Executive Summary) |
m |
||
(9 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | |||
[[Category:ECE434Fall2020 |PT]] | [[Category:ECE434Fall2020 |PT]] | ||
{{YoderHead}} | {{YoderHead}} | ||
Line 27: | Line 26: | ||
== Executive Summary == | == Executive Summary == | ||
− | [[File:BlynkAppSetup.png | + | [[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! | 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! | ||
Line 42: | 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 53: | Line 53: | ||
== Highlights == | == Highlights == | ||
− | + | Click on the link to see a video demonstration of the project | |
− | + | [https://web.microsoftstream.com/video/d89f89ae-438d-4a3d-a8e9-e089dfe500ea Whack-A-Mole Demonstration] | |
== Theory of Operation == | == Theory of Operation == | ||
Line 62: | Line 62: | ||
== Work Breakdown == | == 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 == | == 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 == | == 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! | |
{{YoderFoot}} | {{YoderFoot}} |
Latest revision as of 11:50, 8 April 2021
Embedded Linux Class by Mark A. Yoder
Team members: Craig McGee Jr
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
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
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
Theory of Operation
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!
Embedded Linux Class by Mark A. Yoder