如何使用两个dht传感器及HC12模块制作远程气象站?

描述

在本教程中,我们将学习如何使用两个dht传感器,HC12模块和I2C LCD制作远程远程气象站

步骤1:您需要什么

硬件部件:

传感器

DHT11温湿度传感器(3针) × 1个

DHT22温湿度传感器 × 1个

Arduino UNO × 2

Adafruit HC-12模块× 2

字母数字LCD,20 x 4 × 1个

跳线(通用) × 1个

软件应用程序和在线服务:

Arduino IDE

步骤2:电路-发送器

传感器

将HC-12引脚[VCC]连接到Arduino引脚[5V]

将HC-12引脚[GND]连接到Arduino引脚[GND]

将HC-12引脚[TX]连接到Arduino引脚[RX]

将HC-12引脚[RX]连接到Arduino引脚[TX]

将DHT22(或任何其他DHT传感器)引脚输出连接到Arduino Digital引脚3

将DHT22引脚VCC(+)连接到Arduino引脚5V

将DHT22引脚GND(-)连接到Arduino引脚GND

注意:在Visuino中上传代码时,请确保断开Arduino引脚[RX]的连接,并在上传后将其重新连接回去。

步骤3:电路-接收器

传感器

将HC-12引脚[VCC]连接到Arduino引脚[5V]

将HC-12引脚[GND]连接到Arduino引脚[GND]

将HC-12引脚[TX]连接到Arduino引脚[RX]

将HC-12引脚[RX]连接到Arduino引脚[TX]

将LCD显示引脚[VCC]连接到Arduino引脚[5V]

将LCD显示引脚[GND]连接到Arduino引脚[GND]

将LCD显示引脚[SDA]连接到Arduino引脚[SDA]

将LCD显示引脚[SCL]连接到Arduino引脚[SCL]

将DHT11(或任何其他DHT传感器)引脚输出连接到Arduino Digital引脚2

将DHT11引脚VCC(+)连接到Arduino引脚5V

将DHT11引脚GND(-)连接到Arduino引脚GND

注意:在Visuino中上传代码时,请确保断开Arduino引脚[RX]的连接,并在上传后将其重新连接回去。

第4步:发送方-在Visuino中添加,设置和连接组件

传感器

添加“脉冲发生器”组件,然后在属性窗口中将频率设置为5Hz

添加“湿度和温度计DHT11 / 21/22 / AM2301”组件,然后在属性窗口中选择类型,在本例中为DHT22

添加“ Analog To Analog Array”,然后在属性窗口中将Input Pins设置为2

添加“数据包”组件,双击它,然后在“元素”窗口中将“模拟数组”拖到左侧,然后关闭“元素”窗口。

将PulseGenerator1引脚输出到湿度温度计1引脚时钟和Packet1引脚时钟

将HumidityThermometer1引脚传感器连接到Arduino Digital引脚3

将HumidityThermometer1引脚温度连接到AnalogToAnalogArray1引脚[0]和引脚Clock

将HumidityThermometer1引脚的湿度连接到AnalogToAnalogArray1引脚[1]和引脚Clock

将AnalogToAnalogArray1连接至Packet1》 Analog Array1引脚

将Packet1引脚输出连接到Arduino Serial [0]引脚输入

步骤5:接收器-在Visuino中添加和设置组件

添加“脉冲发生器”组件,然后在属性窗口中将频率设置为5

添加“湿度和温度计DHT11 / 21/22 / AM2301”组件,并在属性窗口中设置“类型”(在本例中为DHT11)

添加“液晶显示器(LCD)-I2C”组件,然后在属性窗口中将“列数”设置为20,将“行数”设置为4

双击“ LiquidCrystalDisplay1”,然后在“元素”窗口中将“文本字段”拖到左侧,然后在属性窗口中将宽度设置为20

在“元素”窗口中,将另一个“文本字段”拖到左侧,然后在属性窗口中,将“行”设置为1,将宽度设置为20

在“元素”窗口中,将另一个“文本字段”拖到左侧,然后在属性窗口中,将“行”设置为2,将宽度设置为20

