【Arduino】使用LCD1602和DHT11制作温湿度显示器
来源:互联网 发布:淘宝网外贸原单店铺 编辑:程序博客网 时间:2024/05/18 00:21
材料:
1.DHT11
2.LCD1602
3.LCD1602 转接板
4.Arduino UNO
5.Arduino 传感器扩展版
那个Arduino UNO 我当初挑类个便宜的山寨货买,结果发来和正版的长得一样 O(∩_∩)O吓死我了,,,,
double Fahrenheit(double celsius) { return 1.8 * celsius + 32;} //摄氏温度度转化为华氏温度double Kelvin(double celsius){ return celsius + 273.15;} //摄氏温度转化为开氏温度// 露点(点在此温度时,空气饱和并产生露珠)// 参考: [url=http://wahiduddin.net/calc/density_algorithms.htm]http://wahiduddin.net/calc/density_algorithms.htm[/url] double dewPoint(double celsius, double humidity){ double A0= 373.15/(273.15 + celsius); double SUM = -7.90298 * (A0-1); SUM += 5.02808 * log10(A0); SUM += -1.3816e-7 * (pow(10, (11.344*(1-1/A0)))-1) ; SUM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)))-1) ; SUM += log10(1013.246); double VP = pow(10, SUM-3) * humidity; double T = log(VP/0.61078); // temp var return (241.88 * T) / (17.558-T);}// 快速计算露点,速度是5倍dewPoint()// 参考: [url=http://en.wikipedia.org/wiki/Dew_point]http://en.wikipedia.org/wiki/Dew_point[/url]double dewPointFast(double celsius, double humidity){ double a = 17.271; double b = 237.7; double temp = (a * celsius) / (b + celsius) + log(humidity/100); double Td = (b * temp) / (a - temp); return Td;}#include <dht11.h>#include <Wire.h>#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line displaydht11 DHT11;#define DHT11PIN 2void setup(){ lcd.init(); // initialize the lcd lcd.backlight(); lcd.print("Waiting..."); Serial.begin(9600); }void loop(){ int chk = DHT11.read(DHT11PIN); switch (chk) { case DHTLIB_OK: lcd.setCursor(0, 0); lcd.print("Temp:"); lcd.print((float)DHT11.temperature,2); lcd.write(0xDF); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("Humidity:"); lcd.print((float)DHT11.humidity,2); lcd.print("%"); break; case DHTLIB_ERROR_CHECKSUM: lcd.clear(); lcd.print("Checksum error"); delay(1000); lcd.clear(); break; case DHTLIB_ERROR_TIMEOUT: lcd.clear(); lcd.print("Time out error"); delay(1000); lcd.clear(); break; default: lcd.clear(); lcd.print("Unknown error"); delay(1000); lcd.clear(); break; } delay(1000);}
0 0
- 【Arduino】使用LCD1602和DHT11制作温湿度显示器
- Arduino使用温湿度传感器DHT11
- 20141116 【 Arduino - DHT11 】 温湿度传感器DHT11使用
- 使用Arduino与DHT11监测温湿度
- 使用Arduino与DHT11监测温湿度
- 使用Arduino与DHT11监测温湿度
- 使用Arduino与DHT11监测温湿度
- DHT11 温湿度传感器使用 - arduino - avr
- Arduino Uno 和 DHT11/DHT22 温湿度传感器
- Arduino - DHT11温湿度传感器
- arduino DHT11 温湿度传感器
- Arduino使用DHT11温湿度传感器获取环境温湿度
- DHT11 温湿度传感器 Arduino 库
- arduino学习系列——DHT11温湿度传感器的使用
- Arduino使用温湿度传感器DHT11(补充说明)
- Arduino -- DHT11温湿度传感器自动发微博
- Arduino 温湿度传感器DHT11模块实验
- Arduino制作温湿度计
- VS2005、VS2008、VS2010、VS2012解决方案和工程项目文件转换方法
- 阿里云系统yunOs应用开发调研
- XML中的转义字符
- NSString / NSData / char* 类型之间的转换
- 设计模式: 单件(singleton)模式(2015-04-29 11:46)
- 【Arduino】使用LCD1602和DHT11制作温湿度显示器
- 王艾辉:请注意 不要追空 只提示一次 !(午间策略)
- 马哥linux运维公开课第三季—《自动化运维之jumpserver跳板机剖析》
- C#_DllImport用法和路径问题
- 2.1 opencv中的IplImage
- PlaySound
- C# string格式的日期时间字符串转为DateTime类型
- php get post
- javascript中的后退和刷新