オリジナルCPU「DL166」にセンサーを接続する:オリジナルCPUでバイナリコード入門(13)(3/3 ページ)
オリジナル4ビットCPUを用いてバイナリコードを学ぶ本連載。第13回では、オリジナル4ビットCPU「DL166」にタクトスイッチやフォトセンサーをつないで、そこから得られる値をDL166で読み込めるようにする。
フォトセンサーをDL166に接続する
いよいよここからはフォトセンサーをDL166に接続します。その前にフォトセンサーについて少し説明させてください。
今回はフォトセンサーとして、図4に示すフォトレジスタと呼ばれるデバイスを用います。CDSセル、あるいは光可変抵抗や光依存性抵抗、フォト感光性抵抗器などという名称でアマゾン(Amazon)などでも取り扱っているようです。
CDSは最も古くから用いられるとともに広く知られているフォトセンサーの一つです。光が当たると抵抗値が減少するという現象が起きます。
ここから少し多くの文字を費やして説明すると、フォトセンサーが光を受けると抵抗値が下がるので、タクトスイッチを押下したときと同様にGND電位に下がります。GNDに近いところまで電位が下がることによって、タクトスイッチを押したときと同様にCPUには1の入力値が伝えられるというわけです。
それでは、ブレッドボードのタクトスイッチと同じ箇所にフォトセンサーを差し込みます(図5)。
図6はフォトセンサーの端子を折り曲げてLEDライトの光を当てている様子です。プログラムはタクトスイッチの動作を確かめたものと同じsensor1.asmを使用します。タクトスイッチを押したときと同様にレジスタR5の最下位ビットが1になり、LEDドットマトリックスが点灯します。写真は用意していませんが、センサーにライトを当てるのを止めるとR5の最下位ビットは0になり、LEDドットマトリックスが消灯します。
今回は電池式のLEDライトを用いて光センサーを作動させましたが、任意の照度でセンサーを作動させたいことがありますよね。その時は、FPGA内部に設定したプルアップ抵抗を外して、プルアップ抵抗を外付けで接続してください。このプルアップ抵抗の抵抗値を変更することによりセンサーが反応する照度を調整することができます。抵抗値を大きくするとより低い照度でもセンサーが反応します。さらに、プルアップ抵抗を可変抵抗器にしておけば手元でも調整できるようになります。これによって、屋外にフォトセンサーを出しておけば、DL166によって昼夜を区別させることも可能になります。
おわりに
今回は外部に接続したセンサーの値をDL166に伝える方法を紹介しました。これで外部環境の変化をCPUで捉えることができますね。プログラミングのアイデアがぐっと湧いてきませんか。
それではまた次回をお楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「オリジナルCPUでバイナリコード入門」バックナンバー
- ≫連載「FPGAにニューラルネットワークを実装する」
- ≫連載「注目デバイスで組み込み開発をアップグレード」バックナンバー
- 外部入力で取り込んだ値によってプログラムを制御する
オリジナル4ビットCPUを用いてバイナリコードを学ぶ本連載。第12回では、外部入力を取り込みその値によってプログラムを制御することに挑戦する。 - 今どきの学生には受けなかった「ナイトライダー」を再現する
オリジナル4ビットCPUを用いてバイナリコードを学ぶ本連載。第11回では、1980年代の米国テレビドラマ「ナイトライダー」に登場するドリームカーの電飾の再現に挑戦する。 - 条件分岐を使ったバイナリコードでLチカをより複雑に
オリジナル4ビットCPUを用いてバイナリコードを学ぶ本連載。第10回では、条件分岐を使ったバイナリコードに挑戦する。 - たかがLチカされどLチカ、バイナリコードでLEDを点滅させる
オリジナル4ビットCPUを用いてバイナリコードを学ぶ本連載。第9回では、プログラミング演習の定番であるLチカを題材にバイナリコードを動かしてみる。 - 2行で書けるバイナリコードを動かしてみよう
オリジナル4ビットCPUを用いてバイナリコードを学ぶ本連載。今回の第8回からバイナリコードのプログラミング演習がスタートする。まずは、最も短いレベルとなる2行で書けるバイナリコードを動かしてみる。 - オリジナルCPU「DL166」の命令セットの動作を確認する
オリジナル4ビットCPUを用いてバイナリコードを学ぶ本連載。第7回は、「Tang Nano 9K」に移植したオリジナルCPU「DL166」の命令セットの動作を確認する。 - オリジナルCPU「DL166」のレジスタをLEDドットマトリックスで見える化する
オリジナル4ビットCPUを用いてバイナリコードを学ぶ本連載。第6回は、「Tang Nano 9K」に移植したオリジナルCPU「DL166」のレジスタをLEDドットマトリックスで見える化する。 - 「Tang Nano」にインテル系IDEで開発したオリジナルCPUのソースコードを移植する
オリジナル4ビットCPUを用いてバイナリコードを学ぶ本連載。第5回は、新たな教材「Tang Nano 9K」に、インテル系IDEで開発したオリジナルCPU「DL166」のソースコードを移植する。 - 新たな教材となる「Tang Nano 9K」を使ってLEDマトリクスを制御する
オリジナル4ビットCPUを用いてバイナリコードを学ぶ本連載。第4回は、バイナリコーディングを学ぶための新たな教材となる「Tang Nano 9K」とVerilog-HDLコードを使ってLEDマトリクスを制御する。 - 【バイナリコーディング演習】FPGAボードでLチカとPWMによるLED点灯を試す
オリジナル4ビットCPUを用いてバイナリコードを学ぶ本連載。第3回は、オリジナル4ビットCPUを用いたバイナリコーディングの前段階の演習として、入手が容易なFPGAボードを使ってVerilog-HDLで簡単な回路プログラムを組んでみる。