หน้าแรก
วิธีการสั่งซื้อสินค้า
แจ้งชำระเงิน
บทความ
เว็บบอร์ด
เกี่ยวกับเรา
ติดต่อเรา
หน้าแรก
>
บทความ
>
[Tutorial] การใช้งาน EEPROM (E…
ค้นหาบทความที่นี่
บทความทั้งหมด
[Tutorial] การใช้งาน EEPROM (External)
5 ปีที่ผ่านมา
โดย
เจ้าของร้าน
หลังจากที่เรารู้การใช้งาน EEPROM ที่ฝังมากับตัวชิป ATmega ต่าง ๆ ของเราแล้ว แต่หากไม่พอต้องการใช้เยอะมาก หรือ EEPROM ภายในนั้นใช้ครบแสนครั้ง มันได้จากโลกนี้ไปแล้ว เราก็ยังคงใช้ EEPROM ต่อไปได้โดยที่ไม่ต้องเปลี่ยนชิปตัวใหม่ครับ แต่ต้องปรับเปลี่ยนอุปกรณ์(และโค้ดนิดนึง) มาใช้โมดูลขยาย EEPROM ภายนอกนั่นเอง ตัวชิปที่มีหน้าที่เป็น EEPROM โดยเฉพาะนั้นมีอยู่หายเบอร์ครับ แต่การเขียนบทความนี้จะขอแนะนำ
AT24C256 EEPROM Module
เชื่อมต่อแบบ I2C ใช้งานง่าย ตัวนี้จะเพิ่ม EEPROM ให้เรา 256kbit = 256,000bit หรือ 32,000byte = 32kb มากกว่า ATmega328P ใน Arduino UNO ถึง 32 เท่า และมากกว่า ATmega2560 ใน Arduino MEGA ถึง 8 เท่า เนื่องจากมันไม่ต้องแบ่งพื้นที่ในตัวชิปไปใช้เป็น RAM เป็น CPU เหมือนในชิปไมโครคอนโทรลเลอร์ พื้นที่ทั้งหมดใส่ EEPROM ไปเต็ม ๆ มันจึงได้มีมากมายขนาดนี้เองครับ
บทความที่เกี่ยวข้อง
:
การใช้งาน EEPROM (Internal)
:
การเพิ่ม Library ใน Arduino IDE
ส่วนเรื่องการใช้งานนั้น บทก่อนหน้าเราพูดถึงเรื่องการใช้งาน EEPROM ที่ฝังมากับเจ้าไมโครคอนดทรลเลอร์ของเรากันแล้ว ตรงนั้นก็จะเป็นพื้นฐานให้เราได้เลยครับ การใช้งานไม่แตกต่างกันเลย เพียงแต่หากเราใช้ EEPROM ภายนอกก็ต้องเพิ่มในส่วนการชี้เส้นทางไปยังตัว EEPROM ภายนอกของเราเท่านั้นเอง โดยเราจะใช้คำสั่งผ่าน I2C Interface โดยใช้ Library Wire พื้นฐานก็ได้เพียงแต่มันจะต้องเขียนโค้ดเยอะและลงลึกด้านเทคนิคเปิด Datasheet ดังนั้นเพื่อความง่ายจึงจะใช้ Library ที่ชื่อว่า Eeprom_at24c256
สามารถดาวน์โหลดได้โดยคลิกที่นี่
(ผู้เขียนได้สร้าง Library ที่ใช้ง่าย ๆ เอาไว้ แต่ตัว Library ยังไม่เสถียรเท่าไรเลยยังไม่ปล่อยให้ใช้กันครับ)
เรื่องที่ต้องเตรียมก่อนการใช้งานคือบนโมดูลจะมีหัวจั๊ม WP มันคือ Write Protection คือการป้องกันการเขียน ถ้าจั๊มกับ 1(จั๊มไฟเลี้ยง)ไว้ก็จะไม่สามารถเขียนข้อมูลได้ หากต้องการเขียนข้อมูลด้วยจะต้องจั๊มลงกราวด์(ตำแหน่ง 0) และสิ่งสุดท้ายที่ต้องกำหนดก็คือ Address อันนี้คือที่อยู่ของการติดต่อ I2C นะครับ ซึ่งเจ้า AT24C256 นี้ได้กำหนด I2C Address สี่หลักแรกเป็น 1010 ส่วนสามหลักหลังจะเป็นที่เรากำหนดได้โดยเรียงเป็น A2 A1 A0 ก็จะได้เลขฐานสองจำนวน 7 หลัก เช่นเราจั๊ม 0 ทั้งหมดก็จะได้เป็น 1010000 แปลงเลขฐานสองชุดนี้เป็นเลขฐานสิบหกจะได้ 50 เท่านี้ก็จะได้ค่าไปใส่ในโปรแกรมว่า 0x50 แล้วครับ แต่คิดเลขปวดหัวดูตามตารางเลยดีกว่า
Jumper Pin
Address
A2
A1
A0
0
0
0
0x50
0
0
1
0x51
0
1
0
0x52
0
1
1
0x53
1
0
0
0x54
1
0
1
0x55
1
1
0
0x56
1
1
1
0x57
ต่อไปจะเป็นตัวอย่างการใช้งาน เราจะดูกันที่ EEPROM ตำแหน่งที่ 99 ซึ่งจะเขียนโค้ดง่าย ๆ ทำการเขียนค่าข้อความ "Hello Fitrox Electronics" ลงไป จากนั้นจะหน่วงเวลา 3 วินาทีแล้วทำการอ่านค่าออกมา ดูกันว่าจะได้ค่าที่เขียนลงไปหรือไม่ คำอธิบายหลัก ๆ เราต้องกำหนด EEPROM ภายนอกของเรา ในตัวอย่างให้ชื่อว่า myEEPROM และใช้ I2C Address 0x50 ส่วนคำสั่งนั้น Library ตัวนี้จะมีแค่ write() และ read() เท่านั้น โดยจะทำงานเหมือนกับ put() และ get() โครงสร้างของคำสั่งคือ
- write(address, data, size) คำสั่งในการเขียนข้อมูล ซึ่ง address ตรงนี้คือตำแหน่ง address ใน EEPROM ที่ต้องการนำข้อมูลไปไว้ data คือข้อมูลที่จะเขียนลงไป และ size คือขนาดของข้อมูล ตรงนี้เพื่อความสะดวกก็ใช้คำสั่ง sizeof() ไปเลยครับ
- read(address, variable, size) คำสั่งในการอ่านข้อมูล โครงสร้างจะเหมือนกับ write() ต่างกันเปลี่ยนจาก data ข้อมูลที่ต้องการเขียนเป็น variable ตัวแปรที่จะนำข้อมูลที่อ่านได้ไปเก็บไว้นั่นเอง
ลองอัพโหลดเล่นดูครับ ในหน้า Serial Monitor ได้ตามนี้มั๊ยเอ่ย
หวังว่าจะทำได้กันนะครับ สองบทต่อเนื่องยาวพอสมควร การเล่นอะไรอื่น ๆ ของ EEPROM ภายนอกนี้ก็จะคล้าย ๆ กับบทก่อนหน้า เพียงแค่เปลี่ยน Library จาก EEPROM มาเป็น Eeprom_at24c256 ตัวนี้เท่านั้นเอง ผู้เขียนขอให้การบ้านไปลองทำเหมือนกับตัวอย่างบทก่อน แต่ใช้ EEPROM ภายนอก AT24C256 กันดู ตอนต่อไปเป็นเรื่องอะไร ติดตามกันต่อนะครับ
tutorial
,
knowledge
,
EEPROM
,
การใช้ eeprom
,
arduino eeprom
,
Arduino สอนใช้งาน
,
การใช้งาน
,
การใช้งาน eeprom
,
at24c256
Share
Share :
COPY
Privacy Policy
|
Cookie Policy
|
Copyright © 2025
fitrox.lnwshop.com
All rights reserved.
ตะกร้า
(
0
)
▲
▼
รายการสั่งซื้อของฉัน
เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก
ยังไม่มีบัญชีเทพ
สร้างบัญชีใหม่
ไม่มีค่าใช้จ่าย
สมัครสมาชิก (ฟรี)
รายการสั่งซื้อของฉัน
ข้อมูลร้านค้านี้
Fitrox Electronics
ไฟทร็อก อิเล็กทรอนิกส์ จำหน่ายอุปกรณ์อิเล็กทรอนิกส์ บอร์ดไมโครคอนโทรลเลอร์ และอุปกรณ์สำหรับโปรเจคต่างๆ อ.เมือง จ.เชียงใหม่ (หลัง มช.)
เบอร์โทร :
0897245633
อีเมล :
fitrox.electronics@gmail.com
ส่งข้อความติดต่อร้าน
เกี่ยวกับร้านค้านี้
ค้นหาสินค้าในร้านนี้
ค้นหา
หรือค้นหาอย่างละเอียด
ค้นหาสินค้า
สินค้าที่ดูล่าสุด
{{pdata.name}}
ดูสินค้าทั้งหมดในร้าน
สินค้าที่ดูล่าสุด
บันทึกเป็นร้านโปรด
Join เป็นสมาชิกร้าน
แชร์หน้านี้
แชร์หน้านี้
↑
TOP
เลื่อนขึ้นบนสุด
คุณมีสินค้า
0
ชิ้นในตะกร้า
สั่งซื้อทันที
สินค้าในตะกร้า ({{total_num}} รายการ)
ขออภัย ขณะนี้ยังไม่มีสินค้าในตะกร้า
ราคาสินค้าทั้งหมด
฿ {{price_format(total_price)}}
- ฿ {{price_format(discount.price)}}
ราคาสินค้าทั้งหมด
{{total_quantity}} ชิ้น
฿ {{price_format(after_product_price)}}
ราคาไม่รวมค่าจัดส่ง
ดูสินค้าในตะกร้า
เริ่มการสั่งซื้อ
➜
เลือกซื้อสินค้าเพิ่ม
พูดคุย-สอบถาม
อีเมล fitrox.electronics@gmail.com
โทร 0897245633
channel/UCnHfpCdqN1RkzAfEH_lRLvw?
1924052434588436
Add @zpq2828r