arduino使用oled代码_如何做一个Arduino无线气象站

今天我们来介绍如何利用DHT22传感器测量室外温度和湿度,并使用NRF24L01收发器模块将该数据无线发送到室内单元。在室内单元中,还有一个用于测量室内温度和湿度的DHT22传感器,以及一个DS3231实时时钟模块,即使Arduino断电,该模块也可以跟踪时间。所有这些数据都打印在0.96英寸OLED显示器上。

2e7d5eb35ca0cf9cf5df42d982c4acda.png

Arduino无线气象站电路图

让我们看一下电路图以及该项目的工作方式。

c8eb0ba4b2b6c20e7f560975b51e4f35.png

实时时钟模块和OLED显示屏均使用I2C协议与Arduino通信,因此它们都连接到Arduino Nano板上的I2C引脚或4和5的模拟引脚。NRF24L01收发器模块旁边有一个电容器,以保持其电源稳定。DHT22数据引脚上还连接了一个上拉电阻,以使传感器正常工作。

至于电源,我们为室内机配置了12V直流电源适配器,另一方面,为室外机供电时,使用了两节可产生约7.5V电压的锂电池。通过这种配置,室外机可以在电池放电之前运行约10天,因为我们会定期传输数据,与此同时,我们将Arduino置于睡眠模式,此时功耗仅为7mA左右。

接着我们设计好PCB 并印出来

acb438725aa7268b432535e6b35370c1.png
574f6475478ddedab8b6f6748be3b364.png

好了,我们现在开始通过将引脚头焊接到PCB上来组装该项目的电子组件。这样,可以在需要时轻松地连接和断开组件。

4ab15ce4a5ad5764bf48f537c03a8071.png

然后,我们还插入并焊接了电容器和上拉电阻。完成此步骤后,现在我们可以简单地将组件连接到PCB的排针上。

51794246955288b021f4796efe5bfd68.png

接下来,我们选用8mm刻度MDF板,利用圆锯将所有部件切成事先定好的尺寸。

aeec79c292f687fde9d0d5fd16b71b41.png

为了进行准确的温度和湿度测量,箱子的侧面必须允许空气进入箱子。因此,需要用钻子和粗锉刀在室内机和室外机的侧板上都开几个槽。

a54a6600250b4f3c775841ca0b12fcd6.png

我们还在前面板上为OLED显示屏制作了一个插槽,并切成一小块铝,将其尺寸固定,然后将其作为装饰贴在前面板上。

b2f14b66bc7cc5915833c14c0f63d82d.png

为了组装箱子,使用了木胶和一些夹子,以及一些螺丝。自己动手时能组个木箱出来就好了,材料倒没什么特别的限制。

accf2e87b1d53f4b1c69bb14267c6a23.png

为了更加的美观,我们用喷漆为箱子涂了油漆我在室外机上使用了白色涂料,在室内机上使用黑色涂料。油漆变干后,我们只需将PCB插入外壳即可。

cc2237c6322bdc28b6f5cfada71c2e7e.png

我们在室内机的背面插入了电源插孔和电源开关,在室外机上,使用了一根简单的跳线作为电源开关

81944107995d7090fa573fac0456397f.png

这下我们的Arduino无线气象站就组装完成了。代码部分我们将放在文章末尾处,在下一条的视频里可更多详细的操作

e201530a1faf89e53956a0ab2454e023.png

关注风火轮,技术之路常相伴,我们下期见!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Arduino,ESP8266和ThingSpeak的IoT无线气象站。 硬件部件 乐鑫Wemos D1 Mini× 1个 DHT11温湿度传感器(4针) × 1个 Seeed Grove-气压计传感器(BMP280)× 1个 软件应用程序和在线服务 ThingSpeak API Arduino IDE 全球变暖导致了不可预测的气候;世界各地的研究人员正在使用气象站来观察记录并分析天气模式,以研究气候变化并提供天气预报。这些气象站通常由很少的传感器来测量环境参数,以及监测或测井系统来分析这些参数。在本教程中,我们将学习如何构建基于无线物联网的气象站,该气象站可以测量关键的环境参数,例如温度,湿度和压力。同样,由于我们的气象站已启用IoT,因此我们可以将这些参数发送到ThingSpeak通道(IoT云),在这里我们可以远程存储,分析和访问数据。较早使用Raspberry Pi的气象站,这与该项目非常相似。 我们将使用Arduino开发板以及DHT11传感器,BMP180传感器和ESP8266 wifi模块。DHT11传感器感应温度和湿度,而BMP180传感器计算压力,ESP8266用于互联网连接。在我们之前的项目中,我们已经学会了使用DHT11传感器通过Arduino监视温度和湿度,在此项目中,我们将添加另一个传感器(BMP180)以使用Arduino制作一个完整的气象站。将这些数据发送到ThingSpeak可以在世界任何地方进行实时监视,我们还可以查看记录的数据,这些数据将存储在他们的网站上,甚至可以随着时间的流逝绘制图表进行分析。 电路原理图 基于Arduino的IoT Weather Station的完整电路如下所示。 DHT11传感器由Arduino的5V引脚供电,其数据引脚连接到引脚5,以进行一条线通信。BMP180传感器由Arduino的3.3V引脚供电,其数据引脚SCL(串行时钟)和SDA(串行数据)连接至Arduino的A4和A5引脚以进行I2C通信。 ESP8266模块还由Arduino的3.3V引脚供电,其Tx和Rx引脚连接到Arduino的数字引脚2和3进行串行通信。您可以使用下表作为建立连接的参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值