Arduino开发(一)——0.96寸OLED显示屏

Arduino开发——0.96寸OLED显示屏显示中英文字符

最近的工程设计做了一个基于Arduino的无线温湿度检测器,顺便把Arduino编程和几个模块学了一下。首先是OLED液晶屏的使用,在这里做简要笔记。

开发环境配置

我们需要从这里下载Arduino IDE。
在这里插入图片描述
然后我们需要导入几个必要的库文件。
从这里下载一个OLED.zip的压缩包,里面有Adafruit_GFXAdafruit_SSD1306两个文件夹,将其拷贝到Arduino的安装路径下的libraries文件夹下。
https://pan.baidu.com/s/1XulEM3pJ8m4BpACVFFkZVg

上机调试

板子和OLED的接线。我的Arduino UNO引出来了SCL和SDA的针脚,就直接用排针相连了。

  • OLED --> Arduino
  • VCC --> 3.3v or 5v
  • GND --> GND
  • SCL --> SCL
  • SDA --> SDA
    打开Print.inoCtrl+U烧录程序,应该就可以显示在液晶屏上了。
//显示中英文字符程序#include 
#include 
#include 
#include #define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);#define LOGO16_GLCD_HEIGHT 16 //定义显示高度
#define LOGO16_GLCD_WIDTH  16 //定义显示宽度//中文:中  (存储点阵变量,用函数display.drawBitmap()调用即可)
static const unsigned char PROGMEM str_1[] =
{ 
0x00,0x00,0x0F,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0x0F,0x00,0x00,0x00,
0x00,0x00,0xF0,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,0x00
};//中文:国
static const unsigned char PROGMEM str_2[] =
{ 
0x00,0x7F,0x40,0x48,0x49,0x49,0x49,0x4F,0x49,0x49,0x49,0x48,0x40,0x7F,0x00,0x00,
0x00,0xFF,0x02,0x12,0x12,0x12,0x12,0xF2,0x12,0x52,0x32,0x12,0x02,0xFF,0x00,0x00
};#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endifvoid setup()   {                Serial.begin(9600);// by default, we'll generate the high voltage from the 3.3v line internally! (neat!)display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3D (for the 128x64)// init donedisplay.clearDisplay(); //清屏//英文字符显示,直接用display.println或print显示字符串就行//println换行,print不换行display.setTextSize(1);             //设置字体大小display.setTextColor(WHITE);        //设置字体颜色白色display.setCursor(0,0);             //设置字体的起始位置display.println("Hello, world!");   //输出字符并换行display.setTextColor(BLACK, WHITE); //设置字体黑色,字体背景白色 display.println(3.141592);          //输出数字并换行display.setTextSize(2);             //设置字体大小display.setTextColor(WHITE);        //设置字体白色display.print("0x");                //输出字符display.println(0xDEADBEEF, HEX);   //输出为ASCII编码的十六进制//display.display();                  //显示以上//中文字符显示display.drawBitmap(26, 32, str_1, 16, 16, 1); //在坐标X:26  Y:16的位置显示中文字符凌display.drawBitmap(42, 32, str_2, 16, 16, 1); //在坐标X:42  Y:16的位置显示中文字符顺display.display();                  //把缓存的都显示
}void loop() {}

字模软件

用压缩包里的zimo221.exe可以生成任意符号的字模点阵数据,将其替换到程序中就可以显示任意字符了。
在文字输入区输入字符,并按CTRL+ENTER结束,此时生成了字符的点阵像素。
在这里插入图片描述
点击左侧的取模方式,选择C51格式,即可生成每个字符的点阵信息。
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部