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).