検索
連載

オリジナルCPU「DL166」にセンサーを接続するオリジナルCPUでバイナリコード入門(13)(3/3 ページ)

オリジナル4ビットCPUを用いてバイナリコードを学ぶ本連載。第13回では、オリジナル4ビットCPU「DL166」にタクトスイッチやフォトセンサーをつないで、そこから得られる値をDL166で読み込めるようにする。

Share
Tweet
LINE
Hatena
前のページへ |       

フォトセンサーをDL166に接続する

図4
図4 フォトセンサーの外観 出所:Wikipediaより、BenTheWikiMan, Public domain, ウィキメディア・コモンズ経由で

 いよいよここからはフォトセンサーをDL166に接続します。その前にフォトセンサーについて少し説明させてください。

 今回はフォトセンサーとして、図4に示すフォトレジスタと呼ばれるデバイスを用います。CDSセル、あるいは光可変抵抗や光依存性抵抗、フォト感光性抵抗器などという名称でアマゾン(Amazon)などでも取り扱っているようです。

 CDSは最も古くから用いられるとともに広く知られているフォトセンサーの一つです。光が当たると抵抗値が減少するという現象が起きます。

 ここから少し多くの文字を費やして説明すると、フォトセンサーが光を受けると抵抗値が下がるので、タクトスイッチを押下したときと同様にGND電位に下がります。GNDに近いところまで電位が下がることによって、タクトスイッチを押したときと同様にCPUには1の入力値が伝えられるというわけです。

 それでは、ブレッドボードのタクトスイッチと同じ箇所にフォトセンサーを差し込みます(図5)。

図5
図5 ブレッドボードのタクトスイッチと同じ箇所にフォトセンサーを差し込む[クリックで拡大]

 図6はフォトセンサーの端子を折り曲げてLEDライトの光を当てている様子です。プログラムはタクトスイッチの動作を確かめたものと同じsensor1.asmを使用します。タクトスイッチを押したときと同様にレジスタR5の最下位ビットが1になり、LEDドットマトリックスが点灯します。写真は用意していませんが、センサーにライトを当てるのを止めるとR5の最下位ビットは0になり、LEDドットマトリックスが消灯します。

図6
図6 フォトセンサーにLEDライトの光を当ててLEDドットマトリックスを点灯させる様子[クリックで拡大]

 今回は電池式のLEDライトを用いて光センサーを作動させましたが、任意の照度でセンサーを作動させたいことがありますよね。その時は、FPGA内部に設定したプルアップ抵抗を外して、プルアップ抵抗を外付けで接続してください。このプルアップ抵抗の抵抗値を変更することによりセンサーが反応する照度を調整することができます。抵抗値を大きくするとより低い照度でもセンサーが反応します。さらに、プルアップ抵抗を可変抵抗器にしておけば手元でも調整できるようになります。これによって、屋外にフォトセンサーを出しておけば、DL166によって昼夜を区別させることも可能になります。

おわりに

 今回は外部に接続したセンサーの値をDL166に伝える方法を紹介しました。これで外部環境の変化をCPUで捉えることができますね。プログラミングのアイデアがぐっと湧いてきませんか。

 それではまた次回をお楽しみに。

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る