
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12



สวัสดีทุกคน, Arduino ทุกตัวมีหน่วยความจำในตัวขนาดเล็กที่เรียกว่า EEPROM คุณสามารถใช้สิ่งนี้เพื่อจัดเก็บการตั้งค่าสำหรับโปรเจ็กต์ของคุณ โดยค่าที่เลือกจะถูกเก็บไว้ระหว่างรอบกำลัง และค่าเหล่านั้นจะอยู่ที่ค่านั้นในครั้งต่อไปที่คุณเปิดเครื่อง Arduino ฉันมีเคล็ดลับเด็ดๆ ที่จะสอนวิธีเริ่มต้นชุดค่าดีฟอลต์ในการรันครั้งแรกของคุณ ดังนั้นให้คอยดูว่าจะทำอย่างไร
ขั้นตอนที่ 1: EEPROM คืออะไร?

EEPROM เป็นหน่วยความจำขนาดเล็กที่เก็บค่าไว้แม้ในขณะที่บอร์ด Arduino ปิดอยู่ ซึ่งทำหน้าที่เหมือนฮาร์ดไดรฟ์ขนาดเล็ก คุณจึงสามารถเก็บพารามิเตอร์ไว้สำหรับเปิดเครื่องในครั้งต่อไป ขึ้นอยู่กับประเภทของบอร์ด Arduino คุณจะมีพื้นที่เก็บข้อมูลที่แตกต่างกันออกไป ตัวอย่างเช่น Uno มี 1024 ไบต์ Mega มี 4096 ไบต์ และ LilyPad มี 512 ไบต์
สิ่งสำคัญคือต้องสังเกตว่า EEPROM ทั้งหมดมีจำนวนรอบการเขียนที่จำกัด Atmel ระบุอายุขัยของรอบการเขียน/ลบประมาณ 100,000 รอบสำหรับ EEPROM บน Arduino นี้อาจดูเหมือนเป็นการเขียนจำนวนมาก แต่คุณสามารถบรรลุขีด จำกัด นี้ได้ง่ายหากคุณอ่านและเขียนวนซ้ำ เมื่อสถานที่ถูกเขียนและลบหลายครั้งเกินไป สถานที่นั้นอาจไม่น่าเชื่อถือ อาจไม่ส่งคืนข้อมูลที่ถูกต้อง หรือคืนค่าจากบิตที่อยู่ใกล้เคียง
ขั้นตอนที่ 2: นำเข้าไลบรารี



ในการใช้หน่วยความจำนี้ ก่อนอื่นเราต้องรวมไลบรารีที่ Arduino จัดเตรียมไว้ให้ ห้องสมุดมีวิธีการสองวิธี: อ่านและเขียนสำหรับการดำเนินการตามนั้น ฟังก์ชัน read ยอมรับที่อยู่ที่เราต้องการอ่าน ในขณะที่ฟังก์ชัน write ยอมรับทั้งที่อยู่และค่าที่เราต้องการจะเขียน
ในตัวอย่างของเรา เป้าหมายคือการจัดเตรียมอาร์เรย์ของการตั้งค่าให้พร้อมในการเริ่มต้น Arduino แต่ละครั้ง ดังนั้นเราจึงเริ่มต้นด้วยการกำหนดอาร์เรย์ที่เราจะใช้สำหรับการจัดเก็บและกำหนดที่อยู่สำหรับการตั้งค่าแต่ละรายการที่เราต้องการจัดเก็บ ในชิปที่เรามี 1024 ไบต์ ตำแหน่งของที่อยู่จะอยู่ระหว่าง 0 ถึง 1023
ขั้นตอนที่ 3: ตั้งค่าสถานะการเริ่มต้น

เคล็ดลับสำหรับการตั้งค่าเริ่มต้นของค่าเริ่มต้นสำหรับการตั้งค่าคือการใช้ที่อยู่ใดที่อยู่หนึ่งเป็นตัวบ่งชี้ว่าการตั้งค่าเริ่มต้นขึ้นหรือไม่ ฉันใช้ตำแหน่งที่อยู่ล่าสุดสำหรับสิ่งนี้ เนื่องจากมักจะไม่ใช้เพื่ออย่างอื่น ฟังก์ชัน loadSettings จะตรวจสอบตำแหน่งนี้ก่อนหากค่าที่เก็บไว้มีอักขระ "T" และหากไม่มี ระบบจะตั้งค่าโดยเขียนค่าเริ่มต้นสำหรับแต่ละรายการ เมื่อเสร็จแล้วมันจะตั้งค่าของตำแหน่งที่เราติดตามการตั้งค่าเริ่มต้นเป็นตัวอักษร "T" และครั้งต่อไปเมื่อเราเปิด Arduino เราจะไม่เริ่มต้นค่าอีกต่อไป แต่จะอ่านข้อมูลที่บันทึกไว้แทน อาร์เรย์ของเรา
ขั้นตอนที่ 4: การอัปเดตการตั้งค่า

