19章:ESP-WROOM-02でEEPROM 24FC256-I/P(I2C)制御

    作成2015.11.05

  1. ESP-WROOM-02でEEPROM 24FC256-I/P(I2C)制御の参考アドレス
    50章:Arduino演習(EEPROM 24FC256-I/P編)
    http://skomo.o.oo7.jp/f47/hp47_50.htm
     Arduino UNOとESP-WROOM-02はEEPROM 24FC256-I/PのI2C制御において、互換性があります。ただし、ESP-WROOM-02のシリアル 通信のボ−レートは115200bpsに設定する必要があります。


  2. ESP-WROOM-02でEEPROM 24FC256-I/P(I2C)制御回路図
     ESP-WROOM-02でEEPROM 24FC256-I/P(I2C)制御回路図を以下に示します。





  3. スケッチの作成
    (1)(Serial.begin(9600);→Serial.begin(115200);に変更変更します。**注(1)
    (2)電源投入直後の改行を追加します。**注(2))
    //EEPROM24FC256-I/P
    #include     
    #define disk1 0x50    //Address of 24LC256 eeprom chip
     
    void setup(void)
    {
      Serial.begin(115200);//**注(1)
      Wire.begin();  
     
      unsigned int address;
      Serial.println("");//**注(2)
      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;
    }
    


  4. スケッチの書込み
    (1)ESP-WROOM-02のフラッシュ書き換え時のピン設定
    *ENピン:(Chip Enable.)→High(10kΩプルアップ)
    *GPIO-15ピン:(Type I/O MTDO;HSPI_CS; UART0_RTS)→LowHigh(10kΩプルダウン)
    *GPIO-2ピン:(Type I/O UART Tx during flash programming)→High(10kΩプルアップ)
    *GPIO-0ピン:(Type I/O SPI_CS2)→Low(10kΩプルダウン)(Lowでラッシュ書き換えモード)
    *TXピン:USBシリアル変換モジュールのRX
    *RXピン:USBシリアル変換モジュールのTX
    *GNDピン:USBシリアル変換モジュールのGND

    (2)ESP-WROOM-02の電源を投入します。
    (3)メニュー「ツール」_「ポート」_「COM14」を選択します。
    (4)メニュー「スケッチ」_「マイコンボードに書込む」を選択します。
    (5)書込みが完了します。
    (6)GPIO-0ピン:(Type I/O SPI_CS2)→High(10kΩプルアップ)に戻します。
    (7)ESP-WROOM-02の電源を再投入します。


  5. 動作試験
    (1)arduino.exeを起動して、シリアルモニタを開きます。
    (2)GPIO-0ピン:(Type I/O SPI_CS2)→High(10kΩプルアップ)に戻し、ESP-WROOM-02の電源を再投入します。
    (3)シリアルモニタの受信データを以下に示します。
    0	255
    1	254
    2	253
    3	252
    4	251
    5	250
    6	249
    7	248
    8	247
    9	246
    


  6. ESP-WROOM-02でEEPROM 24FC256-I/P(I2C)制御まとめ
    (1)Arduino UNOとESP-WROOM-02はEEPROM 24FC256-I/P(I2C)制御において、互換性があります。
    (2)ただし、ESP-WROOM-02のシリアル通信のボ−レートは115200bpsに設定する必要があります。




20章:ESP-WROOM-02でHC-SR04 超音波距離センサー制御に行く。

トップページに戻る。