arduino OLED显示汉字和传感器的模拟值(0.96寸OLED 12864显示屏IIC接口)

图片发自App

U8glib库参考文档:

http://www.geek-workshop.com/thread-10634-1-1.html

OLED显示屏接线和基本测试

http://www.jianshu.com/p/01828256b373

汉字取模方法:

http://www.jianshu.com/p/3477a8eb29cf (与图片取模方法类似,直接打字即可)


arduino OLED显示汉字和传感器的模拟值

程序如下:

//这个程序只是一个汉字和数值动图显示的演示。

//用汉字取模软件“字模提取V2.2”得到汉字的编码,具体方法参加上一篇文章
#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);  // I2C / TWI 
#define word1W 16 //定义第一个汉字的宽度
#define word1H 16 //定义第一个汉字的高度
#define word2W 16 //定义第二个汉字的宽度
#define word2H 16 //定义第二个汉字的高度
//第一个汉字的编码
static unsigned char word1[] U8G_PROGMEM = {
0x00,0x00,0xBE,0x7F,0xA2,0x00,0xA2,0x00,0xA2,0x00,0xBE,0x3F,0x88,0x20,0x88,0x20,
0xBA,0x20,0x8A,0x20,0x8A,0x3F,0x8A,0x00,0xBA,0x00,0x87,0x00,0x80,0x7F,0x00,0x00};
//第二个汉字的编码
static unsigned char word2[] U8G_PROGMEM = {
0x40,0x00,0x80,0x00,0xFF,0x7F,0x00,0x00,0x28,0x0A,0xC8,0x09,0x28,0x0A,0xF8,0x0F,
0x80,0x00,0xFE,0x3F,0x42,0x20,0x22,0x22,0xF2,0x27,0x22,0x24,0x02,0x28,0x02,0x10};
//绘画第一个汉字的子程序
void word1draw(void) {
  // graphic commands to redraw the complete screen should be placed here  
  u8g.drawXBMP( 0, 0,word1W,word1H, word1);//x坐标0,y坐标0,宽度,高度,编码word1
}
//绘画第二个汉字的子程序
void word2draw(void) {
  // graphic commands to redraw the complete screen should be placed here  
  u8g.drawXBMP( 18, 0,word2W,word2H, word2);//x坐标18,y坐标0,宽度,高度,编码word2
}

void setup(void) {
 }

void loop(void) {
  // picture loop
  int val = analogRead(0);//获取A0模拟值 赋值给val
  u8g.firstPage();  
  do {
    word1draw();//调用绘画第一个汉字的子程序显示汉字
    word2draw();//调用绘画第二个汉字的子程序显示汉字
    u8g.setFont(u8g_font_fub30);//设置字体和自号,目前测试字号有fub14,17,20,30,49n
    u8g.setPrintPos(0, 50); //显示的位置
    u8g.print(val);//显示变量val的值
    u8g.setFont(u8g_font_fub14);//设置字体和自号,目前测试字号有fub14,17,20,30
    u8g.setPrintPos(95, 50); //显示的位置
    u8g.print("cm");//显示单位
  } while( u8g.nextPage() );
  
  // rebuild the picture after some delay
  delay(500); //数值刷新延迟时间
}

你可能感兴趣的:(arduino OLED显示汉字和传感器的模拟值(0.96寸OLED 12864显示屏IIC接口))