วิธีใช้ AT24C256 EEPROM กับ Arduino

How to Use the AT24C256 EEPROM with Arduino

AT24C256 เป็น EEPROM ขนาด 256 กิโลบิตที่ให้ที่เก็บข้อมูลที่ไม่ระเหยช่วยให้ข้อมูลยังคงอยู่แม้จะปิดพลังงาน มันสื่อสารกับไมโครคอนโทรลเลอร์ผ่านโปรโตคอล I2C ทำให้เหมาะสำหรับการจัดเก็บข้อมูลเซ็นเซอร์การกำหนดค่าหรือข้อมูลอื่น ๆ ในโครงการ Arduino บทช่วยสอนนี้จะแนะนำคุณผ่านการเชื่อมต่อและใช้ AT24C256 กับ Arduino


สิ่งที่คุณต้องการ

  1. AT24C256 โมดูล EEPROM หรือ IC
  2. คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
  3. เครื่องหั่นขนมปังและสายจัมเปอร์
  4. คอมพิวเตอร์ที่ติดตั้ง Arduino IDE

ขั้นตอนที่ 1: ทำความเข้าใจกับ AT24C256

AT24C256 EEPROM มีคุณสมบัติดังต่อไปนี้:

  • ความจุในการจัดเก็บ: 32 kb (256 kbits = 32,768 ไบต์)
  • โปรโตคอลการสื่อสาร: i2c
  • ที่อยู่ i2c: สามารถกำหนดค่าได้ระหว่าง 0x50 และ 0x57 ใช้หมุด A0, A1 และ A2
  • แรงดันไฟฟ้าในการดำเนินการ: 2.5V ถึง 5.5V

ปัก

เข็มหมุด การทำงาน
A0, A1, A2 การกำหนดค่าที่อยู่ I2C
VCC แหล่งจ่ายไฟ (5V)
gnd พื้น
SDA สายข้อมูล i2c
SCL สายนาฬิกา i2c
WP การป้องกันการเขียน (ไม่บังคับเชื่อมต่อกับ GND เพื่อเปิดใช้งานการเข้าถึงการเขียน)

ขั้นตอนที่ 2: เดินสาย AT24C256 ถึง Arduino

เชื่อมต่อ AT24C256 กับ Arduino ดังนี้:

AT24C256 PIN พิน Arduino
VCC 5V
gnd gnd
SDA A4
SCL A5
WP gnd

บันทึก: หากใช้โมดูลที่มีตัวต้านทานแบบดึงขึ้นไม่จำเป็นต้องมีตัวต้านทานเพิ่มเติม สำหรับ ICS แบบสแตนด์อโลนให้ใช้ตัวต้านทานแบบดึงขึ้น4.7KΩบนสาย SDA และ SCL


ขั้นตอนที่ 3: ติดตั้งไลบรารีที่ต้องการ

เพื่อลดความซับซ้อนของการทำงานกับ AT24C256 ให้ติดตั้งไลบรารี "Wire" (สร้างขึ้นใน Arduino IDE) และไลบรารี "EEPROM_AT24C256"

ขั้นตอนในการติดตั้งไลบรารี EEPROM_AT24C256:

  1. เปิด Arduino IDE
  2. ไป ร่าง > รวมห้องสมุด > จัดการห้องสมุด.
  3. ค้นหา "AT24C256" แล้วคลิก ติดตั้ง.

ขั้นตอนที่ 4: อัปโหลดรหัส

ตัวอย่าง: การเขียนและการอ่านข้อมูล

รหัสนี้แสดงวิธีการเขียนสตริงไปยัง EEPROM แล้วอ่านกลับ:

#include <Wire.h>
#include <AT24C256.h>

AT24C256 eeprom(0x50); // Initialize EEPROM with default I2C address

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("AT24C256 EEPROM Test");

  // Write data to EEPROM
  String dataToWrite = "Hello, EEPROM!";
  Serial.print("Writing to EEPROM: ");
  Serial.println(dataToWrite);
  for (int i = 0; i < dataToWrite.length(); i++) {
    eeprom.writeByte(i, dataToWrite[i]);
  }

  delay(1000); // Wait for data to be written

  // Read data from EEPROM
  Serial.println("Reading from EEPROM:");
  for (int i = 0; i < dataToWrite.length(); i++) {
    char c = eeprom.readByte(i);
    Serial.print(c);
  }
  Serial.println();
}

void loop() {
  // Nothing to do here
}

ขั้นตอนที่ 5: ทดสอบการตั้งค่า

  1. เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
  2. เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
  3. อัปโหลดรหัสโดยคลิก อัพโหลด.
  4. เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น 9600.
  5. สังเกตข้อมูลที่เป็นลายลักษณ์อักษรและอ่านที่แสดงในจอภาพอนุกรม

ตัวเลือก: ลบข้อมูล

เพื่อลบ EEPROM เขียน 0xFF ไปยังตำแหน่งหน่วยความจำทั้งหมด:

for (int i = 0; i < 32768; i++) {
  eeprom.writeByte(i, 0xFF);
}

แอปพลิเคชันของ AT24C256

  1. การจัดเก็บบันทึกข้อมูลเซ็นเซอร์
  2. การตั้งค่าการกำหนดค่าสำหรับอุปกรณ์ IoT
  3. จัดเก็บการตั้งค่าผู้ใช้
  4. การสร้างระบบบันทึกข้อมูล

การแก้ไขปัญหา

  • ไม่มีการสื่อสาร: ตรวจสอบการเดินสาย I2C และตรวจสอบให้แน่ใจว่าใช้ที่อยู่ I2C ที่ถูกต้อง
  • ข้อมูลที่ไม่ถูกต้องอ่าน: ตรวจสอบให้แน่ใจว่ากระบวนการเขียนเสร็จสมบูรณ์ก่อนอ่าน
  • เปิดใช้งานการป้องกันการเขียน: ตรวจสอบว่า WP PIN เชื่อมต่อกับ GND สำหรับการเข้าถึงการเขียน

บทสรุป

คุณประสบความสำเร็จในการเชื่อมต่อ AT24C256 EEPROM กับ Arduino ช่วยให้คุณสามารถจัดเก็บและดึงข้อมูลที่ไม่ระเหยได้ในโครงการของคุณ ทดลองใช้ความสามารถในการสร้างระบบบันทึกข้อมูลการจัดเก็บการกำหนดค่าหรือแอปพลิเคชันที่ขึ้นกับหน่วยความจำอื่น ๆ !

แสดงความคิดเห็น

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.