基于雅虎天气, ST7735/7735S 和 DHT11 的树莓派的实时温度屏

2017-01-02 16:42:48 +08:00
 mingl0280

几个月之前搞了个这玩意儿,可以实时显示当前的气温(来自雅虎天气)和室内的气温与湿度。

代码: https://github.com/mingl0280/WpiWeather

代码写得有点乱……


需要的库有:

wiringPi, tft_st7735, curl, xml2, ssl, png, pthread


接线:

ST7735/ST7735S

LCD, VCC 3.3v

SCK(SCL) GPIO 19 串行时钟信号

SDA GPIO 13 数据

AO(RS) GPIO 17 数据或命令切换

RESET(RST) GPIO 27 复位

CS GPIO 23 片选

GND 任意接地口 接地

DHT11

VCC 任意 5v 口

DATA 任意 GPIO 口(可在代码中修改)

备注:需用 4.7K (官方手册 5.1K ,实际上大于 3K 都够……注意线路长度不要太长)上拉电阻连接到 VCC 

GND 任意接地口


参考了 Mango Love Carrot 的树莓派各种教程( http://blog.mangolovecarrot.net/categories/%E6%A0%91%E8%8E%93%E6%B4%BE/)

4797 次点击
所在节点    Raspberry Pi
10 条回复
xmoiduts
2017-01-02 17:06:52 +08:00
dht11 精度太低了,或许需要对数据进行(滤波?)
emric
2017-01-02 17:40:08 +08:00
推荐 BMP280 , 0.5° 误差、 0.01° 精度, 7 块钱(没有气压)。
springmarker
2017-01-02 20:23:28 +08:00
dht11 错误率高, dht22 应该好点😭我的 dht22 还没正式用就烧了
deyu260
2017-01-02 20:30:37 +08:00
mark
mingl0280
2017-01-03 04:24:32 +08:00
@xmoiduts 我这里倒是有个代码是自适应数据过滤的但是效果并不好(阈值效果比较好,大概一百次里面出错 5 次?没检查过),不过反正出错就重读……这玩意儿也不要求特别精确的时间对吧……
mingl0280
2017-01-03 04:27:50 +08:00
@emric 感觉没必要搞那么高精度 23333
xmoiduts
2017-01-03 08:17:54 +08:00
@mingl0280 不是出错问题。如果你绘制过图表就会发现,温度曲线仿佛 pwm 信号一样上下跳动。实际使用其实没什么。
mingl0280
2017-01-23 09:54:56 +08:00
@xmoiduts 我猜是因为 dht11 不能连续读数据的问题,官方文档要求至少两次读之间有 5s 的间隔,否则读出来的数据就不对……
xmoiduts
2017-01-23 13:10:19 +08:00
@mingl0280 我记得最小间隔是 2s 啊。另外上下跳动的范围在 1 度以内
mingl0280
2017-01-23 17:17:53 +08:00
@xmoiduts 5s ,这个是 DHT11/22 文档里写的。估计跳动也是这个原因……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/331727

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX