用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);
}
--------------------------------------------------------------------------
如果用QC1602显示可以吗?代码要改吗?(菜鸟一名,初学者,不好意思) [email protected] 发表于 2014-7-13 18:09 static/image/common/back.gif
如果用QC1602显示可以吗?代码要改吗?(菜鸟一名,初学者,不好意思)
没注意U8库支持部支持1602液晶,好像支持,自已实验下看看 用1602液晶要改字体,个人感觉太小了,没什么意思,可以用普通的16824液晶,U8库支持多种液晶的,具体的看下库文件。 504835618 发表于 2014-7-13 20:49 static/image/common/back.gif
用1602液晶要改字体,个人感觉太小了,没什么意思,可以用普通的16824液晶,U8库支持多种液晶的,具体的看下 ...
实验没成功,好像不行。。。。呵。。。 谢谢! 1602就不用套u8g了,直接找LiquidCrystal.h
才四根线不错 漂亮啊,有空试试,这么大论坛,搜索arduino zion就只找到一个帖子,真稀有啊! 能不能把那两个库发下?我在编译的时候出现这样的事。。。 49741933o 发表于 2014-10-5 23:06 static/image/common/back.gif
能不能把那两个库发下?我在编译的时候出现这样的事。。。
论坛里应该都找的到,我上传看看 504835618 发表于 2014-10-6 17:41 static/image/common/back.gif
论坛里应该都找的到,我上传看看
谢谢啦,已经解决了。。 刷新速度感人,这样的字体比我的那个漂亮多了。谢谢楼主分享 OLED能显示几行汉字??? long x = random(0,127);
long y = random(51,63);
这两句是什么意思??
页:
[1]
2