Snapshot of the "High Scores" screen at the end of the night.

Competitive Breathalyzer

Video documentation of the Benefit Pary (Breathalyzer at 1:13) (via Machine Project).

I made this project for the Machine Project annual member benefit. The theme of the benefit was DMV: After Dark and featured a variety of offbeat DMV, Car and Driving Test-inspired activities and performances. My contribution was a game whose primary mechanic revolved around the guests Blood Alcohol Content (BAC).

I build a simple, DIY breathalyzer using Sparkfun’s MQ-3 gas-alcohol sensor. From there, I made a correlation between the output voltage and some standard ratings for BAC (considering weight, age, number of standard drinks/hour). For technical mumb-jumb, see below. The idea was for people to get their BAC as close as possible to a very specific amount: 0.0314 (PI!). The final screen of the game listed the top 10 scores of people who where the closes to 0.0314.

Technical Observations:

  • Correlating gas-alcohol to blood-alcohol is tricky because people can “cheat” by swishing beer around their mouth and blowing into the sensor immediately… This made some people upset… Even though they were at a party…
  • Having a knob on hand to dials the sensor sensitivity up/down was handy, because of this.
  • Proper aeration of breath moisture/steam is  MUST. Moisture is bad for the sensor.
  • The sensor works like a basic voltage divider. Here’s a helpful tutorial/analysis of it. I used an Arduino to read the results in.
  • The game was built in Processing. Here is a zip file of my code. It’s probably pretty inefficient (the timers / game modes is sloppy). I applied some easing to the input values. The scores are kept in a ScoreCard object, which is sorted by it’s howClose field. You have to overload java’s compareTo() method so you can sort the objects using Arrays.sort (Object o).

Comments are closed.