14章:Samp_I2C(温湿度センサー)の動作試験

    作成2014.08.23

     Samp_I2C(温湿度センサー)について検討します。

  1. Samp_I2C(温湿度センサー)評価回路図
     Samp_I2C(温湿度センサー)評価回路図を図14-1に示します。

    ZigBeeワイヤレスモジュール TWE−LiteをUSBアダプター TWE−Lite R(トワイ・ライター)に 取付けて評価します。

     デジタル温度・湿度センサーAM2321の詳細仕様は下記アドレスを参照します。
    http://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/AM2321/AM2321test.html

    品名単価個数小計購入先
    ZigBeeワイヤレスモジュール TWE−Lite Dip−WA (半完成品セミキット)162011620秋月電子通商
    USBアダプター TWE−Lite R(トワイ・ライター)189011890秋月電子通商
    温湿度センサ モジュール AM23217001700秋月電子通商


  2. Samp_I2C(温湿度センサー)評価回路外観
      Samp_I2C(温湿度センサー)評価回路外観を以下に示します。



  3. Samp_I2C
    ToCoNet SDKは下記のアドレスからダウンロードします。
    http://tocos-wireless.com/jp/products/ToCoNet/TWESDK.html
     ダウンロード
    Windows 版 2014/8月号 SDK SDK 全部入り (582MiB, ZIP)をダウンロードします。


  4. 動作試験用プログラムのダウンロード
     動作試験用プログラムは「40-14.zip」ファイルをダウンロードしてください。
    [40-14.zip]をダウンロードする。

     解凍するとフォルダー内に
    Samp_I2Cフォルダー(Samp_I2Cソースファイル)
    Win-PingPong.exe(10章と同じ)
    があります。
     Samp_I2Cフォルダー内の\Samp_I2C\Main\Build\Samp_I2C_Main_JN5164_0_2_0.binが実行ファイルです。


  5. 基本操作方法
    (1)\Samp_I2C\Main\Build\Samp_I2C_Main_JN5164_0_2_0.binを無線マイコンTWE-Lite DIP (トワイライト・ディップ)に書込みます。(方法は7章:ToCoNet(トコネット)のソフトウエア開発環境(SDK) とPingPongの実行プログラムの書込みを参照願います。

    (2)TWE-Lite R(トワイ・ライター)に無線マイコンTWE-Lite DIP (トワイライト・ディップ)をセットしてUSBをパソコンに接続します。
    (3)「Win-PingPong.exe」をダブルクリックで起動します。
    (4)画面の左側を「COM9」にセットして、「Conect」ボタンを押します。
    (5)TWE-Lite R(トワイ・ライター)のリセットボタンを押します。
    (6)以下の画面から「COM9」がTWE-Lite R(トワイ・ライター)に接続されていることが確認できます。

    (7)左側のSend Dataに「g」を入力し「Send Data vbCrLf無し」ボタンを押と測定を実行します。



  6. Samp_I2Cのソース変更部分
    温湿度センサー対応のための追加部分を以下に示します。
    static void vHandleSerialInput(void)
    uint8 u8Address;	
    uint8 pu8Dest[256];	
    uint8 u8Length=1;	
    bool_t bOk = TRUE;	
    uint8 pu8Data[256];	
    long TD;	
    long PD;	
    long HD;	
    volatile long x;	
    case 'g':		
    	vfPrintf(&sSerStream, "AM2321A-TEST\r\n");	
    		
    	bOk &= bSMBusWrite(0x5C, 0, 0, NULL);	
    	for(x = 0; x < 1600; x++){;}	
    		
    	u8Address=0x03;	
    	u8Length=2;	
    	pu8Data[0]=0x00;	
    	pu8Data[1]=0x04;	
    	bOk &= bSMBusWrite(0x5C, u8Address, u8Length, pu8Data);	
    	for(x = 0; x < 1600; x++){;}	
    		
    	u8Length=8;	
    	bOk &= bSMBusSequentialRead(0x5C, u8Length, pu8Dest);	
    		
    	for(x = 0; x < 8; x++)	
    	{vfPrintf(&sSerStream, "%02x ",pu8Dest[x]);}	
    	vfPrintf(&sSerStream, "\r\n");	
    		
    	HD=pu8Dest[2]*256+pu8Dest[3];	
    	vfPrintf(&sSerStream, "Humidity(x0.1%%)=%d\r\n",HD);	
    	TD=pu8Dest[4]*256+pu8Dest[5];	
    	vfPrintf(&sSerStream, "Temperature(x0.1Degree)=%d\r\n",TD);	
    	break;				
    


  7. 結果の検討
    (1)I2Cの詳細の通信手順はデバイス毎に異なるため、Samp_I2Cをそのままで動作試験できない。
    (2)I2C通信用関数の使用方法を理解し、個々のデバイスの通信手順をあわせる必要がある。
    (3)温湿度センサーのI2C通信プログラムでは主に
    bool_t bSMBusWrite(uint8 u8Address, uint8 u8Command, uint8 u8Length, uint8* pu8Data)
    PUBLIC bool_t bSMBusSequentialRead(uint8 u8Address, uint8 u8Length, uint8* pu8Data)
    を使用した。
    (4)温湿度センサーは、ディレイの設定、複数データの書込み、複数データの読み出し等複雑な仕様ですので注意が必要です。(ソースコードが短いわりに苦労しました!!)
    (5)Win-PingPong.exe(10章と同じ)はデバッグ目的のプログラムですが変更の必要はありませんでした。




15章:Samp_I2C(EEPROM24FC256-I/P)の動作試験に行く。

トップページに戻る。