設計簡介
本項目是一個基于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的照度值較準確。
附錄:(部分測量照片)
責任編輯:gt
-
微控制器
+關注
關注
48文章
7542瀏覽量
151316 -
傳感器
+關注
關注
2550文章
51035瀏覽量
753071 -
ZigBee
+關注
關注
158文章
2270瀏覽量
242728
發布評論請先 登錄
相關推薦
評論