×

MyLCD20x4时钟的BME280原理

消耗积分:0 | 格式:zip | 大小:0.00 MB | 2023-06-21

分享资料个

在可以通过记录足够长的时间的湿度来解决公寓内湿度的调解之后,我现在已经扣留了我借来的材料。检查此项目中的历史记录。

那么如何处理 BME280 传感器呢?答案很明显:要显示测量值。思考,完成:我是 LCD16x2 在表示中经常太小,所以我决定使用下一个更大的 LCD20x4。

我们看看如何使用 BME280 测量值(温度、湿度、气压),并可以将其与来自 Particle Photon 机载功能的信息(在本例中为时间、“德语”中的工作日和日历周)相结合。

总而言之,您将获得一款带有增值信息的数字手表,它是根据您的要求量身定制的,而且价格非常便宜。

原理图:BME280 传感器和 LCD20x4 均通过 I2C 接口控制(之前将 I2C 适配器板焊接到 LCD)。

Particle Photon 为 D1 和 D0 提供 SCL 和 SDA。

// LIBs 
#include  
#include  
// Objects 
LiquidCrystal_I2C *lcd; 
Adafruit_BME280 bme; // I2C 
// I2C wiring 
#define BME_MOSI D0 
#define BME_SCK D1 

我的挑战是用德语介绍工作日。我在 Particle 文档中搜索了当时的区域设置;除了时区,我一无所获。所以我通过一个 IF / THEN 子句来分析工作日。

 // https://docs.particle.io/reference/firmware/photon/#weekday- 
 int wDayName = Time.weekday(); 
 if (wDayName != wDayName) 
 { 
     lcd->clear(); 
 } 
 if (wDayName == 1)  
 { 
     Wochentag = "Sonntag"; 
 } 
 else if (wDayName == 2)  
 { 
     Wochentag = "Montag"; 
 } 
 else if (wDayName == 3)  
 { 
     Wochentag = "Dienstag"; 
 } 
 else if (wDayName == 4)  
 { 
     Wochentag = "Mittwoch"; 
 } 
 else if (wDayName == 5)  
 { 
     Wochentag = "Donnerstag"; 
 } 
 else if (wDayName == 6)  
 { 
     Wochentag = "Freitag"; 
 } 
  else if (wDayName == 7)  
 { 
     Wochentag = "Samstag"; 
 } 

如果您的显示器不显示任何字符,您可以在此项目中找到帮助:Whats my I2C address?

如果您更喜欢使用 OLE 显示器,可以在此处查看此项目:BME280 measures and displays on OLED controlled by Photon。

结论

喜欢我的描述吗?你会在我的帐户下找到更多。

关注我,在我发布新项目时得到通知!

这是我的贝宝链接。

你也可以给我发送传感器,我有时喜欢看。

更新于 26.08.2017 - v1.1

添加时间检查以清除 LCD 显示屏 - 否则周名将刻录到 LCD 中,例如 Donnerstag 比 Freitag 长

更新于 08.01.2018 - v1.2

添加函数 isDST() 以检查夏季/冬季时区

2018 年 10 月 25 日更新 - 3D 打印输出的 STL 文件

您将在附件中找到用于存放组件的 STL 文件。

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !