基于zigbee CC2530和环境光传感器实现照度计的设计

电子说

1.2w人已加入

描述

设计简介

本项目是一个基于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

系统原理框图

软件设计

由于ZigBee-CC2530开发板对外没有I2C总线,这里采用的是普通IO口模拟实现I2C通信。

ZigBee

关于如何实现IO口模拟I2C通信的,可点击《OPT3001环境光传感器利用普通IO口模拟实现I2C通信调试心得》。

这里可以用示波器观察SDA、SCL波形,将其与OPT3001数据手册上的波形进行对比,查看数据是否一致(I2C通信是否成功),从而判断程序错误在哪里。

如系统原理框图所示,利用IO口模拟I2C通信成功后,接下来主要进行的就是数据读取转换及显示。OPT3001数据手册上结果转换如下图所示:

ZigBee

为了减小数据类型的出错率,这里对数据逐位处理,直接转换成两个相同的数据类型,然后再计算。

ZigBee

完整的源码可点击附件下载。

结果分析

为了检测上述简易照度计测量出的光照度值是否准确,将特安斯照度计与其一起测量,方便对比。

理论上测试范围为0~83865Lux,因测试环境有限,测试不到大值。借助按键灯和面纸,

测量的40多组数据,部分如下表所示:

照度值比较表

特安斯照度计04.931.15887116216436543660807106212351558CC2530-OPT300104224971112210439546662801106612391562

(完整的测量数据可点击附件下载)

将上述表格数据用折线图表示如下:

ZigBee

通过对比可知,在误差范围内,基于ZigBee CC2530 opt3001的照度值较准确。

附录:(部分测量照片)

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分