ラズパイマガジン2020年夏号のカラーセンサーだが、ビットワンで販売されているセンサー
ZC-CLS381RGBのようであるが
ビットワンのHPを見てもどこにもデータシートがないので仕様がわからない
雑誌付録のソースコードから仕様を解析してsumbus仕様にソースを入れ替えた
簡単な仕様である。
pigpoの本家
http://abyz.me.uk/rpi/pigpio/python.html
にsumbusとの対比を記載してくれているので対応できた。
雑誌付録のcls381.pyには色々と設定方法のソースがコメントなし
で記載されており、感度やその他もろもろつかえそうである。
ただメーカー不明のデータシートなしのセンサでは、動くだけで
データが正しいのかどうか不明である。
S11059-02DT(浜松ホトニックス。無論データシート、サンプルソース付き)
のデータと比較した
結論としては、感度と積算時間の差があるがRGB,IRとも傾向は同じである。
しかし何で雑誌の記事にこんな訳のわからんセンサーを取り上げて
何の説明もなく、かつ、pigpioを使うのかな?
#!/usr/bin/env python
import smbus
import time
addr = 0x53
bus = smbus.SMBus(1)
COLOR_MODE = 0x06
bus.write_byte_data(addr , 0x00, COLOR_MODE)
time.sleep(1)
while True:
value = bus.read_i2c_block_data(addr , 0x0d, 3)
green =( value[ 2 ] << 16 ) + ( value[ 1 ] << 8 ) + value[ 0 ]
value = bus.read_i2c_block_data(addr , 0x10, 3)
red =( value[ 2 ] << 16 ) + ( value[ 1 ] << 8 ) + value[ 0 ]
value = bus.read_i2c_block_data(addr , 0x13, 3)
blue =( value[ 2 ] << 16 ) + ( value[ 1 ] << 8 ) + value[ 0 ]
value = bus.read_i2c_block_data(addr , 0x0a, 3)
ir =( value[ 2 ] << 16 ) + ( value[ 1 ] << 8 ) + value[ 0 ]
print ('R:',red)
print ('G:',green)
print ('B',blue)
#赤外
print ('IR',ir)
print ('------')
time.sleep( 0.5 )