CA2

 
PRESENT WORK:
 (The word in red is the key point of real work)
The display module is an important media for interacting with users.  It transforms digital and analog, like tactile or feeling, information into visual reception.
Visualized information and the related user-interaction techniques has the advantage of fast and straight forward transmitting abstract and large amount of information into human mind.  Especially, the graphic display is more convenient and quickly for users to understand the abstract information.
 
The Qoot robot display module is aiming to visualize emotions through gestures and animations on the mini, low cost, energy saving color OLED display and for users interation between computer and user vai robot and between user and user throuhg robot and internet.
 
Accroding to initial specification of Qoot robot, we need to find a OLED display which is monochrome color display, low power consupmtion and especially very small in size. Base on searching from internet, we finally selecet a small graphic OLED, DD-6448BE-2A which is a blue color small OLED module.
                   
The size of DD-6448BE-2A is very small and it can save a lot of space for other component of the robot and contribute to shrink the total size of the robot.
 
According to the datasheet specification of the OLED display, I have designed and implemented the developemt board which is used for PIC communicating with the OLED module 
 
There is no pre-sketched symbol, animation stored in the OLED memory. For any thing we want to display, such as characters, symbols and animations ,on the OLED screen, I have to draw and design it myself to before sending to the OLED display. The OLED  is drived by the PIC18F4550 which stores all the data and command of OLED (shape of characters, how to display and animations) and code for other purpose use. It support USB, I2C and UART communcation in hardware for the OLED to interact with other devices and 8080 Parallel commuincation and serial commuincation for OLED commnuicating with PIC. In additional, it uses dual power supply which support USB power supply and external power supply and simple circuit is used to automatically  colse the USB power supply when there is an external power present.
 
Also, there is a UART communication module which is used to connect the PIC with computer for OLED interacting with PC by using MAX233 chip and RS232 communication channel.
 
 
As the previous requirement of the Qoot the robot, the display should have simple display function for simple animation display, text display, friend list display and the friend list rotation which will be acitivated by external signal like rotating robot arm. 
 
According to the datasheet of the OLED, I have designed and coded  the every display functions  and charcter sketch, and animation and stored these data and code into PIC to drive  the OLED display.
 
Text Display:
Base on the requirement , I have scketched a characters and some symbols which is used to  general text display.  Totally, there is 26 capital letter and 26 lower case and 20 symbols which are shown in the below diagarm 
 
Each of these drawing characters will finally be converted to 5 byte data  which represents a 8x5 pixel area on the display screen and stored in PIC for display purpose.
 
Animation Demo Display:
Due to the the small size of the OLED screen, the picture taken by camera is blur. I uses the statictsketch to explain. The below picture shows  combination of animations. One is "eating bean" which the "eater" will eat the bean repeately from the left to right and text blinking  is also shown on the screen concurrently. For these two animation, it is also sketched pixel by pixel and dispay on the screen with proper timing by pre-store  the timing code and pictures in the PIC as the OLED display module does not provide any functions and picture for such display.
(For the animation demo please refer to the real demo on CA2, the above is just for easy visualization and not exactly the real dispay)
 
Computer Interaction with Display:
As for part of display function, I also write the testing code for PC and display interacting. The character display function has been highly intergated to a function "display_character(unsigned char character)", which can display characters by write ASCII code to the variable "character".  I can display character by input from the keyboard on PC and display on the OLED module.
 
Scorll friend list:
Due to the Qoot specification, it is required to use robot arm to do friend list rotoation. As what is done so far, a short friend list (8 names) is used  for rotation demo.  the push button on the development board is used to simulate rotating up and down signal. By tracing the location of the first name in the name list, the name list can be shown up and down on the screen. As not function for friend list rotation command pre-defined in the OLED module it also need to be designed and coded first in the PIC before displaying on the screen.
 
 
 
Future WORK:
 
For the next level work after CA2, I will implement the new  color OLED display which is a modular one due to the change of Qoot robot specification.
 
My work will shift to the works on:
1.    menu display, animation display and touch functions.
2.   research on the ink display which is suggested on the CA2 meeting.
3.    entire system intergation on both software for and hadware to make the robot as small as possible and reliable when running system.
Comments