详解Arduino GY-30数字光强传感器应用
时间:2022-07-27 18:30:00
数字传感器是指通过安装或改造传统的模拟传感器A/D主要包括:放大器、A/D转换器、微处理器(CPU)、在微处理器和传感器变得越来越便宜的今天,全自动或半自动(通过人工指令进行高级操作,自动处理低级操作)系统可以包含更多的智能功能,并从其环境中获得和处理更多不同的参数。
特点
1、先进的A/D转换技术和智能滤波算法技术和智能滤波算法仍能保证输出码的稳定性。
可行的数据存储技术,确保模块参数不会丢失。
3.良好的电磁兼容性。
4、传感器的性能采用数字误差补偿技术和高度集成的电子元件,实现了线性、零点、温度漂移、蠕变等性能参数的综合补偿,消除了人为因素对补偿的影响,大大提高了传感器的综合精度和可靠性。
5.传感器的输出一致性误差可达0.在02%以内甚至更高,传感器的特性参数可以完全相同,因此具有良好的互换性。
6、采用A/D转换电路、数字信号传输和数字滤波技术,增加了传感器的抗干扰能力,提高了传感器的稳定性。
7.数字传感器可以自动收集数据,并且可以预处理、存储和记忆,并且有唯一的标记,便于故障诊断。
8.传感器采用标准数字通信接口,可直接连接到计算机或标准工业控制总线,方便灵活。
数字传感器是将军AD,EPROM,DIE(指未封装的传感器芯片,属于裸片,大小介于cell和chip之间),一起包装PCB,金属块或陶瓷板的集成。通过校准各种温度和压力点来计算DIE线性,再利用AD补偿方法加工而成。
应用及前景
在微处理器和传感器变得越来越便宜的今天,自动或半自动系统可以包含更多的智能功能,从其环境中获得和处理更多不同的参数(通过人工指令进行高级操作和低级操作)。MEMS(微机电系统)技术使数字传感器体积很小,能耗和成本都很低。纳米传感器由纳米碳管或其他纳米材料制成,也具有巨大的潜力 1 。
即使在萌芽阶段,人们仍然认为数字传感器在不久的将来将在促进电子市场方面发挥重要作用。制作数字传感器接口和支持数字传感器网络的各种形式的通信协议是对技术过程的巨大挑战。传感器的不均匀性及其操作条件的多样化也对技术过程提出了巨大的挑战。
现在越来越多的传感器和处理器包含在系统设计中。随着传感器和处理器价格的下降,取代机械控制结构的阈值也在发生变化。选择正确的传感器组合和处理算法可以显著降低原材料和能耗的成本,提高系统的整体性能。目前,越来越重要的是不断提高操作的简化程度,延长能源的使用寿命,特别是越来越多的传感器网络通常配备1000或更多的传感器节点。
GY-30数字光强传感器通过I2C接入通信协议Arduino过程中的一些问题和解决方案:
网上流行两个版本:
我用版本一的代码发现不对。串口打印总是显示光强度为 0 ,这很奇怪。我研究了很长时间,去了 Wire 这个库文件看函数实现,后来发现
Wire.requestFrom(ADDR,2); // 2byte every time
这一行代码有问题。
这个 requestFrom
网上对它的描述是:
Wire.requestFrom()
描述:
主设备要求从设备的字节中使用read()或available()接受。
Wire.requrstFrom(addtess,quanTIty)
Wire.requrstFrom(addtess,quanTIty,stop)
参数 :
addtess : 7位设备地址
quanTIty : 要求的数量 stop :布尔形,‘1’
请求结束后,发送停止命令并释放总线。0继续发送请求以保持连接。
返回:
从机接收到的字节形 。
但是没有提到,要用 requestFrom 前后必须加:
Wire.beginTransmission(ADDR);
Wire.endTransmission();
这两句话是数据的开始和结束。
也就是将 requestFrom 这行代码可以从设备发送数据到主设备
也就是 gy30(从设备到 arduino 板(主设备)传输光强的采集量
Wire.beginTransmission(ADDR);
Wire.requestFrom(ADDR,2);
Wire.endTransmission();