ラズパイ(超小型ボードPC)を使って光センサーを制御しよう | 気分良く前向きに生きよう & テクニカルを楽しむ

気分良く前向きに生きよう & テクニカルを楽しむ

日常感じた心の世界に通じることや脳の働きに関することを書きながら、PCや携帯やプログラミングなどの技術的なことなども書いていこうと思います。

今回は少々苦労しました。

今回行ったのは、ラズパイと光センサー、AD変換器を接続して、周囲の光の明るさをPC側(ラズパイ側)に入力してその明るさの数値を表示するという実験です。
これができると、例えば部屋が明るくなった時だけ音楽が再生されるとか、色々なことに応用できると思います。

しかし、光センサーのようなアナログ機器を直接ラズパイで制御することはできませんので、AD変換器を仲介させる必要があるのですが、そうすると一気に難しくなります。

前回までは、電源のオン・オフを制御するだけでしたので、プログラムも単純だったのですが、AD変換器を制御するとなると、まずクロック信号を送ってシリアルデータの入力時の同期を取るようにし、AD変換器から送られてきたデジタル信号(シリアル信号)をプログラム側でビットシフトなどを使って数値に変換する必要があります。

しかし幸い、自分たちが高校生だった頃と違って、今では有益な情報がネット等でいくらでも入手できますので、あまり試行錯誤は必要なく、入手した情報を間違いなく具現化すれば動くはずなので、リスクは少ないと思います。

また、使用したパーツも極めて安価で、AD変換器は数百円、光センサーは発光ダイオードで代用できますので、一個当たり数十円です。

ブレットボード上に、以下のように配線して(※配線を間違えないように各線にタグを付けています。。)、Pythonで書いたプログラムを実行すると



うまくいきました。
懐中電灯で光を当てたり、手でセンサーを隠して光を減らしたりすると、表示される数値がそれに比例して変化することが確認できました。
なかなか感動的でした。





ただ、自分の高校時代の友人たちの多くは、そういった制御を専門に仕事をしていたり、高校時代から既に上記以上のレベルの回路とプログラムを自分で作っていたりと、レベルの高い人達が多いのですが、彼らにとってはきっとこのような実験は、初歩中の初歩なのだろうなと思いました(笑)

それでも、AD変換を使えるようになったことで、光センサー以外の様々なセンサーを使えるようになりました。
とりあえず圧力センサーを既に購入してありますので、次はそれを実験してみたいと思います。