ラズパイマガジン カラーセンサ sumbus 2

ラズパイマガジン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 )
カテゴリー iot