查看: 370|回复: 10

1306oled 有些汉字不显示

[复制链接]

该用户从未签到

发表于 2020-2-13 16:42 | 显示全部楼层 |阅读模式
温度的温出不来 请问下是怎么回事?
//https://pan.baidu.com/s/1nlEqX685XKrC5Z3T4nMGag 提取码:sn42
//可用 温度偏高
#include <dht11.h>                                               //引用dht11库文件,使得下面可以调用相关参数
#define DHT11PIN 2                                             //定义温湿度针脚号为2号引脚
dht11 DHT11;                                                       //实例化一个对象
#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_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);

void setup() {         
  Serial.begin(9600);             //设置波特率参数
  pinMode(DHT11PIN, OUTPUT);     //定义输出口

  pinMode(9, OUTPUT);
  digitalWrite(9, 0);  // default output in I2C mode for the SSD1306 test shield: set the i2c adr to 0
  u8g2.enableUTF8Print();//必须否则中文不显示。
  u8g2.begin();
}

void loop() {                                                    //循环
  int chk = DHT11.read(DHT11PIN);     //将读取到的值赋给chk
  int tem = (float)DHT11.temperature;         //将温度值赋值给tem
  int hum = (float)DHT11.humidity;            //将湿度值赋给hum
  Serial.print("Tempeature:");                //打印出Tempeature:
  Serial.println(tem);                       //打印温度结果
  Serial.print("Humidity:");                //打印出Humidity:
  Serial.print(hum);                        //打印出湿度结果
  Serial.println("%");                     //打印出%
  Serial.println();
  delay(1000);                          //延时一段时间
  u8g2.setFont(u8g2_font_unifont_t_chinese1);
  u8g2.setFontDirection(0);
  u8g2.clearBuffer();
  u8g2.setCursor(0, 15);
  u8g2.print("当前温度:");
  u8g2.print(tem);
  u8g2.print("℃");
  u8g2.setCursor(0, 35);
  u8g2.print("湿度:");
  u8g2.print(hum);
  u8g2.print("%");
  u8g2.sendBuffer();
  delay(1000);
}

1581580284822.jpg
  • TA的每日心情
    奋斗
    2019-12-25 10:13
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2020-2-13 18:01 | 显示全部楼层
    你是用的显示屏自带字库???u8g2显示汉字不是软字库把?

    该用户从未签到

     楼主| 发表于 2020-2-13 21:00 | 显示全部楼层
    jh800215 发表于 2020-2-13 18:01
    你是用的显示屏自带字库???u8g2显示汉字不是软字库把?

    不知道诶
  • TA的每日心情
    奋斗
    2019-12-25 10:13
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2020-2-13 21:22 | 显示全部楼层

    你购买显示屏的介绍发上来看看

    该用户从未签到

     楼主| 发表于 2020-2-14 00:28 | 显示全部楼层
    jh800215 发表于 2020-2-13 21:22
    你购买显示屏的介绍发上来看看

    https://item.taobao.com/item.htm?spm=a1z09.2.0.0.5a3c2e8dsYt0mu&id=545473426260&_u=eahbb0b7044

    买的时候是蓝色的
  • TA的每日心情
    奋斗
    2019-12-25 10:13
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2020-2-14 11:00 | 显示全部楼层
    系统字库不全
  • TA的每日心情

    2020-2-3 18:15
  • 签到天数: 144 天

    [LV.7]常住居民III

    发表于 2020-2-14 23:20 | 显示全部楼层
    你的这块OLED只带少量的汉字,不显示的汉字必须自建。
  • TA的每日心情
    擦汗
    2019-7-29 00:08
  • 签到天数: 47 天

    [LV.5]常住居民I

    发表于 2020-2-15 02:17 | 显示全部楼层
    U8G2 支持汉字时,有不同大小的字库版本。
    小的字库省 FLASH,但是字不全;大的字库字全,但是 FLASH 动不动就上百 KB.

    目测是 LZ 用了小版本的汉字字库,换个字体有望解决(但是 FLASH 可能不够用)

    该用户从未签到

    发表于 2020-2-15 10:18 | 显示全部楼层
    U8g2的中文字是不全的,缺字正常
  • TA的每日心情

    2020-2-3 18:15
  • 签到天数: 144 天

    [LV.7]常住居民III

    发表于 2020-2-15 11:12 | 显示全部楼层
    只显示几个字,可以用取字模然后图形显示。
    如果想显示更多的文字 ,最好自己添加字库。只是初次比较麻烦,不过掌握之后,显示更多的字时就方便了。试了添加字库温、湿、:和 °
    IMG_20200215_110241.jpg


    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    [限时福利]5分钟带你快速了解新一代开发板:M5STACK
    [限时福利]5分钟带你快速
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    天猫精灵接入语音提示找不到该设备?
    天猫精灵接入语音提示找不
    今天又刷了一遍代码,天猫精灵提示 没有找到你要操作的设备! 怎么回事啊??? 折腾
    引入库的问题,不知道怎么叙述 看图吧
    引入库的问题,不知道怎么
    最左边的是主文件 也就是启动的文件 后边三个是引入的 在后边这个文件再引入库就报错
    blinker电源插座
    blinker电源插座
    这台blinker电源插座有blinker控制和手动控制两种工作方式. 1.blinker控制:滑条用于设
    blinker灯、环境传感器套件意见收集
    blinker灯、环境传感器套
    计划春节后推出blinker氛围灯和环境检测套件。 本帖收集相关建议,如若采纳,发红包(
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表