50章:Arduino演習(EEPROM 24FC256-I/P編)

    作成2015.09.06

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


  2. EEPROM 24FC256-I/Pの回路図
     EEPROM 24FC256-I/Pの回路図は以下となります。





  3. シリアルIスケアC EEPROM 24FC256−I/P
    *品名:シリアルIスケアC EEPROM 24FC256−I/P
    *購入先:秋月電子通商
    *価格:¥90
     シリアルIスケアC EEPROM 24FC256−I/Pの詳細仕様は下記を参照します。
    [50-1.pdf]をダウンロードする。


  4. EEPROM 24FC256-I/Pのスケッチ
    (1)Wire Libraryを参照して、以下のスケッチを作成しました。
    //EEPROM24FC256-I/P
    #include <Wire.h>    
    #define disk1 0x50    //Address of 24LC256 eeprom chip
     
    void setup(void)
    {
      Serial.begin(9600);
      Wire.begin();  
     
      unsigned int address;
    
      for(address=0;address<10;address++)
      {
        writeEEPROM(disk1, address, 255-address);
        Serial.print(address, DEC);
        Serial.print("\t");
        Serial.println(readEEPROM(disk1, address), DEC);
      }
    }
     
    void loop(){}
     
    void writeEEPROM(int deviceaddress, unsigned int eeaddress, byte data ) 
    {
      Wire.beginTransmission(deviceaddress);
      Wire.write((int)(eeaddress >> 8));   // MSB
      Wire.write((int)(eeaddress & 0xFF)); // LSB
      Wire.write(data);
      Wire.endTransmission();
     
      delay(5);
    }
     
    byte readEEPROM(int deviceaddress, unsigned int eeaddress ) 
    {
      byte rdata = 0xFF;
     
      Wire.beginTransmission(deviceaddress);
      Wire.write((int)(eeaddress >> 8));   // MSB
      Wire.write((int)(eeaddress & 0xFF)); // LSB
      Wire.endTransmission();
     
      Wire.requestFrom(deviceaddress,1);
      if (Wire.available()) rdata = Wire.read();
      return rdata;
    }
    


  5. EEPROM 24FC256-I/Pの実行
    (1)メニューの「スケッチ」_「マイコンボードに書き込む」で書込みされ、実行されます。
    (2)メニューの「ツール」_「シリアルモニタ」を選択するとシリアルモニタが表示されます。
    (3)シリアルモニタに以下の受信データが表示されます。
    0	255
    1	254
    2	253
    3	252
    4	251
    5	250
    6	249
    7	248
    8	247
    9	246
    


  6. EEPROM 24FC256-I/Pまとめ
    (1)一般的にはSDAとSCLのプルアップが必要ですが、プルアップ無しで動作しました。
    (2)I2C通信の手順はEEPROM 24FC256-I/Pの仕様に合わせる必要があります。
    (3)このため、Wire Libraryを参考にスケッチを書き直しました。
    (4)EEPROM 24FC256-I/P仕様のバイト書込みとランダムなバイト読出しを参考にスケッチを作成しました。
    (5)EEPROM 24FC256-I/Pは書込み後すぐに読み出すことができません。
    (6)EEPROM 24FC256-I/P書込み後、5msのディレイが入っています。
    (7)大量のデータを高速で書込み、読出しを行う場合は、EEPROM 24FC256-I/P仕様のページ書込みと順次読出しを参考にスケッチを作成する必要があります。
    (8)簡潔な記述でI2C通信ができました。




51章:Arduino演習(気圧センサーモジュール/LPS25H(I2C)編)に行く。

トップページに戻る。