- ME 218A: “The Price is Right”
To design and build a penny arcade machine usingmechatronics: electronics, electro-mechanical actuators, sensors, and embeddedsystem software written entirely in C.
We decided to play a game pertaining to the populartelevision show, “The Price is Right.” Before the show’s contestants play a mini-game, they must bid on aninitial product. All contestants who winthe opportunity to play a mini-game also get to spin the “big wheel.” To incorporate elements of the televisionshow in our penny arcade machine, we decided to design two games: a biddinggame and a wheel spinning game.
The user was presented with a household item at random (outof 25 possible items); he/she had the goal of guessing more accurately than arandomly generated guess by the computer. If the user’s guess was within a price range determined by the correctprice and a randomly-determined tolerance price, then the user proceeded to thewheel spinning game.
Wheel Spinning Game
The user spun our custom-made wheel on which 16 pricedivisions were printed. The useraccumulated money by landing on certain positions on the wheel. The user’s goal was to get as close to $1.00without going over. The computergenerated a random wheel spin total which the player must compete against towin. If the user’s wheel spins weregreater than or equal to those of the computer, then a motorized dispenserawarded a gumball to the user.
- Electrical Aspects
An optical encoder was used to detect the spinning wheel’sposition. The encoder consisted of threeoptical emitter/detector pair sensors, each of which detected reflectedinfrared light from two sensor rings. Thesensor rings and tape sensor positions are shown below in Figure 2. The outer sensor ring had a pattern of 16alternating white and black squares corresponding to the 16 available pricesshown on the front of the wheel. Theprimary tape sensor was aimed at this ring and incremented a counter each timeit detected a rising edge going from black to white or a falling edge goingfrom white to black. In this way, theencoder tracked the wheel’s relative movement.
- Asecondary tape sensor used to determine direction was positioned on the outerring at half of a division away from the primary tape sensor. By observing which sensor had a rising orfalling edge first, the direction of the wheel’s rotation was inferred.
Asecond sensor ring, consisting of a single black square, was used to calibratethe absolute position of the encoder. Onceper rotation, the calibration tape sensor detected the black square and resetthe counter to reflect an accurate absolute position. While the tape sensor hardware was veryreliable and accurately detected transitions at high wheel speeds, the speed atwhich the three tape sensor ports could be polled by our C32 microcontrollerwas not fast enough to ensure accurate counts over long periods of gameplay.
Each tape sensor’s output was conditioned before being fedinto the C32 microcontroller. Whenoptimally positioned, the tape sensors swung between approximately 2.5 and 4.0Vas the black and white squares passed the sensors. This signal was used to generate clean,bounce-free transitions between 0 and 5V by passing the sensor output through aLM339 quad comparator with hysteresis.
The inner sensor ring was 4.75” OD/3.5” ID and the outersensor ring was 7.5” OD/6.5” ID. The rings were made of cardstock and attachedto the back of the wheel with the transitions lined up appropriately. The tapesensors were mounted approximately 1” from the back face of the wheel and were attachedusing laser-cut acrylic. While the spec sheet for the tape sensors gave aspecific distance for optimal signal, we found that moving the sensors backfurther increased our signal and gave more reliable transitions.
For code excerpt, please contact me.
The project and all intermediate deadlines were completed ontime. We spent close to $142, and werethus roughly 5% under budget.
All project components worked well during the publicdemonstration. We observed userenjoyment to be high, perhaps due to user persistence because we designed thegame to be fairly difficult to win (i.e. win a gumball).
Figure 3 below is a photo of our final project.