Robot facial expressions with led matrix

     Few days ago I decided to continue my interactive robot (https://www.robotshop.com/letsmakerobots/node/36100), and it's been some time I'm making some sketches for a more interactive head for this project, since the other (dome head) is limited to a ultrasonic sensor.

     I made this "Something Else" post because this head probably will be used in others projects too. Or maybe I'll start a new project, since this head don't combine with the round body of MDi-eins. I'm thinking about...

     Well, yesterday I made a cardboard prototype and I put on it pan and tilt servos to test effectively how it looks.

     Below is a SketchUp drawing and after the cardboard prototype.

head_sketch.png

 

head_01.jpg

 

     To make these red eyes I utilized just two 8x8 dot led matrix, two MAX7219 IC, four capacitors, two resistors and many many wires. When I'll make the final head with polystyrene, I'll make too a small PCB with the ICs and put it inside of the head, which will eliminate the mess of wires.

     Wowwwww!!! What a mess!!! Yes I know that cannot understand anything on this... but, believe me, it really works!!! :)

head_02.jpg

 

     As I found on the web some good material about utilizing led matrix with MAX7219, I won't make here a tutorial, because it would just copying what other people already made. But I leave here some links where I found everything (library, example code and schematic).

http://tronixstuff.wordpress.com/2010/07/09/review-maxim-max7219-led-display-driver-ic/

http://www.wayoda.org/arduino/ledcontrol/index.html

