Arduino框架下轻量级ssd1306 I2C屏幕驱动库
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino框架下轻量级ssd1306 I2C屏幕驱动库相关的知识,希望对你有一定的参考价值。
Arduino框架下轻量级ssd1306 I2C屏幕驱动库
OLED_I2C库
用于
I2C
的多平台库支持128x32
和128x64
像素的SSD1306 oled
- 下载地址: http://www.rinkydinkelectronics.com/library.php?id=80
开发板型号支持
- ESP8266
- ESP32
- avr
- ARM
- pic32
对于国内大部分玩家来说,基本都是前面4种的开发需求。
功能函数介绍
- 公有类函数
OLED(uint8_t data_pin, uint8_t sclk_pin, uint8_t rst_pin);
OLED(uint8_t data_pin, uint8_t sclk_pin);
boolean begin(uint8_t dtype = SSD1306_128X64);
void update();
void setBrightness(uint8_t value);
uint8_t getDisplayHeight();
void clrScr();
void fillScr();
void invert(bool mode);
void rotateDisplay(bool rot);
void sleepMode(bool mode);
void setPixel(uint16_t x, uint16_t y);
void clrPixel(uint16_t x, uint16_t y);
void invPixel(uint16_t x, uint16_t y);
void invertText(bool mode);
void print(const char *st, int x, int y);
void print(String st, int x, int y);
void printNumI(long num, int x, int y, int length=0, char filler=' ');
void printNumF(double num, byte dec, int x, int y, char divider='.', int length=0, char filler=' ');
void setFont(uint8_t* font);
void drawBitmap(int x, int y, uint8_t* bitmap, int sx, int sy);
void drawLine(int x1, int y1, int x2, int y2);
void clrLine(int x1, int y1, int x2, int y2);
void drawRect(int x1, int y1, int x2, int y2);
void clrRect(int x1, int y1, int x2, int y2);
void drawRoundRect(int x1, int y1, int x2, int y2);
void clrRoundRect(int x1, int y1, int x2, int y2);
void drawCircle(int x, int y, int radius);
void clrCircle(int x, int y, int radius);
参考OLED_I2C库文件下的OLED_I2C.pdf文档
begin()
//初始化函数
参数:
SSD1306_128X32
:32
SSD1306_128X64
:64
print(); printNumI() ; printNumF();
//初始化函数
参数:
LEFT:
:0
RIGHT
:9999
CENTER
:9998
sleepMode()
//初始化函数
参数:
SLEEP_ON
:true
SLEEP_OFF
:false
setFont()
//初始化函数
参数:
TinyFont
SmallFont
MediumNumbers
BigNumbers
OLED(Data, Clock, [Reset]);
//指定I2C引脚
参数:
Data
: Pin for Data transfer
Clock
: Pin for Clock signal
Reset
: Pin for Reset <可选>
setBrightness(value);
//设置亮度(0-255)
参数:
value
: Specify a value to use for brightness (0-255)
getDisplayHeight();
无参数。
int y_pix = myOLED. getDisplayHeight(); // Get the height of the display in pixel
rotateDisplay(value);
参数:
value
:
true
- Rotate the output to the display 180°
false
– Disable display rotation
update();
//显示更新函数fillScr();
//填充屏幕显示invert(mode)
//反色显示
参数:
mode
:
true
- Invert the display
false
– Normal display
图像绘制函数
setPixel(x, y);
//画点clrPixel(x, y);
//清除指定点invPixel(x, y);
//指定点颜色取反print(st, x, y);
//字符串显示printNumI(num, x, y[, length[, filler]]);
printNumF(num, dec, x, y[, divider[, length[, filler]]]);
invertText(mode);
如果使用了 print(), printNumI() and printNumF() 可以使用此函数来清除以上内容。
invertText(mode);
drawLine(x1, y1, x2, y2)
//划线函数clrLine(x1, y1, x2, y2)
//画圆函数drawRect(x1, y1, x2, y2);
//画矩形clrRect(x1, y1, x2, y2);
//清除矩形区域内的显示drawRoundRect(x1, y1, x2, y2);
//绘制带圆角的矩形clrRoundRect(x1, y1, x2, y2);
//清除带圆角的矩形drawCircle(x, y, radius);
//绘制圆clrCircle(x, y, radius);
//清除圆内的显示drawBitmap (x, y, data, sx, sy);
//显示位图
以上是关于Arduino框架下轻量级ssd1306 I2C屏幕驱动库的主要内容,如果未能解决你的问题,请参考以下文章
Arduino STM32F103C8T6 驱动ssd1306 I2C oled
STM32F103C8T6在Arduino框架下驱动ssd1306 0.96“ IIC OLED显示
Arduino ESP32 0.96OLED I2C屏幕驱动显示