Introduction: Emoticon Eyes for Robot

These are OLED 'eyes' for a robot I am building. They display different icons to express the robots 'emotions'. The system is designed to be controlled by the EZ-Robot robotics platform. https://www.ez-robot.com

PARTS

2 x Blue 0.96" IIC I2C 128X64 OLED LCD Display Modules http://www.ebay.com/itm/251987441348

Pro Mini atmega328 3.3V http://www.ebay.com/itm/251987441348

EZ-Bv4 EZ-Robot wifi controller https://www.ez-robot.com/Shop/AccessoriesDetails.a...

Step 1: OLED Displays

The OLED displays are controlled by I2C interface. The two displays are connected in parallel and are connect to the Arduino's A4 (SDA) and A5 (SCL) pins. These are the two pins that are on their own on the Pro Mini.

The displays will have the same I2C address, so the address has to be changed on one device. This is done by moving the jumper link (a 0 ohm surface mount resistor) on the back of one of the devices. You will need a fine soldering iron, steady hand and magnifying glass for this.

Note: Check the pinouts on your Pro Mini - some are slightly different from those described here.

Step 2: Software

Upload the RobotEyes.ino sketch to the Arduino and then connect it to the serial port of the EZ-Bv4.

You will need to download and install the u8glib library (https://code.google.com/p/u8glib/) and make a small modification so the Arduino can control two displays:

In the file called: u8g_com_arduino_ssd_i2c.c
Located in directory: \libraries\U8glib\utility
Change the line: #define I2C_SLA (0x3c*2)
To: uint8_t I2C_SLA = 0x3d*2;

The simple script attached for the EZ-Builder software controls the eyes. Eg Sending the text 'CRAZY' over serial ( UARTWrite(0,0,"CRAZY" ) ) will display the spiral eyes etc.

You can also make your own images from 48x48 pixel bitmaps. There is a program called LCD Assistant available on the web which will convert the bitmaps to the text dump required for the sketch.