Grove - OLED Display 0.96''

Similar documents
Grove - OLED Display 1.12''

Grove - 2-Coil Latching Relay

Grove - Thumb Joystick

Grove - Solid State Relay

Grove - Single Axis Analog Gyro

Grove - 3-Axis Digital Compass User Manual

3.3V 5.0V. display. Low. Wide. Warning. screen.

Grove - 80cm Infrared Proximity Sensor User Manual

Grove - RTC User Manual

Grove - 3-Axis Digital Accelerometer(±16g)

Grove - I2C Motor Driver

Grove - Serial MP3 Player

Grove - Ultrasonic Ranger

Grove - BLE. Release date: 9/20/2015. Version: 1.0. Wiki:

Grove - Digital Light Sensor

Grove - Thumb Joystick

Grove - Ear-clip Heart Rate Sensor

Grove - 80cm Infrared Proximity Sensor

KNJN I2C bus development boards

MilCandy. Release date: 9/20/2015. Version: 1.0. Wiki:

SC1602LC 16x2 Large Characters RS232 LCD Module. User s Manual. Large Viewing Area 99mm x 24mm. Large Character Size. 4.84mm x 9.66mm.

Technical Information. Command overview of Vision Systems

MTR-4. C8 Command to MODBUS Bridge User Manual F-1, No. 631, Chung Der Road, Sec 1, Taichung Taiwan.

Grove - PIR Motion Sensor

Grove - Vibration Motor

LCD Module with I2C / Serial Interface and Keypad Control «LCD I2C/Serial» User s Guide. Copyright 2008 IMS

KNJN I2C bus development boards

Grove - Magnetic Switch

Graphical LCD Display Datasheet EB

Keywords: CRC, CRC-7, cyclic redundancy check, industrial output, PLC, programmable logic controller, C code, CRC generation, microprocessor, switch

imetos LoRa Data payload structure

TBS Unify Pro / SmartAudio

CTT MODBUS-RTU COMMUNICATION PROTOCOL TEMPERATURE MONITOR DEVICE

University of Texas at El Paso Electrical and Computer Engineering Department

ArduCAM-M-2MP Camera Shield

MCW Application Notes 24 th February 2017

MOS-AV-162A Technical Manual. Revision: 1.0

App Note Application Note: State-Driven Control of a dpasp using a Microchip PIC.

SRF02 Ultrasonic range finder Technical Specification

variable 1. Start of Packet - is used to provide synchronization when parsing packets. Always 0xFC

Beaglebone green User Manual

DMTME Multimeters. Communication protocol. Technical specification V1.2 ABB

variable 1. Start of Packet - is used to provide synchronization when parsing packets. Always 0xFC

SCDM88-8x8 Serial LED Dot Matrix Display Module. Serial Interface. Serial Command Summary

Technical Specification. Third Party Control Protocol. AV Revolution

CSCI 2212: Intermediate Programming / C Chapter 15

MODEL TDAI-2170 INTEGRATED AMPLIFIER EXTERNAL CONTROL MANUAL

Grove - Moisture Sensor

AquaCER with TTL OUTPUT

1.5inch OLED Module User Manual

CLOCKAUDIO. MR88 Automatic Microphone Mixer RS232 Programming Version 4.2

Signed/Unsigned Integer Arithmetic in C. Vineel Kovvuri

GNetPlus Communication Protocol

SIMCom_3G_CSD_Application Note_V1.00

DRPC100-OLED UART PROTOCOL SPECIFICATION

Specification E2 Interface

Futaba MDM166A display

Next Generation Intelligent LCDs

NHD-0220D3Z-FL-GBW-V3

JUN 18 Rev 3

Highlights. FP51 (FPGA based 1T 8051 core)

M2M/DMTME Instruments Communication protocol. Technical specification V.2.1 2CSG445011D0201

Grove - I2C ADC. Introduction. Features

SLCD Technical Note TN-100. Programming the SLCD bitmap / macro flash memory in an embedded system

NHD-0220D3Z-FL-GBW-V3

TORRIX RS485. Technical Documentation. with MODBUS Protocol. Edition: Version: 3 Art. no.:

LCD2041 Technical Manual. Revision: 2.1

OLED DISPLAY MODULE. Application Notes. DD-12833YW-1A with EVK board PRODUCT NUMBER

1 SETTING UP GENERAL FUNCTION TYPE PROTOCOL MESSAGES COMMAND RETURN CODES... 6 TRANSACTION EXAMPLES...

