小E开发板 OLED显示DHT11温湿度
代码如下:
#include <SimpleDHT.h>//温湿度的库 #include <Wire.h> //IIC驱动 #include "SSD1306.h" //显示屏芯片 int pinDHT11 = 5;//温湿度的脚 小E开发板是这个脚5 SimpleDHT11 dht11;//温湿度 SSD1306 display(0x3c, 2, 14);//OLED IIC驱动脚2和14 (小E开发板记得插跳帽) void setup() { Serial.begin(115200);//设置串口波特率 display.init();//初始化 display.flipScreenVertically();//180度翻转屏幕 } void loop() { byte wendu = 0;//温度变量 byte shiduv = 0;//湿度变量 int err = SimpleDHTErrSuccess; if ((err = dht11.read(pinDHT11, &wendu, &shiduv, NULL)) != SimpleDHTErrSuccess) { Serial.print("Read DHT11 failed, err="); Serial.println(err);delay(1000); return; } Serial.print("Sample OK: "); //把int转字符串 char wd[5]; char sd[5]; itoa((int)wendu,wd,10); itoa((int)shiduv,sd,10); display.clear();//清屏 display.setTextAlignment(TEXT_ALIGN_RIGHT);//设置字从右排列 display.setFont(ArialMT_Plain_10);//设置字体 display.drawString(128, 0, "XIAO HE DHT11");//从128开始0行排列 display.setTextAlignment(TEXT_ALIGN_LEFT);//设置从左排列 display.setFont(ArialMT_Plain_16);//设置字体 display.drawString(0, 10, "shidu:");//从0位10行开始显示 display.drawString(42, 10, sd);//从42位10行开始显示 display.setFont(ArialMT_Plain_24);//设置字体 display.drawString(0, 26, "Wendu:"); display.drawString(80, 26, wd); display.setFont(ArialMT_Plain_16); display.drawString(0, 47, "QQ496631085"); display.display();//好像是结束显示 delay(10); }