NanoFramework操作ESP32(一)_基础元器件篇(九)_双色屏(0.96寸OLED显示屏_IIC接口SSD1306驱动)

一、元器件介绍

1、针脚用途

编号 名称 功能
1 GND 电源池
2 VCC 电源正
3 SCL IIC时钟线
4 SDA IIC数据线

2、电气参数

二、示例代码

  视频地址:【双色屏(SSD1306驱动)】 、【C#操作双色屏_优化帧率-哔哩哔哩】 

1、接线

编号 ESP32 元器件
1 GND GND
2 3V3 VCC
3 22 SCL(IIC时钟线 )
4 21 SDA(IIC数据线)

2、初始化屏幕的方法

  SSD1306Helper.SSD1306Screens_Init();  // 初始化屏幕

3、控制屏幕上像素点的原理

  屏幕分辨率为128x64;存储屏幕像素点缓存内容的RAM为GDDRAM;分为8页(PAGE0~PAGE7;每8行为一页)。每页内 1个SEG对应1Byte数据,一页由 128 Byte 组成,若要显示整个屏幕,则需要128*8=1024Byte(1KB)。

4、亮屏、灭屏的方法

  SSD1306Helper.SSD1306Screens_ON();   // 亮屏
  SSD1306Helper.SSD1306Screens_OFF();  // 灭屏

5、画线示例

  // 画线
  SSD1306Helper.DrawHLine(0, 0, 128);
  SSD1306Helper.DrawVLine(127, 0, 64);
  SSD1306Helper.DrawVLine(0, 0, 64);
  SSD1306Helper.DrawHLine(0, 55, 128);

6、图案示例

  SSD1306Helper.SSD1306Screens_Clear();
  SSD1306Helper.DrawCircle(63,27,10);          // 圆
  SSD1306Helper.Display();

  SSD1306Helper.SSD1306Screens_Clear();
  SSD1306Helper.DrawFilledCircle(63, 27, 10);  // 实心圆
  SSD1306Helper.Display();

  SSD1306Helper.SSD1306Screens_Clear();
  SSD1306Helper.DrawRectangle(40, 20, 30, 30);        // 矩形
  SSD1306Helper.Display();

  SSD1306Helper.SSD1306Screens_Clear();
  SSD1306Helper.DrawFilledRectangle(40, 20, 30, 30);  // 实心矩形
  SSD1306Helper.Display();

  SSD1306Helper.SSD1306Screens_Clear();
  SSD1306Helper.DrawRoundRect(40, 20, 30, 30, 8);        // 圆角矩形
  SSD1306Helper.Display();

  SSD1306Helper.SSD1306Screens_Clear();
  SSD1306Helper.DrawRoundFilledRect(40, 20, 30, 30, 8);  // 实心圆角矩形
  SSD1306Helper.Display();

  SSD1306Helper.SSD1306Screens_Clear();
  SSD1306Helper.DrawTriangle(60, 20,40, 45, 80, 45);  // 三角形
  SSD1306Helper.Display();

7、展示字符

  // 画字
  SSD1306Helper.DrawText(1,1, "BiliBili22382243".ToCharArray(),2);
  SSD1306Helper.Display();
posted @   ꧁执笔小白꧂  阅读(213)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示