53章:Arduino演習(湿度センサーモジュール/AM2321編)

    作成2015.09.09

  1. Arduino(アルドゥイーノ)演習参照アドレス
     Arduino(アルドゥイーノ)演習は下記のアドレスを参照します。
    https://www.arduino.cc/en/Tutorial/HomePage


  2. 湿度センサーモジュール/AM2321の回路図
     湿度センサーモジュール/AM2321の回路図は以下となります。





  3. 湿度センサーモジュール/AM2321
    *品名:温湿度センサ モジュール AM2321
    *購入先:秋月電子通商
    *価格:¥700
     温湿度センサ モジュール AM2321の詳細仕様は下記を参照します。
    [53-1.pdf]をダウンロードする。


  4. 湿度センサーモジュール/AM2321のスケッチ
    (1)Wire Libraryを参照して、以下のスケッチを作成しました。
    //AM2321
    #include <Wire.h>
    
    
    
    void setup()
    {
      Serial.begin(9600);
      Wire.begin(); 
      Serial.print("humidity");
      Serial.print("\t");
      Serial.println("temperature"); 
    }
    
    void loop() 
    {
      byte rdptr[20];
      
      readAM2321(rdptr,8);
    
      float H=(float)(rdptr[2]*256+rdptr[3])/10.0;
      float T=(float)(rdptr[4]*256+rdptr[5])/10.0;
      Serial.print(H,1);
      Serial.print("\t");
      Serial.println(T,1);
    
      delay(1000);
    }
    
    
    void readAM2321(byte *rdptr, byte length ) 
    {
      int i;
      byte  deviceaddress=0x5C;
      //step1
      Wire.beginTransmission(deviceaddress);
      Wire.write(0x00);
      Wire.endTransmission();
      delay(1);
      //step2
      Wire.beginTransmission(deviceaddress);
      Wire.write( 0x03);
      Wire.write(0x00);
      Wire.write(0x04);
      Wire.endTransmission();
      delay(2);
      //step3
      Wire.requestFrom(deviceaddress,length);
      delayMicroseconds(60);
      if(length <= Wire.available())
      {
        for(i=0;i<length;i++)
        {
          rdptr[i] = Wire.read();
        }
      }
    }
    


  5. 湿度センサーモジュール/AM2321の実行
    (1)メニューの「スケッチ」_「マイコンボードに書き込む」で書込みされ、実行されます。
    (2)メニューの「ツール」_「シリアルモニタ」を選択するとシリアルモニタが表示されます。
    (3)シリアルモニタに以下の受信データが1sごとに表示されます。
    humidity	temperature
    76.9	25.1
    77.0	25.0
    77.0	25.1
    77.1	25.1
    77.2	25.1
    77.2	25.1
    77.2	25.1
    77.3	25.1
    77.3	25.1
    77.3	25.1
    77.3	25.1
    77.3	25.1
    77.3	25.1
    77.3	25.1
    77.3	25.1
    77.3	25.1
    77.2	25.1
    77.2	25.0
    77.2	25.0
    77.2	25.1
    


  6. 湿度センサーモジュール/AM2321まとめ
    (1)一般的にはSDAとSCLのプルアップが必要ですが、プルアップ無しで動作しました。
    (2)I2C通信の手順はAM2321の仕様に合わせる必要があります。
    (3)AM2321の通信手順は独特で3ステップで読み込みます。
    (4)このため、Wire Libraryを参考にスケッチを書き直しました。
    (5)電源電圧をを3.3Vに設定しました。
    (6)AM2321のデバイスアドレスは0x5Cとなります。
    (7)1s毎に測定した湿度と気温の値はバラツキが少なく、高精度であることが確認できます、
    (8)簡潔な記述でI2C通信ができました。




54章:Arduino演習(LCDモジュール/ACM1602NI-FLW-FBW編)に行く。

トップページに戻る。