ホーム >  マイコン > RaspberryPi >  光センサーCdSセルでLEDをコントロールする(RaspberryPi3)

投稿日:   |  最終更新日:

光センサーCdSセルでLEDをコントロールする(RaspberryPi3)

RaspberryPiマイコン

ラズベリーパイ3で、光センサー(cdsセル)を使ってみます。

前回までの内容

前回は、パナソニック製の照度センサーを使ってLEDを光らせたり消したりしました。今回は光センサー(cds)を使って同じことをします。

ラズパイでLチカ

LチカをPythonで行います。

Raspberry Pi 3でpythonを使ってLチカ

タクトスイッチでLEDをコントロールします。

スイッチでLEDをコントロールする(RaspberryPi3)

照度センサーでLEDをコントロールします。今回の内容は、このときと似ています。

照度センサーでLEDをコントロールする(RaspberryPi3)

WiringPiを使いますので、こちらもインストールしてください。

あれ?WiringPi2よりWiringPiのほうが新しい?

ラズパイ環境

RaspberyyPi Raspberry Pi 3 Model B (Element14)
OS Raspbian 8.0
Python 3.4.2

今回の目的

光センサー(CdSセル)を使用して周囲の明るさを取得します。明るくなったら「1」を表示して、LEDを光らせます。暗くなったら「0」を表示し、LEDを消灯します。

光センサーの値が「1」のときにLEDが光って、「0」のときLEDが消えるような回路を作成します。

準備

準備するもの

RaspberryPi(本体)
材料名 個数 金額
RaspberryPi3 1 4,800円
USBアダプタ 5V/2.5A(ラズパイの電源) 1 1,900円
LANケーブル 1
材料

材料は凡その値段です。

材料名 個数 金額
ブレッドボード 1 300円
ジャンパワイヤー(オス-メス)10本入り 1 220円
赤色LED 1 40円
抵抗(680Ω) 2 40円
Cdsセル 5mm(光センサー) 1 30円

CdSセル 5mm(光センサー)

光センサーは、秋月電気で購入しました。2本の足が出ていますが、LEDのようにプラス・マイナスはありません。

CdS(硫化カドミウム)を使用した光センサーで、光の強さに応じて電気抵抗が低下する抵抗器です。 人の目に近い特性(緑色の光に対して高感度)を持っているため、光センサーに向いています。

CdSセルは、光依存性抵抗 (light-dependent resistor, LDR) や 光導電体 (photoconductor) 、フォトセル(photocell)とも呼ばれています。

CdSセルは、高抵抗の半導体でできています。 充分に周波数の高い光がこの素子に入ると、半導体に吸収された光子のエネルギーにより束縛電子(物質中の原子や分子に束縛されて自由に移動できない状態の電子)が伝導帯(禁制帯の上のエネルギー準位)に飛び込みます。 結果として生じる自由電子によって電流が流れ、電気抵抗が低くなります。

CdSでLEDを操作する

光センサーとLEDを別回路にします。光センサーが明るいとき、LEDをOFFにします。逆に光センサーが暗いとき、LEDをONにします。

①以下のような回路を作成します。

接続元(ラズパイ) WiringPi_No ワイヤー色 接続先(ブレッドボード)
1pin (3.3V) F1
11pin (0) 0 F10
12pin (PCM_CLK) 1 A12
14pin (GND) A13

②プログラムファイルを作成します。ホームディレクトリへ移動します。

cd /home/pi/

③nanoコマンドで、以下のように「inputout_cds.py」を作成します。

sudo nano inputout_cds.py

以下のコードを記述します。

import wiringpi as w
import time
w.wiringPiSetup()
w.pipMode(0, 0)
w.pipMode(1, 1)

while 1:
  switch = w.digitalRead(0)
    if 1 == switch:
      print(1)
      w.digitalWrite(1,1)
    else
      print(0)
      w.digitalWrite(1,0)
    time.sleep(1)

④以下のコマンドで実行します。

sudo python3 inputout_cds.py

明るい場所だとLEDが光ります。

光センサーを隠すと、LEDが消灯します。

⑤プログラムを終了するには「Ctrl + C」を押します。


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告