Capacitive Sensing; the AD7746

A recent art project involves a standalone column which is isolated from the environment; it is battery powered. We want to put in a sensor that can determine if someone has touched the piece; this is generally done via capacitive sensing.

A few options for touch sensors are out there. One classic for the Arduino is at
http://playground.arduino.cc/Main/CapacitiveSensor?from=Main.CapSense.

It works pretty well when hooked up to a PC, and with the right tweaking, works with an Adafruit OLED, which allows testing of the unit without being grounded. Using a laptop (running on battery) the output varies significantly if you are touching the sensor and laptop, versus just the sensor. When configured to run as a standalone (no grounding), this option doesn’t work as well.

Another option is to use the AD7746. The original Arduino library was written by the folks at Interactive Matter, and it works pretty well. The AD7746 doesn’t come in DIP package, so you have to wire up a breakout board for it, as shown below.

ad7746_experiment

My small addition was to allow the output to be seen on an OLED, so the data could be seen when the system was running on battery power. Some of these capacitive sense systems work wildly differently when hooked up to a PC, and this allowed the viewing of detailed data in realtime. The code is here.

So far, the AD7746 gives as good strong signal, even when the system is battery powered. One of the ‘capacitance’ leads is attached to the outside of the sculpture, and the other lead is in free space. When touching the sculpture, a decent signal can be seen, so we can use this to do something interesting (like play a sound, blink lights, etc.).

This entry was posted in articles. Bookmark the permalink.