GY-30数字光强传感器通过I²C通信协议接入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();
转向辅助灯和自动转向灯的对比 各有何作用
时间:2026-03-16
浅谈接近与环境光强度数字传感器-APDS9930
时间:2026-03-16
详解DHT11数字温湿度传感器实验
时间:2026-03-16
详解Arduino GY-30数字光强传感器应用
时间:2026-03-16
浅析数字传感器的现在与未来
时间:2026-03-16
浅析CC2530下ZigBee协议栈中添加BH1750数字...
时间:2026-03-16
自动大灯远近光原理 自动大灯正确使用方法
时间:2026-03-16
热电偶为什么要冷端补偿
时间:2026-03-16
ZMOD4410总挥发性有机物和室内空气质量传感...
时间:2026-03-16
矽睿科技完成B轮融资 成立新一届董事会
时间:2026-03-16
玻璃釉电容器的结构与特点
时间:2026-03-05
电阻的标称阻值和允许偏差
时间:2026-03-05
石英灯电子变压器电路原理
时间:2026-03-06
变压器并列运行的条件浅析
时间:2026-03-06
关于STM32WL LSE 添加反馈电阻后无法起振的...
时间:2026-03-05
可调电阻怎么接线
时间:2026-03-05
压敏电阻有正负极吗
时间:2026-03-05
碳膜电阻如何识别_金属膜电阻器和碳膜电阻器...
时间:2026-03-05
晶体三极管放大电路的非线形失真及其解决办...
时间:2026-03-07
怎样测试三极管的好坏,NPN三极管如何知道是...
时间:2026-03-07