DEV Community

loading...

搞死人的 APDS9900/9930/9960 模組

黃昕暐
An engineer who's interested in explaining technology.
・1 min read

近三年前就寫過文章記錄被 APDS990/APDS60 模組雷過, 最近因為產品要再生產, 又進了一批貨, 乍看之下跟上次那批貨一樣, 應該又是用 APDS9900 跟通用的 APDS9960 模組電路板合體的假 APDS9960 模組, 沒想到同事一測試, 用 APDS9930 的程式庫完全無法運作, 經過一番測試後才發現, 這次真的是 APDS9960 了耶!

以下照片中最右邊的是前次進貨的模組, 也就是在之前文章記錄中有提到, 雖然電路板背面有大辣辣的寫著 APDS9960, 但是它的 device ID 是 0x29, 就是 APDS9900 的規格書記載的識別碼, 只是它的用法就跟 APDS9930 一樣, 所以可以沿用同樣的程式庫 (不過其實兩個模組在計算照度的時候參數有些差異)。
三種看起來一樣但其實都不一樣的 APDS 模組

照片中左邊的就是這次進貨中佔最多數的模組, 實際測試, 它的 device ID 就是 APDS9960 規格書中記載的 0xAB, 改用 APDS9960 的程式庫就正常了。不過除了這一款以外, 還有照片中間這一款, 它的整體外貌其實比較像是照片中右邊前次進貨的模組, 不過它的 device ID 卻是 0xA8, 我找了同一產品線的其他感測器, 都沒有看到 0xA8 的蹤跡。不過經實驗確認, 也可以用 APDS9960 的方式驅動。

光是搞清楚誰是誰, 就又花了我一下午, 這三種感測器尺寸是一模一樣, 而模組廠商又用了一樣的電路板, 再加上淘寶賣家各位也都知道, 產品網頁上的照片未必是真正到貨的東西, 所以實在是一團亂, 如果各位有要使用這個模組, 可以參考本文分辨, 套用不同的程式庫運作。

Discussion (0)