FEZDomino_Thermometer

FEZDomino_Thermometer.jpg

DS1822+/DS18B20+(1Wire温度センサ)をFEZ Dominoに接続する。 千石電商の3Pコネクター付きケーブル(SG3P-13)を使用すると Component Shieldに簡単に接続できます。 CDC Plus USB NETMF Debug Interfaceを使用することで PCからはシリアルポートとしてみえ 温度情報をPCに送信することができます。

回路図

FEZDomino_Thermometer.png

プロジェクトファイル一式

  • GHI NETMF 4.1 SDK(SDK Version 1.0.13)に開発環境を変更 2011/03/20
  • DS1822+の制御をクラス化 2011/02/18
  • CDC Plus USB NETMF Debug Interfaceを使用するように変更 2011/02/11
  • GHI NETMF 4.1 SDK(SDK Version 1.0.11)に開発環境を変更 2011/02/11

使い方

プログラムを始めて実行するとドライバが要求される

CDC Interface (Virtual COM Port) (COMxx)にTera Termなどで接続すると温度が表示される

teraterm.jpg

1Wireの使い方

oneWire = new OneWire((Cpu.Pin)pin);

pinを1Wireとして使う

while (!oneWire.Reset()) ;

RESET PULSE発行、デバイスがあればture

oneWire.WriteByte(0xCC);

デバイスが1個しかないのでSKIP ROMコマンド発行

oneWire.WriteByte(0x44);

CONVERT TEMPERATUREコマンド発行

while (oneWire.ReadByte() == 0) ;

終了待ち

oneWire.Reset();

RESET PULSE発行

oneWire.WriteByte(0xCC);

デバイスが1個しかないのでSKIP ROMコマンド発行

oneWire.WriteByte(0xBE);

READ SCRATCHPADコマンド発行

data= oneWire.ReadByte();

Temperature LSBリード

data = (oneWire.ReadByte() << 8) | data;

Temperature MSBリード

CDC Plus USB NETMF Debug Interfaceの使い方

USBC_CDC cdc = USBClientController.StandardDevices.StartCDC_WithDebugging();

USBクライアントコントローラをCDCとデバッグインタフェース両方に使用

if (USBClientController.GetState() == USBClientController.State.Running)

USBクライアントコントローラが動作中か確認

cdc.Write(buffer, 0, buffer.Length);

CDCにデータ送信


添付ファイル: fileFEZDomino_Thermometer.zip 430件 [詳細] fileteraterm.jpg 464件 [詳細] fileFEZDomino_Thermometer.png 617件 [詳細] fileFEZDomino_Thermometer.jpg 674件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-03-20 (日) 21:14:23 (2774d)