完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这是我十多年来一直想建立的项目。我终于成功了,我真的很兴奋——一个电池供电的气象站项目。我过去建造过许多气象站项目,但这次不同。它可以在电池上持续数月。原因是它使用的令人惊叹的电子纸显示。让我向你展示我是如何构建这个项目的,以及如何使用相同或相似的显示器来构建自己的项目。 首先,让我解释一下这个项目是什么以及它是如何工作的。 如您所见,我们有一个大型 6 英寸电子纸显示屏,可以显示 7 种颜色,并结合 ESP32 微处理器。在我过去六年使用过的所有电子纸板中,这是最好的。 在显示屏上,我们显示温度、湿度、气压和天气预报。我们从两个传感器获取温度、湿度和气压,并从互联网上获取天气预报。 我们还在此处显示一些图表。显示过去 24 小时温度读数的折线图、显示过去 24 小时湿度读数的条形图以及显示过去 24 小时气压读数的条形图。 在我看来,最后一个条形图是其中最有用的。我们可以获取这些值,并使用特定的算法 Zambretti 算法生成我们自己的天气预报。但这是另一个 Instructable 的主题。 制作材料
自选
第 1 步:Inkplate6 彩色电子纸显示屏这是一个6英寸的彩色电子纸显示板。我已经做了十多年了,我对电子墨水技术及其用途很着迷。如果您不熟悉它,电子墨水显示器只有在更新其内容时才会使用电力,因此即使此设备现在已关闭,它仍然显示此图像。我在这个频道中使用电子墨水显示器构建了许多项目。我一直想要一个多合一的板子。一个包含我构建项目所需的一切的板子,并且易于使用。那么,让我们看看这个板子提供了什么。 首先,该板使用大型彩色电子墨水显示屏。这是我第一次使用彩色电子墨水显示屏,我喜欢它。颜色为任何项目增色不少。该显示器可以显示 7 种不同的颜色。白色、黑色、红色、黄色、蓝色、绿色和橙色。它提供 600x448 像素的分辨率,屏幕刷新率约为 11 秒。由于显示器使用电子墨水技术,因此它仅在刷新内容时才消耗电量,因此,如果我们不一直更新显示器,我们的功耗几乎为零。该板可实现 18μΑs 的深度休眠电流。我喜欢它,我们可以构建可以使用电池持续数月的项目。令人惊奇的东西。 该开发板还具有集成 Wi-Fi 和蓝牙连接的 ESP32 微控制器。我们还可以找到一个SD卡插槽,我们可以在其中存储文件和图像以显示在屏幕上。该板可以通过 USB-C 连接器进行编程和供电,并具有电池充电器和锂聚合物电池。此外,该板还带有一个 RTC 时钟模块,用于跟踪时间并降低功耗。如您所见,该板还为我们提供了许多GPIO引脚来连接我们的传感器和设备。该板还带有一个 3D 打印外壳,如果您想修改它们,也可以在线获取这些文件。创客还能要求什么?我们想要的硬件一切都在这里。 第 2 步:DHT22 传感器DHT22 是一款非常受欢迎的温度和湿度传感器。它价格便宜,易于使用,并且规格声称具有良好的精度和准确性。 DHT传感器由电容式湿度传感器和热敏电阻两部分组成。内部还有一个芯片,可以进行一些模数转换,并输出带有温度和湿度的数字信号。使用任何微控制器都可以很容易地读取数字信号。 DHT22 的特性
与Arduino的连接非常简单。我们将带有 + 号的传感器引脚连接到 Arduino 的 5V 或 3.3V 输出。我们将带有 - 符号的传感器引脚连接到 GROUND。最后,我们将OUT引脚连接到Arduino的任何数字引脚。 为了将DHT22传感器与Arduino一起使用,我们必须使用DHT库。 第 3 步:BMP180 传感器BMP180 是一款低成本、低功耗的数字气压传感器,可通过 I2C 与 Arduino 通信。它通常用于测量大气压力、温度和海拔高度。凭借其高精度和宽测量范围,它是各种应用的宝贵工具,例如天气监测、无人机和其他车辆的高度跟踪以及气候数据收集。BMP180 体积小且易于集成,是 Arduino 项目的热门选择。
第 4 步:连接连接非常简单。我将一些接头引脚焊接到电路板上,并将传感器连接到它们上。 BMP180 传感器使用 I2C 接口,因此我们必须将电源和另外两根电线连接到电路板的 SCL 和 SDA 引脚。 DHT22 传感器需要电源和一根电线,我已将其连接到引脚 IO13。 第 5 步:代码和库为了编译项目,我们需要 4 个库,用于显示器的 Inkplate 库、用于 BMP180 传感器的库、用于 DHT22 传感器的库和用于解析我们从互联网上获得的数据的 ArduinoJson 库。
您可以直接从Arduino IDE下载所有库,因此无需访问任何网站。 该项目的软件由许多文件组成。我决定使用面向对象编程来使这个项目更易于使用。项目的每个功能都有自己的类。因此,我们有一个检索天气预报的类。然后我们有一个读取传感器的类。然后我们有一个类,负责在EEPROM存储器中读取和写入数据。我们需要的另一个类是保存所有历史传感器数据的类,最后是负责在显示器上绘图的类。这样,如果要使用不同的显示器,则只需编写自己的 Display 类。如果你想使用不同的传感器,比如说BMP280,你只需要修改传感器类。所有其他代码都可以正常工作。 您可以在此处找到代码的链接:https://educ8s.tv/arduino-e-paper-weather-station/ 或者在此 GitHub 存储库中:https://github.com/educ8s/Arduino-Color-E-Paper-Weather-Station 它是完全开源的,如果您愿意,您可以使用其他功能对其进行扩展。我很想看看您将以此代码为起点构建什么。 第 6 步:代码的工作原理该项目每六分钟读取一次温度、湿度和压力读数。然后,它进入深度睡眠模式,在此模式下,器件几乎完全禁用,仅消耗 15μA 的电流。显示屏即使处于非活动状态,仍显示先前记录的读数,这是我选择它的主要原因。 由于深度睡眠模式会禁用所有设备内存以节省电量,因此存储在 RAM 中的任何数据都会丢失。因此,在进入睡眠模式之前,我将所有读数保存到设备的 EEPROM 存储器中,这是一种永久存储解决方案。唤醒后,器件会从 EEPROM 检索所有读数并对其进行更新。 每 10 个唤醒周期或 60 分钟,设备就会获取温度、湿度和压力读数,并相应地更新图表。每 60 个唤醒周期或 360 分钟(6 小时),设备连接到互联网以检索天气预报。为了节省电力,此过程限制为每天四次,因为 WiFi 连接会消耗大量能源。 通过实施这些省电策略,电池寿命可以延长数月。我目前正在使用 1200mAh 电池,我会让您了解其使用寿命的最新信息。 总结为了增强设备的外观,是时候将其封闭起来了。我使用的是电路板随附的原始外壳,但如果您愿意,您可以设计和 3D 打印自己的外壳。我只是为传感器从外壳中伸出一个孔,使它们能够有效地收集数据。它放在我的桌子上看起来很酷,我无法停止盯着它看。 这个项目是一个使用Arduino ESP32和彩色电子纸显示屏制作的天气站,它不仅可以显示温度、湿度、气压和天气预报,还能通过图表展示过去24小时的温湿度和气压变化。这个天气站的特点是低功耗,它使用的电子纸显示技术只在更新内容时消耗电力,因此可以实现长达数月的电池续航。另外,它还可以连接到互联网获取实时天气预报,非常适合放在桌面上,随时查看天气变化。
|
|
相关推荐
2 个讨论
|
|
1519 浏览 0 评论
503 浏览 0 评论
1057 浏览 0 评论
开源项目!打造一款FPV头部追踪相机,让你仿佛置身遥控车之中!
1233 浏览 0 评论
1148 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 23:50 , Processed in 0.572422 second(s), Total 43, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号