Why should a thermostat have personality?

Thermostats typically are not designed to have personalities, but when I decided to call this project Henrietta (which means "ruler of the home") it naturally followed that I should infuse her with some personality. This is not because thermostats need "attitude", it is just another way to showcase PSoC4 technology and add some interesting features to an otherwise pretty mundane application. Additionally, I wanted to make her visual appearance as attractive as possible, after all, I have to look at her all day.

 

The Concept

Since Henrietta has two displays, I figured I could use them to display two eyes which could be open or closed.

When Henrietta is stimulated by some input, she can wake up by opening her eyes.

When Henrietta wants to acknowledge a request, she can wink.

These expressions are not just for looks, they actually provide useful feedback to the user, but it is a little more interesting than simply flashing an LED (and of course a lot more design work). They also provide a useful delay, for example it is possible to push on the front window to request Henrietta to open it. She will open her eyes and wink to acknowledge the request. This gives the user time to move their finger before Henrietta tries to open the window.

 

The Methodology

I started by sketching some facial features in Corel Draw:

Henrietta's Face

face1b..png

Then I used PhotoScape to create an animation to see the blink and wink effect:

Henrietta's Face - Animated

Henrietta1.gif

Next I converted the frames to black and white 84 x 48 pixel .bmp images (to fit the Nokia 5110 displays) using IrfanView.

Henrietta's Eyes

eye_low.bmpeye_ro.bmp

Then I wrote a program in Visual Basic to convert these frames to graphical hex data blocks, specific to the Nokia 5110 display, that I could copy into the PSoC4 program. This program also allows images to be edited at the pixel level if you want to create custom graphics or retouch imported graphics.

LCD Bitmapper Graphics Editor

LCDBitMapper1.png

The reason for Visual Basic is simply productivity. It took about 2 hours to code and test the graphics editor and unfortunately I cannot come close to this level of productivity when coding in C.

 

The Results

The PSoC4 has been programmed to animate Henrietta's eyes - to see a demonstration, view the accompanying video...this video also provides a first peek at what Henrietta will finally look like. I am still working out how to get 720p video into Windows Movie Maker, but this is as close as I have come...

They say beauty is in the eyes of the beholder, but in this case it is in the eyes of the beholdee as well as the eyes of the beholder.

Henrietta Eye Animation Demo


 

My next update will discuss how Henrietta is wired up to avoid a spaghetti jungle of coloured jumpers obscuring the neatly laid out electronic modules.

 

For more info on the Henrietta Project, which is entered in the Smarter Life Challenge, check these logs:

http://www.element14.com/community/videos/10631/l/smarter-life-challenge--the-henrietta-project-intro

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2013/12/15/smarter-life-challenge--the-henrietta-project

http://www.element14.com/community/community/knode/dev_platforms_kits/element14_dev_kits/psoc4_pioneer_kit/blog/2013/12/17/smarter-life-challenge--the-henrietta-project--touch-screen-subsystem