回答

收藏

【赚周年币】fireduino-驱动OLED

#线上活动 #线上活动 2376 人阅读 | 0 人回复 | 2016-12-25

接上一篇帖子
四周年庆-【赚周年币】fireduino-介绍Rockchip NanoD-爱板网论坛 - 电子工程师学习交流园地 https://www.cirmall.com/bbs/thread-59208-1-1.html

看了如下网友帖子,我也来一发OLED
【新提醒】四周年庆-【赚周年币】Fireduino A3.SPI方式驱动OLED屏幕-爱板网论坛 - 电子工程师学习交流园地 https://www.cirmall.com/bbs/thread-59205-1-1.html

我使用0.96液晶模块,是一款控制器为 SSD1306,分辨力为 128*64 点阵 OLED 显示模块,有蓝色、白色、黄蓝双色。显示模块具有以下特点:
A、采用 3.3V 供电:VCC=3.3V-5V
B、支持 4 线 SPI、I2C 等通讯方式。出厂默认设置为 SPI 通讯。可通过短接背面电阻切换至IIC模式。
C、工作温度:-40℃~70℃,存储温度:-40℃~85℃。
4.通讯配置说明
    通讯方式
        S1
        R6
    4线SPI
   短接到SPI一边
    ---------
      IIC
   短接到ICC一边
       短接

1、先在u8glib的官方网站下载u8glib的库。
2. 解压文件到arduino IDE安装目录的libraries目录下。
3、连接OLED到fireduino

注意7脚OLED的引脚含义
D0 时钟线
D1 数据线
RST 复位线
DC 数据/命令线
CS 片选线

接线如下,少一个排针,便把地接到UART口

显示,大家2017“Happy New yaer”

程序如下
  1. void draw(void) {
  2.   u8g.setFont(u8g_font_unifont);
  3.   u8g.drawStr( 0, 22, "Happy new year!");
  4. }

  5. void setup(void) {
  6. if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
  7.     u8g.setColorIndex(255);     // white
  8.   }
  9.   else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
  10.     u8g.setColorIndex(3);
  11.   }
  12.   else if ( u8g.getMode() == U8G_MODE_BW ) {
  13.     u8g.setColorIndex(1);
  14.   }
  15.   else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
  16.     u8g.setHiColorByRGB(255,255,255);
  17.   }
  18. }

  19. void loop(void) {
  20.   u8g.firstPage();  
  21.   do {
  22.     draw();
  23.   } while( u8g.nextPage() );

  24.   delay(50);
  25. }
复制代码

评分

参与人数 1 +20 收起 理由
loveeeboard + 20

查看全部评分

分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条