1.模块介绍
I2C显示屏(驱动为ssd1306,分辨率为128*64)
Arduino nano(Atmega168p)
2.模块连接
参考开发板管教定义图可知SCL、SDA应该连接A5、A4。
oled | 开发板 |
---|
GND | GND |
VCC | 3-5V |
SCL | A5 |
SDA | A4 |
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);
最后上传验证
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)