AT24C256 เป็น EEPROM ขนาด 256 กิโลบิตที่ให้ที่เก็บข้อมูลที่ไม่ระเหยช่วยให้ข้อมูลยังคงอยู่แม้จะปิดพลังงาน มันสื่อสารกับไมโครคอนโทรลเลอร์ผ่านโปรโตคอล I2C ทำให้เหมาะสำหรับการจัดเก็บข้อมูลเซ็นเซอร์การกำหนดค่าหรือข้อมูลอื่น ๆ ในโครงการ Arduino บทช่วยสอนนี้จะแนะนำคุณผ่านการเชื่อมต่อและใช้ AT24C256 กับ Arduino
สิ่งที่คุณต้องการ
- AT24C256 โมดูล EEPROM หรือ IC
- คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
- เครื่องหั่นขนมปังและสายจัมเปอร์
- คอมพิวเตอร์ที่ติดตั้ง 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:
- เปิด Arduino IDE
- ไป ร่าง > รวมห้องสมุด > จัดการห้องสมุด.
- ค้นหา "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: ทดสอบการตั้งค่า
- เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
- เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
- อัปโหลดรหัสโดยคลิก อัพโหลด.
- เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น
9600
. - สังเกตข้อมูลที่เป็นลายลักษณ์อักษรและอ่านที่แสดงในจอภาพอนุกรม
ตัวเลือก: ลบข้อมูล
เพื่อลบ EEPROM เขียน 0xFF
ไปยังตำแหน่งหน่วยความจำทั้งหมด:
for (int i = 0; i < 32768; i++) {
eeprom.writeByte(i, 0xFF);
}
แอปพลิเคชันของ AT24C256
- การจัดเก็บบันทึกข้อมูลเซ็นเซอร์
- การตั้งค่าการกำหนดค่าสำหรับอุปกรณ์ IoT
- จัดเก็บการตั้งค่าผู้ใช้
- การสร้างระบบบันทึกข้อมูล
การแก้ไขปัญหา
- ไม่มีการสื่อสาร: ตรวจสอบการเดินสาย I2C และตรวจสอบให้แน่ใจว่าใช้ที่อยู่ I2C ที่ถูกต้อง
- ข้อมูลที่ไม่ถูกต้องอ่าน: ตรวจสอบให้แน่ใจว่ากระบวนการเขียนเสร็จสมบูรณ์ก่อนอ่าน
- เปิดใช้งานการป้องกันการเขียน: ตรวจสอบว่า WP PIN เชื่อมต่อกับ GND สำหรับการเข้าถึงการเขียน
บทสรุป
คุณประสบความสำเร็จในการเชื่อมต่อ AT24C256 EEPROM กับ Arduino ช่วยให้คุณสามารถจัดเก็บและดึงข้อมูลที่ไม่ระเหยได้ในโครงการของคุณ ทดลองใช้ความสามารถในการสร้างระบบบันทึกข้อมูลการจัดเก็บการกำหนดค่าหรือแอปพลิเคชันที่ขึ้นกับหน่วยความจำอื่น ๆ !