该项目展示了如何使用MATLAB和Arduino从一组DHT22传感器获取和修复数据,实时绘图并导出结果。
硬件组件:Arduino UNO和Genuino UNO× 1
面包板(通用)× 1
跳线(通用)× 1
DHT22温度传感器× 5
SparkFun按钮开关12mm× 1
电容10μF× 1
电阻1k欧姆× 1
电阻10k欧姆× 5
软件应用程序和在线服务:Arduino IDE
MATLAB
您是否购买了一套温度和湿度传感器,您必须为您的项目选择一个?你不确定他们的读数吗?您需要更正所获取的数据吗?这个项目可以帮到你!
我受到了MATLAB教程的启发,该教程关于使用Arduino实时绘制温度数据。我还有一个带有5个DHT22传感器的包装,我想要一起测试,看它们是否读取相同的值并且它们在制造商规定的公差范围内。
如果您拥有所需的MATLAB软件包并且已在MATLAB脚本中分配了正确的串行端口,则此处上载的代码应该可以正常运行。请参阅附件代码中的注释。
由于MATLAB代码使用循环,因此您可能希望在与串行端口通信时禁用Arduino重置。在GND和RESET之间添加一个10uf电容,如下所述。
用于校准5个传感器读数的数据校正是通过用实验室仪器检查实时值来完成的。就我而言,5号传感器是唯一能够在几种情况下正确读取湿度和温度的传感器。其他传感器测量的湿度值不同,但温度相同。因此,我使用了来自传感器编号5的两次测试中获得的数据来校正其他传感器的湿度读数。在此处上传的代码中,此部分已注释,MATLAB将绘制并导出从传感器获取的数据。无需用户操作。请参阅代码中的注释,如果需要,可根据需要编辑校正功能。
DHT22传感器应该有一个内置电阻,但添加另外10 KOhm电阻不是问题,不应改变读数。