สำหรับการอัปเดตค่า เราสามารถใช้ฟังก์ชันเขียนตามที่เรามีในการกำหนดค่าเริ่มต้น แต่วิธีที่ดีกว่าคือการใช้ฟังก์ชันอัปเดตที่มีให้ ฟังก์ชันนี้ทำสิ่งใดคือจะตรวจสอบก่อนว่าค่าที่เราพยายามบันทึกเป็นค่าเดียวกับที่มีอยู่ใน EEPROM แล้วหรือไม่ และหากเป็นค่านั้น ค่านั้นจะไม่อัปเดต การทำเช่นนี้จะพยายามลดจำนวนการดำเนินการเขียนให้เหลือน้อยที่สุดเพื่อยืดอายุของ EEPROM
ขั้นตอนที่ 5: สนุก


ฉันหวังว่าคำแนะนำนี้จะเป็นประโยชน์กับคุณและคุณสามารถเรียนรู้บางสิ่งได้ ซอร์สโค้ดมีอยู่ในหน้า GitHub ของฉัน และลิงก์อยู่ด้านล่าง หากคุณมีข้อเสนอแนะใด ๆ โปรดทิ้งไว้ในความคิดเห็นและอย่าลืมสมัครรับข้อมูลจากช่อง YouTube ของฉันสำหรับวิดีโอที่คล้ายกันมากขึ้น
แนะนำ:
GPS Para Norma (เครื่องบันทึกข้อมูล EEPROM): 5 ขั้นตอน

GPS Para Norma (เครื่องบันทึกข้อมูล EEPROM): เครื่องบันทึกข้อมูลสัตว์เลี้ยง GPS แบบง่ายโดยใช้การบันทึก Arduino และ EEPROM================================ =========================================================================================================================================================================================================================================================
การอ่านและเขียนข้อมูลไปยัง EEPROM ภายนอกโดยใช้ Arduino: 5 ขั้นตอน

การอ่านและการเขียนข้อมูลไปยัง EEPROM ภายนอกโดยใช้ Arduino: EEPROM ย่อมาจากหน่วยความจำแบบอ่านอย่างเดียวที่สามารถตั้งโปรแกรมได้ที่สามารถลบได้ด้วยไฟฟ้า EEPROM มีความสำคัญและมีประโยชน์มากเพราะเป็นหน่วยความจำรูปแบบที่ไม่ลบเลือน ซึ่งหมายความว่าแม้ในขณะที่บอร์ดปิดอยู่ ชิป EEPROM ยังคงรักษาโปรแกรมที่
Arduino I²C™ EEPROM BYTEBANGER: 5 ขั้นตอน

Arduino I²C™ EEPROM BYTEBANGER: เมื่อเร็ว ๆ นี้ฉันรู้สึกทึ่งกับI²C EEProms หลังจากค้นคืนบางส่วนจากทีวีฉายภาพด้านหลังเครื่องเก่าที่ฉันเลิกใช้ ฉันค้นหาอินเทอร์เน็ตโดยพยายามค้นหาข้อมูลเพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ เช่น เอกสารข้อมูล & บทช่วยสอนเกี่ยวกับวิธีการทำงานเหล่านี้
EEPROM ในตัวของ Arduino: 6 ขั้นตอน

Inbuilt EEPROM ของ Arduino ของคุณ: ในบทความนี้เราจะตรวจสอบ EEPROM ภายในในบอร์ด Arduino ของเรา EEPROM ที่พวกคุณบางคนอาจกำลังพูดถึงคืออะไร? EEPROM เป็นหน่วยความจำแบบอ่านอย่างเดียวที่สามารถตั้งโปรแกรมได้ที่สามารถลบได้ด้วยไฟฟ้า มันเป็นรูปแบบของหน่วยความจำแบบไม่ลบเลือนที่สามารถจำ
การเพิ่ม 24LC256 EEPROM ให้กับ Arduino Due: 3 ขั้นตอน

การเพิ่ม 24LC256 EEPROM ให้กับ Arduino Due: Arduino เนื่องจากไม่มี eeprom คำแนะนำนี้เพิ่มหนึ่งรายการและช่วยให้คุณสามารถเก็บค่าในหน่วยความจำแบบไม่ลบเลือนที่จะคงอยู่จากการอัพเดตเฟิร์มแวร์ Arduino