http://tomekness.files.wordpress.com/2008/01/max7219_tutorial_pre_c.pdf (this last one is a tutorial in PDF)

 

     The final head will have a sensor at the bottom (I'm thinking between a HC-SR04 and Sharp IR). Also it will have small speakers at the left and right sides, as seen on the sketch.

     I'm working in other expressions like anger, sadness, happiness, fear and scare, for example, when it's running around autonomously and suddenly appear an obstacle on his front.

 

 

     UPDATE - June 8, 2013

     Hi guys. Just a little update.

     I have worked in some new expressions. I was thinking about the ideas of OddBot and AdamONE, but I ended up keeping the eyes in a simple shape, changing a little bit of them, since my matrix have only 64 dot (x2), compared with the Eve's eyes (which must have 1000 dots, I think), and which in my case (with a few leds) makes the shapes a bit squared.

     I have painted in black the background of eyes (I think it looks better now).

     Just added another video with the new expressions in a simple sequence of: NEUTRAL - SADNESS - SURPRISE - HAPPINESS - FEAR - FLAT EYES BLINKING - HORIZONTAL & VERTICAL SEEKING.

     Below are some pics of the five expressions that I made for this moment (maybe need some adjusts). My prefered is the "SADNESS".

expression_neutral.png

expression_sadness.png

expression_surprise.png

expression_happiness.png

expression_fear.png

 

     I would like to provide here the code files, but I think it's not possible in "Something Else" posts. So, below I show a short code:

#include "LedControl.h"
LedControl lc=LedControl(12,11,10,2);

void setup()
{
lc.shutdown(0,false);
lc.setIntensity(0,1);
lc.clearDisplay(0);

lc.shutdown(1,false);
lc.setIntensity(1,1);
lc.clearDisplay(1);
}

void loop()
{
neutral();
}

void neutral()
{
lc.setRow(0,0,60);
lc.setRow(0,1,126);
lc.setRow(0,2,102);
lc.setRow(0,3,102);
lc.setRow(0,4,102);
lc.setRow(0,5,126);
lc.setRow(0,6,60);
lc.setRow(1,1,60);
lc.setRow(1,2,126);
lc.setRow(1,3,102);
lc.setRow(1,4,102);
lc.setRow(1,5,102);
lc.setRow(1,6,126);
lc.setRow(1,7,60);
delay(50);
}

https://www.youtube.com/watch?v=EWGS4oqj2T8
1 Like

This is brilliant!

I think you’ve set new standards for robot heads.

Thanks, bro!

I’m just trying to help hobby robotics to express their “feelings”! :slight_smile:

"bite my shiny metal a" :- quote**

Something very benderesque to those eyes. Good job Dickel. That is a sh*#load of wires coming out the back. Any plans to shrink down to a board inside the head? Maybe use a 6502 processor. ; D

Hi, this is a very great

Hi, this is a very great job! It gives me some ideas for my own project.

Keep on !!

Ganz große Klasse!!!Great

Ganz große Klasse!!!

Great Dickel, that’s an awesome expression. Good luck with the other expressions. It’s not just an pair of eyes it’s als a good torch to lighten up the way :slight_smile:

Thanks a lot for posting

Thank you Dickel for digging all this.

I got one matrix like this since few weeks that I have not been able to test up to now. I purchased it for the same purpose as you.

Your links will probably save me some time.

Ok, Ok, I will make one…

Man, between you and Proto, ( https://www.robotshop.com/letsmakerobots/node/35965 ) I am really getting inspired to build a little buddy to sit on my desk. 

I need to start drawing some pictures, I think.

:smiley:

very cool! 

Sehr danke!

"… a good torch to lighten up the way …" And the brightness is set just in “1”, in a scale from 0 to 15!

Have you MAX7219 too?

Have you MAX7219 too? With this IC you need only 3 pins from your board, plus 5V and GND.

Thank you, merser!

As I said before,

“When I’ll make the final head with polystyrene, I’ll make too a small PCB with the ICs and put it inside of the head, which will eliminate the mess of wires.”

 I’m using the IC MAX7219, one for each 8x8 led matrix.

Thanks, kardar!

Cool that I have inspired you! When you get some progress, please show to us!

Thank you for the tip

Hi Dickel.

I did good note you are using MAX7219.

In a first step I was planning to try the matrix on an Arduino Mega.

I’ve never tried out multiplexing before. I’m discovering Arduino actually (Xbee, IR,…).

I was thinking of using 2x 74HC595, but I’ve not been really looking in to it, yet. But, sure i will compare the benefit of MAX7219 onto  74HC595.

By the way, congratulations for the nice manufacture for a prototype. Only with cardboard it already has personnality. I really like it.

Your “big project” also partly inspired me (as some others on LMR). Instead of a cylinder, I built a cubic frame. The LED matrix would be one of the robot media for communicating.

The 6502 is an inside joke

The 6502 is an inside joke for futurama fans. Those 7219’s are good but pricy. Did you get yours for a good price?
I saw a story about fake ones. But as your head works perfect, yours are obviously the real thing.

Great Design: Give this A Try

  This is one of the more novel designs i’ve seen on this site.  Very well done.  It is definitely one of my favorite robots here.  I do have a fun experiment for you.  Try this (its easy):  Cut a piece of acrylic or plexiglass or other suitable clear plastic to cover the eyes and make a simple lens.  Next, cut a piece of tracing paper to fit behind the lens, but in front of the LED eyes.  This will diffuse the light for a softer glow and a neater effect.  Experiment with different brightnesses and levels of diffusion (by using additional sheets of tracing paper and adjusting the brightness level on your LED matrix) until you find the perfect result.

  Also, if you were to paint the surface behind your LED matrix black, and tint the lens with some window tinting film from your local auto parts store, the face of your robot would be completely black when turned off, but have bright visible eyes when in operation.  The matrix assembly would ‘disappear’ behind the tinted lens.  This would be an effect similar to EVE as posted by OddBot.  I used the above technique to great effect when I developed an RFID card reader / door lock with a screen that displayed lock and unlock icons with LEDs.  Its design was simple, but the light diffusion / optical layers made it appear more high tech and impressive.

Fake ones…

Nice stuff about the 7219s. After read it I’m almost sure that mine are fake, specially because they cost less than $1 each. But it’s working fine.

Great tips

Thank you very much, AdamONE. I liked so much your tips, something that i really got to try.

Nice!!

Really cool idea.  Do you plan on posting the code for the eyes?

 

Thanks!

Thanks for the comment.

A part of the code is available now.