【ラズパイ】CdSセンサーとADコンバーターを用いてLED点灯させてみた【電子工作成長日記】

当記事は解説記事ではなく日記ですので、回路を組む際の責任は一切負いかねますのでご了承ください

皆さんこんにちは!NORIです!

今回も↓の本で学んだことを復習がてらまとめていこうと思います。初心者ですので温かい目でご覧ください。

非常に初心者に優しく書かれておりオススメです。

CdSセンサーとは?

CdSセンサーは、

光の強さによって電気抵抗の値が変化する

素子になります。見た目は↓画像のようなものです。

抵抗値を、つまみを回すことで自分の任意の値に変更することが出来る「可変抵抗」がありますが、これはつまみではなく、光の強さを条件に抵抗値が変わります。したがって、「光の強さ」が変わったときに動作を変更する回路を組むことが出来るようになります。

例えば、「朝になったら植物に水をやる」とか「朝になったらカーテンを自動で開ける」とか出来そうですね。妄想ですが(笑)

ADコンバーターとは?

ADコンバーターとは、

アナログ信号をでデジタル信号に変換するもの
になります。外観は↓のようなものです。
ちょっと画質が悪いですが、品番が書いてあります。

アナログとデジタル

アナログは、

連続量
のことを言い、デジタルは、
断続量
のことを言います。アナログ時計とデジタル時計の例が非常に分かりやすいと思います。
アナログ時計の「滑らかに動いている秒針」はアナログを説明するのに非常に分かりやすいです。1⇒2に移動するまでに、いきなり針が瞬間移動しているわけではありません。その間も1と2の間の何かしらを指しています。連続的に動いているわけです。
一方でデジタル時計は、ディスプレイに表示される時計のことを言い、1秒なのか0.1秒なのか、必ず最小単位が決まっています。最小単位が1秒の時計であれば、1⇒2に表示が瞬間的に変わります。アナログ時計のようにその間がありません。
これがアナログとデジタルの違いです。

ADコンバーターが必要な理由

何故ADコンバーターが必要なのかというと、コンピューターが「0」と「1」しか扱えないからです。

今回の場合、

連続的な電圧値⇒断続的な値⇒12ビットの二進数

という順番で変換していき、ラズパイに信号を送ることになります。

今回作成した回路と動作

回路

今回作成した回路は以下のようになります。

配線がややこしいかと思いますので、簡単な流れだけ示しておきます。

  1. CdSセンサーに当たる光の強さでCdSセンサーの抵抗値が決まる
  2. アナログの電圧値をADコンバーターに入力
  3. ADコンバーターが12ビットの2進数を出力
  4. ラズベリーパイが12ビットの二進数を受け取る
  5. プログラムされた条件に従ってラズベリーパイが出力指令を出し、LEDが点灯もしくは消灯

といった流れになります。

プログラム

今回のプログラムの注目点は↑中の、

if 2000<inputVal0<2500:

と、

elif inputVal0<=2000:

の部分になります。この2000や2500といった数値は、二進数に変換する前の値です。先ほど少し触れた、

連続的な電圧値⇒断続的な値⇒12ビットの二進数

の「断続的な値」の部分をラズベリーパイに指定してあげて、条件分岐を行っています。

動作

今回の条件は少しだけオリジナリティを持たせて、三つの分岐を作ってみました。このように前回学んだことを活かしてプログラムを組んでみる事も大事かなぁと思います。

  1. 明るいときは消灯
  2. 暗いときは点灯
  3. ②よりさらに暗いと点滅

といった感じです。③の「点滅」は本に載っていたプログラムに自分で加えました。

最終的な動作は↓の動画の通りです。

オススメ・関連記事

関連記事

当記事は解説記事ではなく日記ですので、回路を組む際の責任は一切負いかねますのでご了承ください 皆さんこんにちは!NORIです。 LED点灯 今回はラズパイを使ってLEDを点滅させる回路を作ってみました。かなり久々にラズパイを触ったので[…]

関連記事

ご報告 当ブログ管理人は、この度電験一種に無事合格することが出来ました。電気の館をご覧になってくださった皆様。応援ありがとうございました。 『桜咲く🌸』 第一種電気主任技pic.twitter.com/rG0DYz[…]

電気系の情報発信をしています。