为了实现一个基于无线网络的检测网,在8088芯片上测试了BH1750的光照强度检测功能。
光传感器与开发板的连接关系为:
SCL ---GPIO3
SDA--- GPIO4
由于是采用GPIO口模拟I2C的方式来实现,所做的相关引脚定义如下:
与驱动OLED屏不同,在驱动BH1750进行光强检测时,需要对数据引脚进行工作模式的切换,故为其配置了2个模式设置函数,其内容如下:
输入模式设置函数:
输出模式设置函数:
BH1750的初始化函数为:
BH1750的读取函数为:
BH1750的写入函数为:
实现光强检测与输出的函数为:
实现测试的主程序为:
经程序的编译与下载,其运行结果如图1和图2所示。
图1 夜晚灯光亮度测试结果
图2 变化亮度测试结果
原以为它可以很方便的移到终端的8288上,仔细看一下它的扩展引脚才发现,已没有空闲的GPIO口了,没办法只能向LED占用的引脚下手了,其中SCL连接GPIO3,SDA连接GPIO2。
由于该开发板并未提供可用的电源引脚,故从调试器打开来引入电源,见图3所示。
图3 传感器连接
经实际测试,其光强检测功能也是可以实现的,在白天室内光强检测结果如图4所示。
图4 终端的光强检测
有了OLED屏的显示驱动及BH1750对环境亮度的接触,就可以结合二次开发技术来构建无线光照强度检测网了,及在终端侧来检测光强,在基站则以OLED屏来显示各站点的检测值。
更多回帖