极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 32119|回复: 15

用OLED和DHT11做的温度湿度计

[复制链接]
发表于 2014-7-12 21:56:19 | 显示全部楼层 |阅读模式
OLED用的SH1106驱动,驱动库是U8glib和dht11,板是ARDUINO-ZION
废话少说上代码,代码是在论坛上早的,自已修改了下
u8g没有中文字,每个字型都是固定大小的,官网有图:
https://code.google.com/p/u8glib/wiki/fontsize
https://code.google.com/p/u8glib/wiki/userreference#getFontAscent这个地址是改字体的。。。
------------------------------------------------------------------------------------------------
#include <dht11.h>
#include <U8glib.h>
dht11 DHT11;
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);//A4、A5分别是SDA=A4和SCL=A5,OLEDSH1106驱动
//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8);
#define DHT11PIN 23
void draw(void)
{
u8g.setFont(u8g_font_gdr25);//字体设置
   //u8g.setPrintPos(15, 10);
  //u8g.print("  Guo&Ping");
   //u8g.print(" temp-humi");
   //u8g.setPrintPos(40, 30);
   u8g.setPrintPos(20, 30);
   int chk = DHT11.read(DHT11PIN);
   delay(100);
   u8g.print((float)DHT11.temperature, 1);
   u8g.setPrintPos(100, 30);
   u8g.print("C");
   delay(5);
   u8g.setPrintPos(20, 58);
   u8g.print((float)DHT11.humidity, 1);

   u8g.setPrintPos(100, 58);
   u8g.print("%");
    delay(200);

}
void setup(void){
}
void loop(void) {
   u8g.firstPage();  
   do {
     draw();
     long x = random(0,127);
     long y = random(51,63);
     
  }
  while( u8g.nextPage() );
   delay(50);
}
--------------------------------------------------------------------------

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2014-7-13 18:09:14 | 显示全部楼层
如果用QC1602显示可以吗?代码要改吗?  (菜鸟一名,初学者,不好意思)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-13 20:46:28 | 显示全部楼层
[email protected] 发表于 2014-7-13 18:09
如果用QC1602显示可以吗?代码要改吗?  (菜鸟一名,初学者,不好意思)

没注意U8库支持部支持1602液晶,好像支持,自已实验下看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-7-13 20:49:04 | 显示全部楼层
用1602液晶要改字体,个人感觉太小了,没什么意思,可以用普通的16824液晶,U8库支持多种液晶的,具体的看下库文件。
回复 支持 反对

使用道具 举报

发表于 2014-7-14 15:51:47 | 显示全部楼层
504835618 发表于 2014-7-13 20:49
用1602液晶要改字体,个人感觉太小了,没什么意思,可以用普通的16824液晶,U8库支持多种液晶的,具体的看下 ...

实验没成功,好像不行。。。。呵。。。 谢谢!
回复 支持 反对

使用道具 举报

发表于 2014-7-15 20:52:33 | 显示全部楼层
1602就不用套u8g了,直接找LiquidCrystal.h
回复 支持 反对

使用道具 举报

发表于 2014-7-15 21:01:08 | 显示全部楼层
才四根线  不错
回复 支持 反对

使用道具 举报

发表于 2014-9-23 07:58:40 | 显示全部楼层
漂亮啊,有空试试,这么大论坛,搜索arduino zion就只找到一个帖子,真稀有啊!
回复 支持 反对

使用道具 举报

发表于 2014-10-5 23:06:01 | 显示全部楼层
能不能把那两个库发下?我在编译的时候出现这样的事。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-6 17:41:36 | 显示全部楼层
49741933o 发表于 2014-10-5 23:06
能不能把那两个库发下?我在编译的时候出现这样的事。。。

论坛里应该都找的到,我上传看看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2014-10-24 23:09:51 | 显示全部楼层
504835618 发表于 2014-10-6 17:41
论坛里应该都找的到,我上传看看

谢谢啦,已经解决了。。
回复 支持 反对

使用道具 举报

发表于 2016-7-29 17:34:06 | 显示全部楼层
刷新速度感人,这样的字体比我的那个漂亮多了。谢谢楼主分享
回复 支持 反对

使用道具 举报

发表于 2016-7-31 16:00:33 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2016-11-3 19:22:05 | 显示全部楼层
OLED能显示几行汉字???
回复 支持 反对

使用道具 举报

发表于 2016-11-22 18:08:49 | 显示全部楼层
long x = random(0,127);
long y = random(51,63);
这两句是什么意思??
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 20:47 , Processed in 0.068208 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表