Raspberry PiでAT24C256 EEPROMを使用する

Using the AT24C256 EEPROM with the Raspberry Pi

(日本語) AT24C256 は、I2C EEPROM (Electrically Erasable Programmable Read-Only Memory)で、Raspberry Piは電力損失後もデータを保存および取得できます。このガイドでは、 AT24C256 Raspberry Piを使用して、配線、I2Cの有効化、Pythonを使用したデータの読み書きなど。


あなたが必要とするもの

  1. ラズベリーパイ (GPIOとI2Cをサポートしているモデル(例:Pi 3、 Pi 4)
  2. AT24C256 EEPROMモジュール
  3. ブレッドボードとジャンパーワイヤー
  4. インストールされたPython ラズベリーパイに

ステップ1:ラズベリーパイにAT24C256を配線する

AT24C256は、 プロトコルの.

[接続]

AT24C256ピン ラズベリーピピン
VCC 3.3V(ピン1)
GND グラウンド(ピン6)
SDA SDA(ピン3、 GPIO2)
SCL SCL(ピン5、 GPIO3)
WP(書き込み保護) GND(書き込み保護を無効にする)

ステップ2: Raspberry PiでI2Cを有効にする

  1. Raspberry Pi設定ツールを開きます。
    sudo raspi-config
    
  2. に移動します。 インターフェイスオプション>I2C それを有効にします。
  3. Raspberry Piを再起動する:
    sudo reboot
    

ステップ3:必要なライブラリをインストールする

  1. Raspberry Piのパッケージリストを更新してください:
    sudo apt update && sudo apt upgrade -y
    
  2. 必要なI2CツールとPythonライブラリをインストールします。
    sudo apt install -y i2c-tools python3-smbus
    
  3. AT24C256 EEPROMがI2Cバスで検出されていることを確認します。
    sudo i2cdetect -y 1
    
    EEPROMは、 0x50 (またはA0-A2のピン構成に基づく別のアドレス)。

ステップ4: AT24C256へのデータの読み書き

AT24C256はデータを格納します。 メモリの256KB各バイトはメモリアドレスを使用してアクセスされます。

EEPROMへのデータの書き込み

import smbus2
import time

EEPROM_ADDRESS = 0x50  # Default I2C address of AT24C256
bus = smbus2.SMBus(1)  # Use I2C bus 1

def write_byte(address, data):
    bus.write_i2c_block_data(EEPROM_ADDRESS, address, [data])
    time.sleep(0.05)  # EEPROM needs time to write

# Write data (example: store 'A' at address 0x00)
write_byte(0x00, ord('A'))
print("Data written successfully!")

EEPROMからデータを読み込む

def read_byte(address):
    return bus.read_byte_data(EEPROM_ADDRESS, address)

# Read the stored byte at address 0x00
stored_value = read_byte(0x00)
print(f"Stored Data: {chr(stored_value)}")

ステップ5: AT24C256のアプリケーション

  1. データロギング:オフラインアクセスのためにセンサーデータを時間をかけて保存します。
  2. 構成ストレージ:システム設定または校正データを保存します。
  3. セキュアな認証:暗号化されたキーまたは認証トークンを保存します。
  4. IoTプロジェクト:Internet of Thingsアプリケーションの永続ストレージを有効にします。

トラブルシューティング

  1. EEPROMが検出されない:

    • 配線を確認し、SDA/SCL接続を確認します。
    • [実行] sudo i2cdetect -y 1 EEPROMのI2Cアドレスを確認します。
  2. 読み取り/書き込み操作が正しくない:

    • 確認する 書き込み保護(WP) は、 接地された 書くことを可能にするため。
    • 遅延を導入する(time.sleep(0.05))EEPROM書き込み操作が完了するようにします。
  3. I2C通信エラー:

    • バス上の競合するI2Cアドレスを確認します。
    • 確認する smbus2 使用して適切にインストールされている pip3 install smbus2.

おわりに

AT24C256 EEPROMはシンプルで強力な方法です。 データを永続的に保存する ラズベリーパイで。のためにかどうか データロギング、設定の保存、またはIoTアプリケーションこのガイドは、EEPROMストレージと効果的に対話するために必要な基礎知識を提供します。より大きなデータセットの読み書きを試して、その可能性を最大限に探りましょう! 🚀

コメントを残す

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.