在“元素”窗口中,将另一个“文本字段”拖到左侧,然后在属性窗口中,将“行”设置为3,将宽度设置为20

关闭元素窗口

添加4X“格式化文本”组件,并在属性窗口中将每个文本设置为:%0%1

双击“ FormattedText1 ”,然后在“元素”窗口中将“文本元素”拖到左侧,然后在属性窗口中将“初始值”设置为:内部TEMP:在“元素”窗口中,还将“模拟元素”拖到左侧,并在在属性窗口中将Precision设置为2关闭Elements窗口双击“ FormattedText3”,然后在Elements窗口中将“ Text Element”拖到左侧,然后在属性窗口中将Initial Value设置为:Out TEMP:在Elements窗口中也拖动“ “模拟元素”的左侧,然后在属性窗口中将“精度”设置为2双击Unpacket1,然后在“元素”窗口中拖动模拟阵列向左sideClose元素windowClose要件windowAdd“模拟阵列要模拟”分量和在属性窗口组输出引脚2

双击“ FormattedText2”,然后在“元素”窗口中将“文本元素”拖到左侧,然后在属性窗口中将“初始值”设置为:内部HUM:在“元素”窗口中,还将“模拟元素”拖到左侧并在在属性窗口中将Precision设置为2关闭Elements窗口

关闭元素窗口

双击“ FormattedText4”,然后在“元素”窗口中将“文本元素”拖到左侧,然后在属性窗口中将“初始值”设置为:Out HUM:在“元素”窗口中还将“模拟元素”拖到左侧,并在在属性窗口中将Precision设置为2关闭Elements窗口

添加“拆包”组件

步骤6:接收器-Visuino Connect组件中

传感器

将“ PulseGenerator1 ”引脚连接到“ HumidityThermometer1 ”引脚时钟

将“ HumidityThermometer1 ”引脚传感器连接到Arduino Digital引脚2

将“ HumidityThermometer1 ”引脚温度连接到“ FormattedText1 ”》 Analog Element1引脚输入和引脚时钟

将“ HumidityThermometer1 ”引脚湿度连接到“ FormattedText2 ”》 Analog Element1引脚输入和引脚时钟

将Arduino Serial [0]引脚输出连接到“ Unpacket1 ”引脚输入

连接“ Unpacket1 ”》 AnalogArray1引脚输出到“ AnalogArrayToAnalog1 ”引脚输入

将“ AnalogArrayToAnalog1 ”引脚[0]连接到“ FormattedText3 ”》 Analog Element1引脚输入和引脚时钟

将“ AnalogArrayToAnalog1 ”引脚[1]连接到“ FormattedText4 ”》 Analog Element1引脚输入和引脚时钟

将“ FormattedText1 ”引脚连接到“ LiquidCrystalDisplay1 ”》“文本字段1 ”引脚

将“ FormattedText2 ”引脚连接到“ LiquidCrystalDisplay1 ”》“文本字段2 ”引脚

将“ FormattedText3 ”引脚连接到“ LiquidCrystalDisplay1 ”》“文本字段3 ”引脚输入

将“ FormattedText4 ”引脚连接到“ LiquidCrystalDisplay1 ”》“文本字段4”引脚输入

将“ LiquidCrystalDisplay1 ”引脚I2C输出连接到Arduino引脚I2C输入

步骤7:生成,编译和上传Arduino代码

对于发送方和接收方:

在Visuino中,在底部单击“构建”选项卡,确保选择了正确的端口,然后单击“编译/构建和上载”按钮。

很重要!确保在上传代码时,Arduino上的Pin RX断开连接,并在上传后将其重新连接。

步骤8:播放

如果为两个Arduino UNO模块供电,接收器上的显示器将开始显示两个传感器的温度和湿度。您可以将发送器放在外面,并且可以监视内部和外部温度。

恭喜你!您已经完成了Visuino的项目。
       责任编辑:pj

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

全部0条评论

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

×
20
完善资料,
赚取积分