Capacitive sensing is how your phone’s touch screen works — basically detecting the natural charge in a person’s body on the screen.
I’ve seen Team Blinky friend Liza Stark play and build simple touch sensors using the same technique with Arduino, so this week I gave it a try.
My goal: Use a touch sensor instead of a button on the Monthly Mood Cube.
It turns out to be pretty easy.
There’s great information about detecting capacitance with Arduino here, but essentially the steps to get started are:
- Download this “CapactiveSensor” library
- Unzip it
- Rename the folder from
- Drag that folder into your Arduino
librariesfolder, which is located within the same folder you keep your sketches in. (More on that here if you're new to this.)
- Launch (or relaunch if it’s running) the Arduino program
Once that was done, I saw “CapactiveSensor” under File -> Examples, and modified it a bit to make it simpler:
Wiring it up
The circuit is pretty simple. The trickiest part was having a hefty resistor, upwards of 10M-ohms. The most resistive one I had was 1M-ohms, which worked fine.
In my case, the “foil” part is a little heart cut out of copper taffeta I had, which I soldered to a wire.
Making it go
I uploaded the sketch to the Arduino, and opened the Serial Monitor (Tools -> Serial Monitor), making sure the window was set for 9600 baud. Then I watched the numbers jump every time I touched the little piece of copper attached to Pin 6!
For the Mood Cube, I altered the code a bit to check whether the sensor_reading value was above a certain point (I used 300). If it was, the code triggered the button function.
This way, I avoided actually mounting a button, and also made it feel a little less techie (at least on the outside).