DHT11数据 显示到 LCD12864 上面
本人小白,正在自学LCD12864,然后试试将DHT11上的数据打印到LCD12864屏幕上面。因为初学,如有不足,欢迎指教。先说一下环境:
Arduin IDE版本:1.6.13
Arduino Mega 2560 点击购买
DHT11模块 点击购买
LCD12864 点击购买
接线的话,DHT11模块我接在了数字27端口上。
下面是代码,我在我这里是成功运行的。
//******************************
//*Abstract: Read value of temperature and humidity of air
//* and print data on LCD 12864 screen.
//*
//*Version:V1.0
//*Author:Ran Tao @ UOW
//*Date:December.20.2016
//******************************
//导入LCD12864驱动库和DHT11库
#include <U8glib.h>
#include <dht11.h>
//创建一个u8g(LCD12864)对象
U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // U8GLIB_PCD8544(sck/sclk, mosi/sdin, ce/sce, d0/dc, reset)
//创建一个DHT11对象
dht11 DHT11;
//设置DHT11 数字端口:D27
#define DHT11_PIN 27
//自定义一个函数来检测传感器是否正常
void checkData(int chk){
if(chk!=0){
//当chk为:-2时,表示传感器连接异常
//传感器连接正常时,chk应为:0
u8g.setPrintPos(0,15);
u8g.print("Error Code: ");
u8g.setPrintPos(35,35);
u8g.print(chk);
u8g.drawStr(0, 55, "Read Data Error!");
}else{
drawScreen();
}
}
//自定义一个函数用来打印屏幕
void drawScreen(){
drawTitle();
drawData();
u8g.setFont(u8g_font_unifont);
u8g.drawStr(0, 55, "Hello World!");
}
//自定义一个函数用来打印温度湿度标题
void drawTitle(){
//设置文本字体
u8g.setFont(u8g_font_unifont);
//指定位置打印字符串
//语法:
// LCD对象名.drawStr(X轴位置, Y轴位置, "要打印的内容");
u8g.drawStr(0, 18, "TMP:");
u8g.drawStr(0, 36, "HMD:");
u8g.drawStr(68, 18, "C");
u8g.drawStr(68, 36, "%");
}
//自定义一个函数用来打印数据
void drawData(){
//设置文本字体
u8g.setFont(u8g_font_unifont);
//对下文内容设置起始位置
//语法:
// LCD对象名.setPrintPos(X轴位置, Y轴位置)
u8g.setPrintPos(48,18);
//打印到LCD屏幕上
//语法:
// LCD对象名.print(变量名,字符串)
//注意: 使用前需要使用setPrintPos()函数来设置位置
u8g.print(DHT11.temperature);
u8g.setPrintPos(48,36);
u8g.print(DHT11.humidity);
}
void setup(){
//屏幕内容旋转180°
u8g.setRot180();// rotate screen
}
void loop(){
//从传感器端口读取数据
int check = DHT11.read(DHT11_PIN);
// u8g loop
u8g.firstPage();
drawScreen();
do {
checkData(check);
} while( u8g.nextPage() );
//每秒刷新一次
delay(1000);
}
后面还会更新详细的LCD12864使用说明,感觉官方给的文档太少,所以自己也找来了一些资料。后面分享给大家。
我已经把u8glib库文件上传到了百度网盘。
u8glib 库文件下载地址: https://pan.baidu.com/s/1pLcwDLp]百度网盘
请问你的两个库文件如何下载安装? 直接在arduino加载zip就行了 挺棒的
页:
[1]