Arduino驱动oled

该文介绍了如何使用ArduinoNano(Atmega168p)和u8g2库来驱动128x64分辨率的SSD1306I2C显示屏。由于内存限制,选择了u8g2而非gfx库。文中提供了初始化代码和显示“HelloWorld!”的示例,并提醒用户注意选择正确的屏幕驱动。
摘要由CSDN通过智能技术生成

1.模块介绍

I2C显示屏(驱动为ssd1306,分辨率为128*64)

 Arduino nano(Atmega168p)

2.模块连接

参考开发板管教定义图可知SCL、SDA应该连接A5、A4。

oled开发板
GNDGND
VCC3-5V
SCLA5
SDAA4

3.安装u8g2库

这里之所以使用u8g2库是因为Atmega168p的flash只有16k,运行gfx等图形库内存会不足,显示一些文字还是没问题的。

4.运行代码


#include <Arduino.h>
#include <U8g2lib.h>

#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif

U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); 

void setup(void) {
  u8g2.begin();  
}

void loop(void) {
  u8g2.firstPage();
  do {
    u8g2.setFont(u8g2_font_ncenB10_tr);
    u8g2.drawStr(0,24,"Hello World!");
  } while ( u8g2.nextPage() );
}

除了此代码自己也可以选择u8g2库的其他示例代码。

注意要选择相应的屏幕驱动,此oled驱动为。

U8G2_SSD1306_128X64_NONAME_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); 

最后上传验证

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值