前の記事で .NET Micro Framework の AnalogInput を紹介しました。
ブレッドボードに乗せた CdS セルの値が簡単に取得できました。
今回は AnalogInput の復習を兼ねて、PinKit のセンサーボードのアナログ入力を見てみます。
最後にソースコードを載せますが、当然のことながら CdS セルからのアナログ入力と全く同じコードで入力値を取得できます。(接続するピンの指定はそれぞれで異なります)
PinKit のセンサーボードには2つのアナログ入力用のパーツが乗っています。
一つがハンズオンなどでもお馴染みの温度センサー(サーミスター)、もう一つがブロック端子台です。
それぞれ専用の半固定抵抗を介して電圧が印加されているので、センサーボードを GR-PEACH に乗せるだけでパーツの入力値を取得できます。
ブロック端子台には電圧系センサーまたは抵抗計センサーを接続することができます。(サーミスターや CdS セルも抵抗系のセンサー)
なおブロック端子台を使う時には、JP1 のジャンバーをショートする必要があります。
サーミスター、ブロック端子台が接続されているピンはそれぞれ、
- サーミスター・・・A5 ピン(アナログの5番ピン)
- ブロック端子台・・・A4 ピン(アナログの4番ピン)
です。
コード例はこんな感じ。クラスライブラリを利用しているので、コードがシンプルになっています。
using System.Threading; using Microsoft.SPOT; using Microsoft.SPOT.Hardware; using GrFamily.MainBoard; namespace ThermistorTrial01 { public class Program { public static void Main() { var input = new AnalogInput(Pins.ANALOG_5); // センサーボード上のサーミスター(温度センサー) //var input = new AnalogInput(Pins.ANALOG_4); // センサーボード上の端子台に接続した外付けセンサー while (true) { var val = input.ReadRaw(); Debug.Print(val.ToString()); Thread.Sleep(1000); } } } }
前回、ブレッドボードに CdS セルを乗せたのと全く同じコードです。(くどいようですが、ピン番号は別です)
なお、せっかくなので(?)、ブロック端子台に CdS セルを接続してみました。こんな風になります。