cyberkunのデータ分析やIoT、電子工作、組み込みなどについての知識の蓄積

ラズパイ、Linux、データ分析やIoT、電子工作、組み込みなどについての知識の蓄積

ラズパイ 電子工作 照度センサで明るさを読む

こんにちは。今回は照度センサを使って明るさを読むと同時にAD変換器の使い方を理解してみたいと思います。

準備

・ラズパイ

Cdsセル

・抵抗器 (抵抗値はテキトー)

f:id:cyberkun:20200518140200j:image

・AD変換器 mcp3002

https://www.mouser.jp/datasheet/2/268/21294b-68438.pdf

回路

f:id:cyberkun:20200518140828j:image

f:id:cyberkun:20200518183242j:image

プログラム cds_read.py

#モジュールのインポート

import spidev

import time

#SPI通信を行うための準備

spi = spidev.SpiDev()

spi.open(0, 0)

spi.max_speed_hz =5000

#連続して値を読む

while True:

    try:

  #SPIで値を読む

        resp = spi.xfer2([0x68, 0x00])

        #読んだ値を10ビットの数値に変換

        value = ((resp[0] * 256) - resp[1]) & 0x3ff

        print(value)

        time.sleep(1)

    except KeyboardInterrupt:

        break

#通信を終了する

spi.close()


ターミナルで$sudo python3 cds_read.pyすると

128

134

111

という具合に明るさを数値化出来ます。

ほな