Arduino based temperature sensing

For this project, I used an Arduino Uno board and  MCP9808 heat sensor from adafruit. In the firmware I used Adafruit_MCP9808 library provided with the sensor and Arduino wire library for I2C  communication. With this setup I was able to get the temperature reading from the sensor through serial monitor without a trouble.

IMG_20150922_232026

Next part is to visualize the temperature reading meaningfully. I decided to try out a very simple mechanism to provide a visual expression about the current temperature. Here my goal wasn’t to visualise the exact temperature value, but to provide a sense of in which range the temperature is. Derived from the previous work “Unlocking the Expressivity of Point Lights” by Harrison et al, I decided to use a single LED to create a temperature visual expression.

I modulate the temperature reading to a square single as follows and send it to the LED. In my experiment I used 110F as the upper limit.

pulse width = (110- temp_reading) * 10

wave

So, the LED will blink faster as the temperature increases and slower as the temperature decreases.  

After few experiments with different temperatures (on top of my coffee cup, inside a ice cup and in normal room temperature) I learned this method is capable of expressing temperature levels, but human eye is not capable of identify the change of the blink rate when it increases gradually.

So in next steps I will need to try few other blinking patterns as Harrison suggested going beyond directly modulating to the pulse width in order to provide a rich visual expression of temperature using this simple method.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s