iAQ-Core C(VOC) Sensor

2018年7月27日 - 未分類

ams社から、サンプルで送ってもらった、iAQ-Core Cセンサーを試してみました。

I2Cセンサーです。アドレスは0x5aです。

下記コードは、センサーから1秒おきに値を読み出すpythonスクリプトです。

#!/usr/bin/env python
import pigpio
import time,sys,datetime

pi = pigpio.pi()
if not pi.connected:
   exit()

h = pi.i2c_open(1, 0x5a)

while True:
    try:
        c, d = pi.i2c_read_device(h, 9)
        length=len(d)
        if length != 9:
            continue
        print('time ='+str(datetime.datetime.today()))
        prediction=d[0]*pow(2,8)+d[1]
        print('eCO2 = '+str(prediction)+' ppm')
        if d[2] == 0:
            status='OK'
        if d[2] == 0x01:
        prediction=d[0]*pow(2,8)+d[1]
        print('eCO2 = '+str(prediction)+' ppm')
        if d[2] == 0:
            status='OK'
        if d[2] == 0x01:
            status='BUSY'
        if d[2] == 0x10:
            status='RUNIN'
        if d[2] == 0x80:
            status='BUSY'

        if status == 'OK':
            print('status = '+str(status))
            resistance = d[4]*pow(2,16)+d[5]*pow(2,8)+d[6]
            print('resistance = '+str(resistance)+' Ohm')
            eTVOC= d[7]*pow(2,8)+d[8]
            print(' eTVOC = '+str(eTVOC)+' ppb')
            #time.sleep(4)
        time.sleep(1)
    except KeyboardInterrupt:
        pi.i2c_close(h)
        pi.stop()
        sys.exit(0)

thingspeakでグラフ化した結果です。多少のバラツキはありますが、CS811よりも安定しているようです。
内部に温度センサーを持っているようで、温度補償は必要ありません。バーインも不要のようです。

Translate »