Grove - OLED Display 0.96'' Release date: 9/20/2015 Version: 1.0 Wiki: http://www.seeedstudio.com/wiki/Grove_-_OLED_Display_96*96 Bazaar: http://www.seeedstudio.com/depot/Grove-OLED-Display-096-p-824.
Document Revision History Revision Date Author Description 1.0 Sep 21, 2015 Victor.
Contents Document Revision History ···································································································2 1. Introduction ···················································································································2 2. Specifications ·················································································································3 3.
Disclaimer For physical injuries and possessions loss caused by those reasons which are not related to product quality, such as operating without following manual guide, natural disasters or force majeure, we take no responsibility for that. Under the supervision of Seeed Technology Inc., this manual has been compiled and published which covered the latest product description and specification. The content of this manual is subject to change without notice.
1. Introduction It is a 16 color grayscale 128×64 dot matrix OLED display module with Grove compatible 4pin I2C interface. Grove - OLED 128 x 64 is constructed with 128 x 64 dot matrix OLED module LY120 and SSD1327 driver IC. Comparing to LCD, OLED screens are more competitive, which has a number of advantages such as high brightness, self-emission, high contrast ratio, slim / thin outline, wide viewing angle, wide temperature range, and low power consumption.
2. Specifications Operating Voltage 3.3~5V Dot Matrix 128 x 64 Display Color 16 Grayscale OLED Display LY120-96096 Driver IC SSD1327Z Dot Size 0.15(W)mm X 0.15 (H)mm Dot Pitch 0.17(W)mm X 0.
3. Demonstrations 3.1 With Arduino NOTE: Grove OLED 128 x 64 module is very compact and fragile. Handle the display with care. Do not stress or drop the display to ground. Do not scratch the surface. Ensure the correct polarity for 4pin connection Download the LCD_Display Library and Unzip it into the libraries file of Arduino IDE by the path: ..\arduino-1.0.1\libraries, then you can play with your own display system. 3.1.1 Demo 1: Display 'Hello World' In Normal Mode #include
Wire.begin(); SeeedGrayOled.init(); SeeedGrayOled.clearDisplay(); //initialize SEEED OLED display //Clear Display. SeeedGrayOled.setNormalDisplay(); //Set Normal Display Mode SeeedGrayOled.setVerticalMode(); // Set to vertical mode for displaying text for(char i=0; i < 12 ; i++) { SeeedGrayOled.setTextXY(i,0); //set Cursor to ith line, 0th column SeeedGrayOled.setGrayLevel(i); //Set Grayscale level. Any number between 0 - 15. SeeedGrayOled.
3.1.2 Demo 2: Display Hello World in Inverse Mode #include #include #include void setup() { Wire.begin(); Serial.begin(9600); SeeedGrayOled.init(); // initialize SEEED OLED display SeeedGrayOled.setInverseDisplay(); // Set display to inverse mode SeeedGrayOled.clearDisplay(); // Clear Display. SeeedGrayOled.setVerticalMode(); // Set to vertical mode for displaying text for(char i=0; i < 12 ; i++) { SeeedGrayOled.
Hello World on Normal Display 3.1.3 Demo 3: Print Numbers #include #include void setup() { Wire.begin(); SeeedGrayOled.init(); //initialize SEEED Gray OLED display SeeedGrayOled.clearDisplay(); //clear the screen and set start position to top left corner SeeedGrayOled.setNormalDisplay(); //Set display to Normal mode SeeedGrayOled.setVerticalMode(); // Set to vertical mode for displaying text SeeedGrayOled.
SeeedGrayOled.setTextXY(2,0); //Set the cursor to 2nd line, 0th Column SeeedGrayOled.putNumber(0xFFFFFFFF); SeeedGrayOled.setTextXY(3,0); //Print number //Set the cursor to 3rd line, 0th Column SeeedGrayOled.putNumber(-12345); //Print number } void loop() { } Output Hello World on Normal Display 3.1.4 Demo 4: Draw Binary Bitmap #include #include #include
0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x01, 0xC0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x07, 0x80, 0x01, 0xE0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0F, 0x80, 0x01, 0xE0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0F, 0x00, 0x01, 0xE0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0F, 0x00, 0x01, 0xE0, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0F, 0x00, 0x01, 0xE0, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0F, 0x00, 0x01, 0xE0, 0x18, 0x00, 0x00, 0x00, 0x00, 0x
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x20, 0x82, 0x00, 0x00, 0x
Note: You can make a gray 96*96 image arbitrary that can be shown on OLED 96*96. The manufacturing procedure can reference it(include associated software).
4. Reference Seeed Gray OLED library provides complete software interfaces to exercise the capabilities of SSD1327Z driver with a 96x96 gray OLED. Almost all useful features are implemented and all functions are in public scope. This makes Seeed Gray OLED Library extensible. Seeed Gray OLED library uses Arduino Wire library. Hence initialize wire library before initializing Seeed OLED library. Function Description: 1. init() Initializes the Seeed OLED frame and sets the display to Normal mode.
SeeedGrayOled.setHorizontalMode(); //Set addressing mode to Horizontal Mode 7. setVerticalMode() Configures the display to vertical addressing mode. Texts are drawn in vertical mode. Please set the display to vertical mode before printing text. Example: SeeedGrayOled.setVerticalMode(); //Set addressing mode to Vertical Mode 8. setTextXY(X,Y) Set the text's position (cursor) to Xth Text Row, Yth Text Column.96x96 OLED is divided into 12 rows and 12 Columns of text.
unidimensional array holding bitmap. The bitmap data is available in continuous rows of columns as like Horizontal Addressing mode. bytes is size of bitmap in bytes. Example: SeeedGrayOled.drawBitmap(SeeedLogo,96*96/8); *96 pixels / 8) bytes // Draw binary Bitmap (96 pixels 13. setHorizontalScrollProperties(bool direction,unsigned char startRow, unsigned char endRow,unsigned char startColumn, unsigned char endColumn, unsigned char scrollSpeed) Set the properties of horizontal scroll.
5. With Raspberry Pi 1. You should have got a raspberry pi and a grovepi or grovepi+. 2. You should have completed configuring the development environment, otherwise follow here. 3. Connection. Plug the sensor to grovepi socket i2c-x(1~3) by using a grove cable. 4. Navigate to the demos' directory: cd yourpath/GrovePi/Software/Python/grove_oled To see the code nano grove_i2c_oled_96x96_hello_world.py # "Ctrl+x" to exit # import grove_oled import time grove_oled.oled_init() grove_oled.
6. Resources LCD_Display Library github repository for OLED Display 96*96 Grove OLED 96x96 Schematic PDF SSD1327 Datasheet LY120 Datasheet Reference for Make a 96*96 Image File:Grove - 96x96 OLED Display v2.1 eagle.