สารบัญ:

การเริ่มต้นการตั้งค่า Arduino EEPROM: 5 ขั้นตอน
การเริ่มต้นการตั้งค่า Arduino EEPROM: 5 ขั้นตอน

วีดีโอ: การเริ่มต้นการตั้งค่า Arduino EEPROM: 5 ขั้นตอน

วีดีโอ: การเริ่มต้นการตั้งค่า Arduino EEPROM: 5 ขั้นตอน
วีดีโอ: #25 สอน Arduino Tutorial : Arduino บันทึกข้อมูลลง EEPROM 2024, พฤศจิกายน
Anonim
Image
Image
EEPROM คืออะไร?
EEPROM คืออะไร?

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

ขั้นตอนที่ 1: EEPROM คืออะไร?

EEPROM คืออะไร?
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 ของฉันสำหรับวิดีโอที่คล้ายกันมากขึ้น

แนะนำ: