פרויקט של השעות הקטנות של הלילה השתדרג טיפה slower, cheaper, smaller, better


אז במטרה לצמצם את הפרויקט שלי http://www.makers.co.il/mfs/showthread.php?t=3151
נכנסתי לאיביי והזמנתי ATtiny13A ו ATtiny85
כמובן שה 13 היה יותר זול וגם הגיע ראשון and oh boy כמה עבודה ולמידה עברתי כדי לגרום לזה לעבוד.
חלקים של הקוד עברו לקצת יותר low level כדי לצמצם בגודל, כמו שינה וdigitalWrite
גודל הקוד הסופי 920 בייט
על השינה למדתי ועשיתי "פורט" לATtiny13 מהפרויקט הנחמד הזה https://learn.sparkfun.com/tutorials…w-power-attiny
בעיות:
- ATtiny13A מגיע עם 1K פלאש בלבד ולצמצם את גודל הקוד היה המכשול העיקרי
- גם ה 13 וגם ה 85 מגיעים עם הרבה פחות פינים אז גם הייתי צריך לצמצם את הLDR ולא לבדוק אם יש אור .. אבל זה לא ממש מפריע לי
- בtiny למיניהם אני לא יכול לחשב את המתח של הVCC כי ה בקר לא מסוגל לעשות זאת אז הייתי צריך להשתמש ב ADC אז העדפתי מתח של סוללה על פני אור
במקום לחסוך סוללה לבזבז יותר
מורכב מ:
- ATtiny13A + תושבת
- מזלג לחות 😛 + נגד פול-אפ 10K
- לד צהוב + נגד 680
- כפתור TACT + נגד פול-אפ 10K
- זוג נגדים לחלק את מתח הסוללה 1M ו560K (נגדים גדולים כדי לחסוך סוללה)
- זוג סוללות כפתור 1.5V בטור (יוחלף ב CR2032)
משמעות קיום:
לתריע אם האדמה יבשה ע"י הבהוב לד -> ולהתריע אם הסוללה חלשה ע"י הבהוב שני.
מידת הלחות של האדמה ניתנת לכיול.
תיאור הפעולה:
מתעורר > מחליף analogReference ל INTERNAL כלומר 1.1V ולוקח מספר דגימות כדי לייצב את הקריאה, דוגם מתח סוללה, מחליף את הanalogReference ל DEFAULT כלומר VCC ולוקח מספר דגימות כדי לייצב את הקריאה ->
בודק אם כפתור כיול לחוץ {אם כן: מהבהב ומחכה ללחיצה שניה אשר תביא לדגימת המוליכות של האדמה ושמירה לEEPROM | אם לא: ממשיך} >
דוגם את מוליכות האדמה ומשווה לערך המכוייל {אם נמוך: מפליש את הלד} משווה את מתח הסוללה {אם נמוך: מפליש את הלד פעם נוספת} > חוזר לישון ל 8 שניות.
שינויים מיוחדים:
- נצרבו פיוזים לבקר אשר שמים אותו על שעון 4.8Mhz פנימי ומכבים זיהוי מתח נמוך (Brown-out) כדי שיחסוך בסוללה ויעבוד כל עוד הוא יכול.
- הפיוזים:
low_fuses=0x79
high_fuses=0xFF
צריכת אנרגיה וזמנים:
שינה של 7.61824 שניות במומוצע
ומצב ער של 81536 מיקרו-שניות בממוצע שזה 81.5 מילישניות
צריכה בשינה – 0.0068 מיליאמפר (6.8 מיקרו אמפר – עם האדרואינו פרו מיני היה 9 מיקרו אמפר)
צריכה כש-ער בלי הבהוב הלד – 1.43 מיליאמפר
צריכה כש-ער עם הבהוב הלד – 2.44 מיליאמפר
לא חישבתי זמן סוללה אבל יותר חסכוני מהפרויקט הקודם אז שנה++
הקוד"
ליבה:
ליבה core13 קלילה במיוחד
http://forum.arduino.cc/index.php?topic=89781.0
http://sourceforge.net/projects/ard-core13/
הערות:
הATtiny13A נראה לי עדיף בסופו של דבר כי הוא מסוגל לעבוד במתחים נמוכים ממש שלא כמו ה86 שלפי הדף הוא עד 2.8V
יש את ADC0 שלא השתמשתי בו ויכלתי לשים עליו LDR בשביל זה אני צריך לכבות את פין RESET בפיוזים וזה ימנע ממני לצרוב עם ISP ובגלל שאין לי צורבים ואין לי ראש להיכנס ביינתים לצורבים HV זה ישאר ככה
אם אזכר במשהו אוסיף..
ומקווה שאהבתם