?今天我們學習合宙低功耗4G模組Air780EP的LuatOS開發tcs3472示例。
一、簡介
tcs3472顏色傳感器能夠讀取照射到的物體的RGB三種數值,從而識別顏色
二、材料準備
2.1 Air780EP開發板一套
?
2.2 tcs3472模塊一個
?
三、程序介紹
3.1 API說明
tcs3472初始化
tcs3472.init(i2c_id)
傳入值類型 | 解釋 |
---|---|
number | 所在的i2c總線id |
返回值
返回值類型 | 解釋 |
---|---|
bool | 成功返回true |
3.2 獲取RGB的數據
tcs3472.get_rgb()
參數
無
返回值
返回值類型 | 解釋 |
---|---|
table | tcs3472 rgb數據 |
3.3 獲取lux的數據
tcs3472.get_lux()
參數
傳入值類型 | 解釋 |
---|---|
table | rgb_data rgb數據 |
返回值
返回值類型 | 解釋 |
---|---|
number | lux數據 |
常量
常量 | 類型 | 解釋 |
---|---|---|
i2c.FAST | number | 高速 |
i2c.SLOW | number | 低速 |
3.4 i2c初始化
i2c.setup(id, speed, pullup)
參數
傳入值類型 | 解釋 |
---|---|
int | 設備id, 例如i2c1的id為1, i2c2的id為2 |
int | I2C速度, 例如i2c.FAST |
bool | 是否軟件上拉, 默認不開啟,需要硬件支持 |
返回值
返回值類型 | 解釋 |
---|---|
int | 成功就返回1,否則返回0 |
四、實現示例
main.lua中程序實例
?
4.1 創建一個Task協程
sys.taskInit(function() end)
4.2 初始化i2c
-- 初始化i2c1,傳入id號和速度 i2c.setup(i2cid,i2c_speed) -- id正確就一定成功 -- 如需判斷i2c id是否合法, 請使用 i2c.exist 函數
4.3 初始化tcs3472
tcs3472.init(i2cid)--初始化,傳入i2c_id
4.4 讀取rgb和lux值并打印
?
五、效果展示
5.1下載固件和腳本
?
5.2 在Luatools工具中查看效果
?
審核編輯 黃宇
?
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
4G
+關注
關注
15文章
5533瀏覽量
119579 -
RGB
+關注
關注
4文章
801瀏覽量
58737 -
低功耗
+關注
關注
10文章
2420瀏覽量
103915 -
顏色傳感器
+關注
關注
2文章
96瀏覽量
18232 -
模組
+關注
關注
6文章
1516瀏覽量
30633
發布評論請先 登錄
相關推薦
評論