504835618 发表于 2014-7-12 21:56:19

用OLED和DHT11做的温度湿度计

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);
}
--------------------------------------------------------------------------

[email protected] 发表于 2014-7-13 18:09:14

如果用QC1602显示可以吗?代码要改吗?(菜鸟一名,初学者,不好意思)

504835618 发表于 2014-7-13 20:46:28

[email protected] 发表于 2014-7-13 18:09 static/image/common/back.gif
如果用QC1602显示可以吗?代码要改吗?(菜鸟一名,初学者,不好意思)

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

504835618 发表于 2014-7-13 20:49:04

用1602液晶要改字体,个人感觉太小了,没什么意思,可以用普通的16824液晶,U8库支持多种液晶的,具体的看下库文件。

[email protected] 发表于 2014-7-14 15:51:47

504835618 发表于 2014-7-13 20:49 static/image/common/back.gif
用1602液晶要改字体,个人感觉太小了,没什么意思,可以用普通的16824液晶,U8库支持多种液晶的,具体的看下 ...

实验没成功,好像不行。。。。呵。。。 谢谢!

Be1ieve 发表于 2014-7-15 20:52:33

1602就不用套u8g了,直接找LiquidCrystal.h

ranqingfa 发表于 2014-7-15 21:01:08

才四根线不错

zion独家 发表于 2014-9-23 07:58:40

漂亮啊,有空试试,这么大论坛,搜索arduino zion就只找到一个帖子,真稀有啊!

49741933o 发表于 2014-10-5 23:06:01

能不能把那两个库发下?我在编译的时候出现这样的事。。。

504835618 发表于 2014-10-6 17:41:36

49741933o 发表于 2014-10-5 23:06 static/image/common/back.gif
能不能把那两个库发下?我在编译的时候出现这样的事。。。

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

49741933o 发表于 2014-10-24 23:09:51

504835618 发表于 2014-10-6 17:41 static/image/common/back.gif
论坛里应该都找的到,我上传看看

谢谢啦,已经解决了。。

木森林的年轮 发表于 2016-7-29 17:34:06

刷新速度感人,这样的字体比我的那个漂亮多了。谢谢楼主分享

bonarm 发表于 2016-7-31 16:00:33

haioufly 发表于 2016-11-3 19:22:05

OLED能显示几行汉字???

haioufly 发表于 2016-11-22 18:08:49

long x = random(0,127);
long y = random(51,63);
这两句是什么意思??
页: [1] 2
查看完整版本: 用OLED和DHT11做的温度湿度计