今天我們學習合宙低功耗4G模組Air780EP的LuatOS開發tcs3472示例,文末【閱讀原文】獲取最新資料1
一、簡介
tcs3472顏色感測器能夠讀取照射到的物體的RGB三種數值,從而識別顏色
-
關聯文件和使用工具:
-
LuatOS 韌體獲取
-
tcs3472 顏色感測器介面說明
-
Luatools下載除錯工具
二、材料準備
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工具中檢視效果