Lab: Proposal for Project 1

Team: Kate, Marco, Enayet

Inspiration:
Games are a fun and interactive way to engage users and therefore provide a good platform to change users behaviour. By engaging them in a game in an everyday activity where they are usually not paying attention we force them to question their own actions and can encourage them to break their everyday routine. Check out these two examples from The Fun Theory:

Game Concept:
People already like to do basketball shots with their garbage into the trash can. We will take this concept and turn it into a full on game to encourage people to throw their recycling into the recycling bin instead of the trash can.

The score board will show two teams: the garbage team and the recycle team. Everytime someone interacts with the game the recycle team will get more points, and every time someone throws something in the garbage the garbage team will get points. These will be displayed on a score board.

Technical Specs :

1) LED screen : Used to reflect the score detailing

– LED Matrix, Output in the form of a score (numbers) to reflect each players score.

2) Hoop Sensor : Used to sense the motion of recycled waste that passes through the hoop.

– IR Motion sensor, attached to the inside of the hoop and calibrated appropriately to sense when paper is thrown in.

3) Sound Outputs : Used to make sounds when user scores

– Piezo buzzer, makes a melody when someone scores

 

 

The LED Matrix

Attaching 8×8 matrix to ardurino
IMG_3814

Test:
IMG_3816

Separate the 8×8 example into 6 separate sketches:

1.bitmap
IMG_3821

2.dot
IMG_3819

3.circle
IMG_3825

4.line
IMG_3823

5.box
IMG_3824

6.text writing
Text Writing

Make a triangle
IMG_3828

Use the bitmap functionality to draw four frames of animation ranging from an eye wide open to an eye shut.Use these bitmaps to trigger a blink animation every time you hit a button.
Eyes Blink

Make Hello World scroll backwards.
Hello World Backwards

Motion sensing

Phase 1: (in loop)
With a new sketch, create a function called “motionRead” which takes in two integers: pin and wait and returns an integer. In loop, use this new function (wait=1000) and print the return value to the serial out.
2 sec to sense
11 sec to stop sensing

Phase 2: (in loop)
add to setup:
pinMode(motionLedPin, OUTPUT);
pinMode(armedLedPin, OUTPUT);
digitalWrite (armedLedPin, HIGH);
IMG_3480

Phase 2.5
The other should reflect the “armed” state of the device. It should normally be on but turn off immediately when the sensor is triggered. It will delay the appropriate number of seconds until the device is in a rearmed state then re-light.
Video

Phase 3
Include everything currently in loop() in an if(true) statement.
This will obviously still run it every loop. (to be fixed later)
Declare a global integer above tick() called “pace” and initialize it to 500.
In tick(), print “tick”
and delay “pace” ms.
IMG_3721
Video
Video

Phase 4
Remove the line which prints the result from motionRead()
Change it to an if statement that calls winFunction() if the result is true, and calls failFunction() if not.
Video
Video

Phase 5 and 6: Adding random and setting up two potentiometers, one that controls pace and one that controls how easy the game is by regulating the wait function.

IMG_1678

What are the devices pros/cons?

How could this be creatively applied to other projects?

The PIR sensor needs to have total stillness in front of it. Otherswise is will feel movement, even if it is not you interacting with it. or just by holding it the part that has no sensor. It also takes a long time to reset.
It could be used for the trash bin project for example, for sensing if there is something thrown into it. But it seems to be not very long range. Some store in China use it at the front door, when anyone walks in they will play the audio track “Welcome!”

I did this project with Kim. With Kate joining us in the last phases.