Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h> // * I2C Mode
- #define OLED_Address 0x3c
- #define OLED_Command_Mode 0x80
- #define OLED_Data_Mode 0x40
- void setup()
- {
- Wire.begin();
- }
- void loop()
- {
- // * I2C initial * //
- delay(100);
- sendCommand(0x2A); // ** Set "RE"=1 00101010B
- sendCommand(0x71);
- sendCommand(0x5C);
- sendCommand(0x28);
- sendCommand(0x08); // ** Set Sleep Mode On
- sendCommand(0x2A); // ** Set "RE"=1 00101010B
- sendCommand(0x79); // ** Set "SD"=1 01111001B
- sendCommand(0xD5);
- sendCommand(0x70);
- sendCommand(0x78); // ** Set "SD"=0
- sendCommand(0x08); // ** Set 5-dot, 3 or 4 line(0x09), 1 or 2 line(0x08)
- sendCommand(0x06); // ** Set Com31->Com0 Seg0->Seg99
- // ** Set OLED Characterization * //
- sendCommand(0x2A); // ** Set "RE"=1
- sendCommand(0x79); // ** Set "SD"=1
- // ** CGROM/CGRAM Management * //
- sendCommand(0x72); // ** Set ROM
- sendCommand(0x00); // ** Set ROM A and 8 CGRAM
- sendCommand(0xDA); // ** Set Seg Pins HW Config
- sendCommand(0x10);
- sendCommand(0x81); // ** Set Contrast
- sendCommand(0xFF);
- sendCommand(0xDB); // ** Set VCOM deselect level
- sendCommand(0x30); // ** VCC x 0.83
- sendCommand(0xDC); // ** Set gpio - turn EN for 15V generator on.
- sendCommand(0x03);
- sendCommand(0x78); // ** Exiting Set OLED Characterization
- sendCommand(0x28);
- sendCommand(0x2A);
- //sendCommand(0x05); // ** Set Entry Mode
- sendCommand(0x06); // ** Set Entry Mode
- sendCommand(0x08);
- sendCommand(0x28); // ** Set "IS"=0 , "RE" =0 //28
- sendCommand(0x01);
- sendCommand(0x80); // ** Set DDRAM Address to 0x80 (line 1 start)
- delay(100);
- sendCommand(0x0C); // ** Turn on Display
- // ******************************************************************//
- // ** Show Data Value * //
- send_string("Micro Robotics");
- sendCommand(0xC0); // ** New Line
- send_string("OLED Display");
- //sendCommand(0x01); // ** Clear display
- while(1);
- // ** Show Data Value * //
- // ******************************************************************//
- }
- void sendData(unsigned char data)
- {
- Wire.beginTransmission(OLED_Address); // ** Start I2C
- Wire.write(OLED_Data_Mode); // ** Set OLED Data mode
- Wire.write(data);
- Wire.endTransmission(); // ** End I2C
- }
- void sendCommand(unsigned char command)
- {
- Wire.beginTransmission(OLED_Address); // ** Start I2C
- Wire.write(OLED_Command_Mode); // ** Set OLED Command mode
- Wire.write(command);
- Wire.endTransmission(); // ** End I2C
- delay(10);
- }
- void send_string(const char *String)
- {
- unsigned char i=0;
- while(String[i])
- {
- sendData(String[i]); // * Show String to OLED
- i++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement