哇~系列——气压计:STM32 + ILI9341 + b180 哇~系列来也!接下来我们先来看看项目中所使用的东西。 项目中使用的东西 - s& e6 x+ _! H3 t0 g& K" f9 d硬件组件 Baite Mape迷你STM32F103 3.3V开发板×1 (许多类似的板子应该可以工作,但是当你在ArduinoIDE下使用时,你是独立的) BMP180气压和温度传感器×1 (在eBay或全球速卖通(Aliexpress)上找到的价格便宜得多的设备可能会被使用,但可能没有5V监管机构。像STM32F103这是一个3.3V部分。) ILI9341 TFT GLCD 3.3V SPI背光显示×1 (可从Adafruit,易趣,全球速卖通等。请务必购买9针3.3V SPI版本) 软件应用程序和在线服务 ArduinoIDE 1.7.9 STM32F103 Arduino核心文件 手工工具和制造机器 烙铁(通用) 烙铁(通用) 故事 我为Hackster写了几个气压计项目。Io中和这个类似于GPS时钟的图形气压表,使用的是同样的ILI9341 GLCD显示器,但是这个气压表是独立的,有24小时的图表,你可以很容易地看到长期的气压变化。 正如本文所示,您将连接这个项目。关于ILI9341与Maple Mini的连接的其他阅读材料可以在这里和还是这里找到。此外,您可以在项目加载到编辑器后,在ArduinoIDE中引用“Notes”选项卡;这里提供了一个连接表。 BMP180 I2C协议晴雨表连接枫树Mini图钉15和16,板子上有清晰的标记:I2C1, sda/sdl(数据/时钟)。 实际显示与导入上显示的略有不同……在提供的代码中,我添加了温度;默认的单位是华氏度,但这可以很容易地在代码中修改一行,布尔值华氏度= true; 在24小时运行中,每18分钟绘制一条垂直线表示当前压力高读数。显示器上有80根垂直条的空间,因此80根每条18分钟代表24小时。在绘制屏幕之前,软件移动表示数组值的条:因此,第79条移动到第80条(旧的80被覆盖),然后移动到第78条到第79条,直到第1条移动到第2条。这就完成了价值的滚动,建立了历史。然后将气压计的当前值放在表示bar 1的数组元素中,系统将绘制完整的图。最后,在水平方向上画线表示刚刚绘制的压力数据中的最大值和最小值:绿色表示最低读数,黄色表示所示数据的最高读数。记住,图“向右滚动”每18分钟,因此高/低值是动态的,最近的条在左边。 该图表是为美国乔治亚州亚特兰大记录的高气压值和低气压值而建立的。具体来说,亚特兰大:高= 30.79 /1924年1月6日和低= 29.08 /1918年1月11日。在我居住的地方,有一个当地的机场,NOAA有小时气压可用,所以我不得不调整这行代码来补偿,直到我得到发布的压力来匹配我的显示器:int localCorrect = 3575;这里的含义是,在世界不同的地理区域,可能需要根据这些区域的范围修改图表。如果需要这样做,请熟悉函数:void displayHistory(),它是执行实际映射的工作函数。legend是由void drawLegends()函数添加到显示器上的,因此可以很容易地定制内部存储和数据映射到LCD的工作。 我想你会喜欢你的专用气压表,它很容易成为权威,不管头痛是与工作有关还是与天气有关。哇。希望你玩得开心! |
BP180_GLCD_24.zip
下载35 KB, 下载次数: 16
嘿嘿
图片的分辨率是低了点,哈哈哈