LCD4041. User Manual. LCD4041 rev 1 1

I²C GLCD Adapter for KS x64 Manual (1.4)

High Definition Video Player User Manual

How to use LCD screen from the application board v2

on a 35 mm top-hat rail (in accordance with DIN EN TH35) Ambient temperature Operation: C Storage: C


LCDs. Embedded Systems Interfacing. 20 September 2011

RS-232 Control of the Advantage EQ281/8, EQ282/8 and Advantage SMS200

FireBeetle Covers-OSD Character Overlay Module SKU:DFR0515

μc/gui SSL TM Font Converter User s Manual V3.16

Ethernet to Digital I/O and Analog Input. (Model: IP-IO)

NHD-0216K3Z-NS(RGB)-FBW-V3

1.8inch LCD Module USER MANUAL

YUDU AMSON ELECTRONICS CO.,LTD.

IOX-16 User s Manual. Version 1.00 April Overview

ECE331 Homework 4. Due Monday, August 13, 2018 (via Moodle)

NHD 0216K3Z FL GBW. Serial Liquid Crystal Display Module

TORRIX RS485. Technical Documentation. with MODBUS Protocol. Edition: Version: 2 Art. no.:

Grove - Rotary Angle Sensor

Part Number Weblink for the part Description Unit Price. m/commerce/product_i nfo.php?products_id=8 428

USB + Serial RGB Backlight Character LCD Backpack

This is a tutorial about sensing the environment using a Raspberry Pi. measure a digital input (from a button) output a digital signal (to an LED)

CS 4400 Fall 2018 Midterm Exam 2 Practice (Version 2)

Page 1 of 7. Samtron/Samsung 20S204DA2

LCD Display 16x2 with Buttons

ECE251: Intro to Microprocessors Name: Solutions Mid Term Exam October 4, 2018

Newhaven Display International, Inc Galvin Ct. Elgin IL, Ph: Fax:

Product Specification

Input Channels: 4 differential or four single-ended. Address / Baud rate / range configurable by the user

LK User Manual. LK rev 4 1

Diagnostic Port Serial Interface for Capacitance Diaphragm Gauges

Transcription:

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.html 1

Document Revision History Revision Date Author Description 1.0 Sep 21, 2015 Victor.He Create file 2

Contents Document Revision History 2 1. Introduction 2 2. Specifications 3 3. Demonstrations 4 3.1 With Arduino 4 3.1.1 Demo 1: Display 'Hello World' In Normal Mode 4 3.1.2 Demo 2: Display Hello World in Inverse Mode 6 3.1.3 Demo 3: Print Numbers 7 3.1.4 Demo 4: Draw Binary Bitmap 8 4. Reference 12 5. With Raspberry Pi 15 6. Resources 16 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. Copyright The design of this product (including software) and its accessories is under tutelage of laws. Any action to violate relevant right of our product will be penalized through law. Please consciously observe relevant local laws in the use of this product. 1

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. Communicate Mode: I2C Grayscale Display: 16 Gray shades. Supports both Normal and Inverse Color Display. Supports Continuous Horizontal Scrolling. Grove compatible Interface Please notice: heavy impact or stress on the OLED will cause the breakdown of screen. 2

2. Specifications Operating Voltage 3.3~5V Dot Matrix 128 x 64 Display Color OLED Display Driver IC Dot Size Dot Pitch 16 Grayscale LY120-96096 SSD1327Z 0.15(W)mm X 0.15 (H)mm 0.17(W)mm X 0.175 (H)mm Operating Temperature -40 ~70 3

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.h> #include <SeeedGrayOLED.h> #include <avr/pgmspace.h> void setup() 4

Wire.begin(); SeeedGrayOled.init(); //initialize SEEED OLED display SeeedGrayOled.clearDisplay(); //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.putString("Hello World"); //Print Hello World void loop() Output Hello World on Normal Display 5

3.1.2 Demo 2: Display Hello World in Inverse Mode #include <Wire.h> #include <SeeedGrayOLED.h> #include <avr/pgmspace.h> void setup() Wire.begin(); Serial.begin(9600); SeeedGrayOled.init(); SeeedGrayOled.setInverseDisplay(); SeeedGrayOled.clearDisplay(); SeeedGrayOled.setVerticalMode(); // initialize SEEED OLED display // Set display to inverse mode // Clear Display. // 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.putString("Hello World"); //Print Hello World void loop() Output 6

Hello World on Normal Display 3.1.3 Demo 3: Print Numbers #include <Wire.h> #include <SeeedGrayOLED.h> void setup() Wire.begin(); SeeedGrayOled.init(); //initialize SEEED Gray OLED display SeeedGrayOled.clearDisplay(); SeeedGrayOled.setNormalDisplay(); SeeedGrayOled.setVerticalMode(); //clear the screen and set start position to top left corner //Set display to Normal mode // Set to vertical mode for displaying text SeeedGrayOled.setTextXY(0,0); SeeedGrayOled.putNumber(123); SeeedGrayOled.setTextXY(1,0); SeeedGrayOled.putNumber(0xFFFF); //Set the cursor to 0th line, 0th Column //Print number //Set the cursor to 1st line, 0th Column //Print number 7

SeeedGrayOled.setTextXY(2,0); SeeedGrayOled.putNumber(0xFFFFFFFF); SeeedGrayOled.setTextXY(3,0); SeeedGrayOled.putNumber(-12345); //Set the cursor to 2nd line, 0th Column //Print number //Set the cursor to 3rd line, 0th Column //Print number void loop() Output Hello World on Normal Display 3.1.4 Demo 4: Draw Binary Bitmap #include <Wire.h> #include <SeeedGrayOLED.h> #include <avr/pgmspace.h> static unsigned char SeeedLogo[] PROGMEM = 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 8

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, 0x00, 0x00, 0x38, 0x0F, 0x00, 0x01, 0xE0, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x0F, 0x00, 0x01, 0xE0, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x0F, 0x80, 0x01, 0xE0, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x0F, 0x80, 0x01, 0xE0, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x0F, 0x80, 0x03, 0xE0, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x07, 0x80, 0x03, 0xE0, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x07, 0x80, 0x03, 0xE0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x07, 0x80, 0x03, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x87, 0xC0, 0x07, 0xC1, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x83, 0xC0, 0x07, 0x83, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xC3, 0xC0, 0x07, 0x87, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE1, 0xE0, 0x07, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0xE0, 0x0F, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF8, 0xF0, 0x0E, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF8, 0x70, 0x1C, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x30, 0x18, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x18, 0x30, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x88, 0x21, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xC4, 0x47, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x0F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x60, 0x00, 0x7E, 0x3F, 0x0F, 0xC3, 0xF0, 0xFA, 0x0F, 0xDF, 0xE1, 0x9F, 0xEC, 0x7E, 0xE6, 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x1C, 0xDF, 0xE1, 0xB9, 0xEC, 0xE7, 0xE0, 0x61, 0xD8, 0x66, 0x1B, 0x86, 0x1C, 0x06, 0x61, 0xB0, 0x6D, 0xC3, 0x7C, 0x7F, 0xFF, 0xFF, 0xFF, 0x06, 0x0F, 0x86, 0x61, 0xB0, 0x6D, 0x83, 0x3E, 0x7F, 0xFF, 0xFF, 0xFF, 0x06, 0x07, 0xC6, 0x61, 0xB0, 0x6D, 0x83, 0xC3, 0x61, 0x18, 0x46, 0x03, 0x86, 0x18, 0x66, 0x61, 0xB0, 0x6D, 0xC3, 0xFE, 0x7F, 0x9F, 0xE7, 0xF9, 0xFE, 0x1F, 0xE6, 0x3F, 0x9F, 0xEC, 0xFE, 0x7E, 0x3F, 0x0F, 0xC3, 0xF0, 0xFA, 0x0F, 0xC6, 0x3F, 0x9F, 0xEC, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 9

; 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x20, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x20, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xF3, 0xCF, 0x70, 0x9E, 0x79, 0xE7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7D, 0x9E, 0x68, 0x20, 0xB2, 0xC8, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x9E, 0x6F, 0x20, 0xB2, 0xF9, 0xE7, 0x80, 0x00, 0x00, 0x00, 0x00, 0x46, 0x9A, 0x61, 0x20, 0xB2, 0xCB, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xF3, 0xCF, 0x30, 0x9E, 0x79, 0xE7, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x02, 0x00, 0x00, 0x82, 0x60, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x40, 0x40, 0x02, 0x00, 0x00, 0x83, 0x60, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x40, 0x60, 0xB7, 0x79, 0xE7, 0x81, 0xC7, 0x92, 0x70, 0x89, 0xE7, 0x9E, 0x78, 0x7C, 0xE2, 0xC9, 0x2C, 0x81, 0xCC, 0xD2, 0x40, 0xFB, 0x21, 0xB2, 0x48, 0x40, 0x62, 0xF9, 0x2C, 0x80, 0x8C, 0xD2, 0x40, 0x8B, 0xE7, 0xB0, 0x48, 0x40, 0xE2, 0xC9, 0x2C, 0x80, 0x84, 0xD2, 0x40, 0x8B, 0x2D, 0x92, 0x48, 0x7D, 0xB3, 0x79, 0x27, 0x80, 0x87, 0x9E, 0x40, 0x8D, 0xE7, 0x9E, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 void setup() Wire.begin(); SeeedGrayOled.init(); // initialize SEEED OLED display SeeedGrayOled.clearDisplay(); // clear the screen and set start position to top left corner //Draw binary Bitmap SeeedGrayOled.drawBitmap(SeeedLogo,96*96/8); // Draw binary Bitmap (96 pixels *96 pixels / 8) bytes void loop() Output 10

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). 11

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.init(); 2. cleardisplay() //initialze SEEED Gray OLED display Clears the whole screen. Should be used before starting a fresh start or after scroll deactivation. This function also sets the cursor to top left corner. SeeedGrayOled.clearDisplay(); 3. setnormaldisplay() //clear the screen and set start position to top left corner Configures the display to normal mode(non-inverse) mode. SeeedGrayOled.setNormalDisplay();//Set display to normal mode (i.e non-inverse mode) 4. setcontrastlevel(unsigned char ContrastLevel) Set the contrast ratio of OLED display. ContrastLevel can be any number from 0-255. SeeedGrayOled.setContrastLevel(127); //Set display contrast ratio to half level( i.e 256/2-1 ). 5. setinversedisplay()) Configures the display to inverse mode. SeeedGrayOled.setInverseDisplay(); 6. sethorizontalmode() //Set display to inverse mode Configures the display to horizontal addressing mode. 12

SeeedGrayOled.setHorizontalMode(); 7. setverticalmode() //Set addressing mode to Horizontal Mode Configures the display to vertical addressing mode. Texts are drawn in vertical mode. Please set the display to vertical mode before printing text. SeeedGrayOled.setVerticalMode(); 8. settextxy(x,y) //Set addressing mode to Vertical Mode 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. This row and column should not be confused with OLED Row and Column. X can be any number from 0-11. Y can be any number from 0-11. SeeedGrayOled.setTextXY(0,0); 9. putchar(unsigned char c) //Set the cursor to 0th Text Row, 0th Text Column Print a character to OLED display starting from current address-pointer set by settextxy(x,y). This function is internally used by putstring(). SeeedGrayOled.putChar('S'); //Print the character S 10. putstring(cont char *string) Print string to OLED display starting from current address-pointer set by settextxy(x,y) SeeedGrayOled.putString("Hello World!"); //Print the String 11. putnumber(long n) Print numbers to OLED display starting from current address-pointer set by settextxy(x,y). Number can be any char,int or long datatype. It also takes care of -ve sign. SeeedGrayOled.putNumber(-56123); //Print number -56123 12. drawbitmap(unsigned char *bitmaparray,int bytes) Display a binary bitmap on the OLED matrix. The data is provided through a pointer to 13

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. SeeedGrayOled.drawBitmap(SeeedLogo,96*96/8); // Draw binary Bitmap (96 pixels *96 pixels / 8) bytes 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. Direction can be any of Scroll_Left and Scroll_Right. startrow can be 0-127 endrow can be 0-127. It should be greater than startrow startcolumn can be 0-63 endcolumn can be 0-63. It should be greater than startrow scrollspeed can be any of defines:scroll_2frames,scroll_3frames,scroll_4frames,scroll_5frames,scroll_25frames,scroll_ 64Frames,Scroll_128Frames,Scroll_256Frames. SeeedGrayOled.setHorizontalScrollProperties(Scroll_Left,72,95,0,47,Scroll_5Frames); //Set the properties of Horizontal Scroll 14. activatescroll() Enable scrolling. This should be used only after setting horizontal scroll properties. SeeedGrayOled.activateScroll(); 15. deactivatescroll() //Enable scrolling. Disable scrolling. This should be used after activatescroll(); SeeedGrayOled.activateScroll(); //Disable scrolling. 14

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.oled_cleardisplay() grove_oled.oled_setnormaldisplay() grove_oled.oled_setverticalmode() time.sleep(.1) for i in range(0,12): grove_oled.oled_settextxy(i,0) grove_oled.oled_putstring("hello World") 5. Run the demo. sudo python grove_i2c_oled_96x96_hello_world.py 15

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.zip 16