תוכן עניינים:

אתחול הגדרות EEPROM Arduino: 5 שלבים
אתחול הגדרות EEPROM Arduino: 5 שלבים

וִידֵאוֹ: אתחול הגדרות EEPROM Arduino: 5 שלבים

וִידֵאוֹ: אתחול הגדרות EEPROM Arduino: 5 שלבים
וִידֵאוֹ: בקר התחלה-עצירה אוטומטי עם שעון זמן אמת DS3231 2024, יולי
Anonim
Image
Image
מהו EEPROM?
מהו EEPROM?

שלום כולם, לכל ארדואינו יש זיכרון מובנה קטן בשם EEPROM. אתה יכול להשתמש בזה כדי לאחסן הגדרות עבור הפרויקט שלך שבו הערכים שנבחרו יישמרו בין מחזורי ההפעלה והם יהיו שם בפעם הבאה שתפעיל את הארדואינו. יש לי טריק מגניב שילמד אותך איך אתה יכול להקים קבוצה של ערכי ברירת מחדל בריצה הראשונה שלך, אז הישאר שם כדי לגלות כיצד.

שלב 1: מהו EEPROM?

מהו EEPROM?
מהו EEPROM?

EEPROM הוא אחסון זיכרון זעיר, שערכיו נשמרים גם כאשר לוח Arduino כבוי. זה פועל כמו כונן קשיח זעיר, כך שתוכל לאחסן לך פרמטרים בפעם הבאה שתפעיל את המכשיר. בהתאם לסוג הלוח של Arduino, תהיה לך כמות אחסון שונה בכל אחד, כך למשל ל- Uno 1024 בתים, ל- Mega 4096 בתים ול- LilyPad 512 בתים.

חשוב לציין שלכל EEPROM יש מספר מוגבל של מחזורי כתיבה. אטמל מציין תוחלת חיים של כ -100,000 מחזורי כתיבה/מחיקה עבור ה- EEPROM על הארדואינו. זה אולי נשמע כמו הרבה כותבים, אבל זה יכול להיות קל להגיע לגבול הזה אם אתה קורא וכותב בלולאה. ברגע שמיקום נכתב ונמחק יותר מדי פעמים הוא יכול להיות בלתי אמין. ייתכן שהוא לא יחזיר את הנתונים הנכונים, או יחזיר את הערך מהסיבית השכנה.

שלב 2: ייבא את הספרייה

ייבא את הספרייה
ייבא את הספרייה
ייבא את הספרייה
ייבא את הספרייה
ייבא את הספרייה
ייבא את הספרייה

כדי להשתמש בזיכרון זה, אנו כוללים תחילה את הספרייה המסופקת של הארדואינו. הספרייה מספקת שתי שיטות: קריאה וכתיבה לפעולות בהתאם. פונקציית הקריאה מקבלת את הכתובת שממנה אנו רוצים לקרוא, ואילו פונקציית הכתיבה מקבלת הן את הכתובת והן את הערך שברצוננו לכתוב.

בדוגמה שלנו, המטרה היא להכין מערך הגדרות מוכן לכל התחלה של הארדואינו, אז נתחיל בהגדרת המערך בו נשתמש לאחסון והגדרת הכתובות לכל אחת מההגדרות שברצוננו לאחסן. בשבב שבו יש לנו 1024 בתים זמינים, מיקומי הכתובות יהיו בין 0 ל -1023.

שלב 3: הגדר את דגל האתחול

הגדר את דגל האתחול
הגדר את דגל האתחול

הטריק להגדרה הראשונית של ערכי ברירת המחדל עבור ההגדרות הוא להשתמש באחת הכתובות כאינדיקטור אם ההגדרות אותחלו או לא. השתמשתי במיקום הכתובת האחרון לשם כך מכיוון שלרוב הוא לא משמש לשום דבר אחר. הפונקציה loadSettings תבדוק תחילה את המיקום הזה אם הערך המאוחסן שם הוא תו "T" ואם לא, הוא ימשיך להגדיר לפי הגדרה, ויכתוב את הערכים ההתחלתיים עבור כל אחד מהם. לאחר שתעשה זאת, הוא יגדיר כעת את ערך המיקום שבו אנו עוקבים אחר ההגדרות המאתחלות לתו "T" ובפעם הבאה כאשר נפעיל את הארדואינו, לא נפעיל עוד את הערכים, אלא במקום זאת נקרא את הנתונים השמורים המערך שלנו.

שלב 4: עדכון הגדרות

מעדכן את ההגדרות
מעדכן את ההגדרות

לעדכון הערכים אנו יכולים להשתמש בפונקציית הכתיבה כפי שהייתה לנו על האתחול, אך דרך טובה יותר היא להשתמש בפונקציית העדכון המסופקת. מה שהפונקציה הזו עושה היא שהיא בודקת תחילה אם הערך אותו אנו מנסים לשמור הוא אותו ערך שכבר קיים ב- EEPROM ואם כן אז הוא לא מתעדכן. בכך הוא מנסה למזער את מספר פעולות הכתיבה על מנת להאריך את חיי ה- EEPROM.

שלב 5: תהנה

תהנה!
תהנה!
תהנה!
תהנה!

אני מקווה שהמדריך הזה היה מועיל לך ושהצלחת ללמוד משהו. קוד המקור זמין בדף GitHub שלי והקישור למטה. אם יש לך הצעות, אנא השאר אותן בתגובות ואל תשכח להירשם לערוץ היוטיוב שלי לסרטונים דומים נוספים.

מוּמלָץ: