基于zigbee CC2530和环境光传感器OPT3001实现照度计的设计方案
原标题:基于zigbee CC2530和环境光传感器实现照度计的设计方案
设计简介
本项目是一个基于zigbee CC2530的照度计,传感器使用的是TI的环境光传感器OPT3001。成果如上图所示,关于OPT3001传感器硬件电路设计,可参考《基于ZigBee CC2530 opt3001的环境光传感器设计(附原理图、PCB源文件)》。
本次设计开发平台为嵌入式 IAR Embedded Workbench,该平台适用于8 位、 16 位以及 32 位的微处理器和微控制器。比较其他的ARM 开发环境,IAR 具有入门容易、使用方便和代码紧凑等特点。
关于IAR软件,可参考《Zigbee开发平台的构建》(附安装包)和《IAR集成开发环境入门》。
设计方案
本文以CC2530-ZigBee为控制核心,对从环境光传感器OPT3001 传来的数字信号进行处理,然后通过液晶屏LY-OLED 12854显示出来。系统原理框图如下图所示:
系统原理框图
软件设计
由于ZigBee-CC2530开发板对外没有I2C总线,这里采用的是普通IO口模拟实现I2C通信。
关于如何实现IO口模拟I2C通信的,可点击《OPT3001环境光传感器利用普通IO口模拟实现I2C通信调试心得》。
这里可以用示波器观察SDA、SCL波形,将其与OPT3001数据手册上的波形进行对比,查看数据是否一致(I2C通信是否成功),从而判断程序错误在哪里。
如系统原理框图所示,利用IO口模拟I2C通信成功后,接下来主要进行的就是数据读取转换及显示。OPT3001数据手册上结果转换如下图所示:
为了减小数据类型的出错率,这里对数据逐位处理,直接转换成两个相同的数据类型,然后再计算。
完整的源码可点击附件下载。
结果分析
为了检测上述简易照度计测量出的光照度值是否准确,将特安斯照度计与其一起测量,方便对比。
理论上测试范围为0~83865Lux,因测试环境有限,测试不到大值。借助按键灯和面纸,
测量的40多组数据,部分如下表所示:
照度值比较表
特安斯照度计04.931.15887116216436543660807106212351558CC2530-OPT300104224971112210439546662801106612391562
(完整的测量数据可点击附件下载)
将上述表格数据用折线图表示如下:
通过对比可知,在误差范围内,基于ZigBee CC2530 opt3001的照度值较准确。
附录:(部分测量照片)
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。