Arduino温度计
使用设备:
esp8266 Arduino开发板
1602A液晶屏
DHT11温湿度传感器
DC多路输出
先展示一下成果:
开发板连线:
屏幕与开发板的接线:
屏幕 | -> | 开发板 |
---|---|---|
RS | -> | D8 |
E | -> | D9 |
D4 | -> | D4 |
D5 | -> | D5 |
D6 | -> | D6 |
D7 | -> | D7 |
屏幕与电源的连接:
屏幕 | -> | 电源 |
---|---|---|
VSS | -> | GND |
VDD | -> | 5V |
VO | -> | GND |
RW | -> | GND |
A | -> | 5V |
K | -> | GND |
温度传感器输出端接入到开发板D15
以上只是本人的接法,如果需要调整屏幕对比度等需要外接电阻调整.
## 程序编写:
首先要在Arduino里面安装'LiquidCrystal'和'DHT'这两个库.
直接上源码:
#include <LiquidCrystal.h>//记得安装库
#include <DHT.h>//同上
#define DHTPIN D15 //传感器输出针接口
#define DHTTYPE DHT11 //传感器
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(D8,D9,D4,D5,D6,D7); //LCD:RS,E,D4,D5,D6,D7
void setup()
{
Serial.begin(9600);//与计算机串口通讯
dht.begin(); //DHT
lcd.begin(16,2);//16*2== x*y(x,y)屏幕
}
void loop() {
float h = dht.readHumidity();//读湿度
float t = dht.readTemperature();//读温度
int u = h;
Serial.print("温度:");
Serial.print(t);
Serial.print("湿度:");
Serial.println(u);
lcd.clear();//清屏
lcd.print("Temperature:");//显示内容
lcd.print(t);//显示温度
lcd.setCursor(1, 1);//(x,y)光标开始
lcd.print("Humidity:");//“显示内容”
lcd.print(u);//显示湿度
delay(2000);//等待2s(等传感器再次采样)
}
总体就是先定义屏幕和传感器的针脚,使用现成的库去读取温度和湿度,接着将lcd清屏,输出温湿度.
应该很好理解,就不做解释了.
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
测试评论