12405| 3
|
[进阶] DHT11数据 显示到 LCD12864 上面 |
本人小白,正在自学LCD12864,然后试试将DHT11上的数据打印到LCD12864屏幕上面。因为初学,如有不足,欢迎指教。 先说一下环境: Arduin IDE版本:1.6.13 Arduino Mega 2560 点击购买 DHT11模块 点击购买 LCD12864 点击购买 接线的话,DHT11模块我接在了数字27端口上。 下面是代码,我在我这里是成功运行的。 [mw_shl_code=c,true] //****************************** //*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); }[/mw_shl_code] 后面还会更新详细的LCD12864使用说明,感觉官方给的文档太少,所以自己也找来了一些资料。后面分享给大家。 我已经把u8glib库文件上传到了百度网盘。 u8glib 库文件下载地址: [url=https://pan.baidu.com/s/1pLcwDLp]百度网盘[/url] |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed