עבור לתוכן

איך אפשר להגדיר שעון פנימי בארדואינו

Featured Replies

פורסם

נגיד אני רוצה לעשות שכל יום בשעה 16:00 זה יפעיל משהו

וכל יום בשעה 18:33 זה יפעיל עוד משהו

ושאני יוכל לקבוע את השעה שלא יהיה קבוע

איך עושים את זה?

פורסם

אתה צריך שעון זמן אמת, או שתקנה רכיב\מודול חיצוני שעושה את זה ותתקשר איתו בשביל לכוון את השעה ולקרוא אותה לאחר מכן.

או תחבר גביש של 32.768kHz לאחת מכניסות הטיימר של הארדואינו, וייצר פסיקה כל שניה שתעלה מונה שיספור שניות, כמובן שתצטרך לכתוב את כל הלוגיקה של השעון (ז"א שאחרי 60 שניות תגדיל דקה ותאפס את השניות וכו').

אחרי שיש שעון זמן אמת ודרך לקבוע את השעה זה כבר לא בעיה להשוואת את השעה לשעה שאתה רוצה ולהפעיל מה שאתה רוצה.

אם הדיוק והסחיפה פחות חשובים לך אפשר להשתמש בספריה הזאת בלי שעון זמן אמת.

פורסם
  • מחבר

אתה צריך שעון זמן אמת, או שתקנה רכיב\מודול חיצוני שעושה את זה ותתקשר איתו בשביל לכוון את השעה ולקרוא אותה לאחר מכן.

או תחבר גביש של 32.768kHz לאחת מכניסות הטיימר של הארדואינו, וייצר פסיקה כל שניה שתעלה מונה שיספור שניות, כמובן שתצטרך לכתוב את כל הלוגיקה של השעון (ז"א שאחרי 60 שניות תגדיל דקה ותאפס את השניות וכו').

אחרי שיש שעון זמן אמת ודרך לקבוע את השעה זה כבר לא בעיה להשוואת את השעה לשעה שאתה רוצה ולהפעיל מה שאתה רוצה.

אם הדיוק והסחיפה פחות חשובים לך אפשר להשתמש בספריה הזאת בלי שעון זמן אמת.

תודה על התשובה,

אני כנראה ישתמש בספרייה

בעצם, אתה יכול להסביר לי יותר על הקריסטל הזה? ומה זה כניסת טיימר? אתה מתכוון ANALOG IN?

פורסם

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

הגביש הזה בעצם מתנדד ומשנה את המוצא שלו 32.768 אלף פעמים בשניה, אם תחבר אותו לאותה כניסת המונה כל פולס שימדד יהיה בערך 30.5 מיקרו שניות. אם תספור 32768 פולסים כאלה תדע שחלפה שניה.

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

פורסם
  • מחבר

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

הגביש הזה בעצם מתנדד ומשנה את המוצא שלו 32.768 אלף פעמים בשניה, אם תחבר אותו לאותה כניסת המונה כל פולס שימדד יהיה בערך 30.5 מיקרו שניות. אם תספור 32768 פולסים כאלה תדע שחלפה שניה.

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

תודה :)

אבל עדיין לא הבנתי באיזה פין המונה הזה חח

פורסם

פין 6 ו 11 בבקר, שלפי גוגל אלו פינים Digital Pin 4 ו 5 בהתאמה.

פורסם
  • מחבר

פין 6 ו 11 בבקר, שלפי גוגל אלו פינים Digital Pin 4 ו 5 בהתאמה.

תודה!

פורסם

אני חושבת שאין צורך בגביש וקבוע זמן חיצוני,

כי אין שום בעיה לגרום ללד להבהב בתדר של 1 הרץ לדוגמא.. או לגרום לארדואינו עצמו לייצר תדר כלשהו..

לכן מה הבעיה לקחת את התדר הזה ולספור אותו??

לארדואינו עצמו יש גביש מובנה בלוח.

עריכה:

יש סיפריה מוכנה לניהול זמנים ותאריכים בארדואינו.

http://arduino.cc/playground/Code/Time

פורסם

הבעיה היא איך לחלק את תדר השעון של הלוח (כמה הוא ? 16 או 20MHz) ל 1Hz בלי שארית ובלי לעגל.

גם הבעיה כשעושים את השעון בתוכנה זה אם באה איזה פסיקה ארוכה יחסית היא עלולה לגרום לסחיפה בשעון.

פורסם

Mike-

ראה את הלינק ששמתי בהודעה אחרי העריכה.

פורסם

אני חושב שהיתרון הגדול של ה- RTC על-פני השעון שניתן לתכנת ב- Arduino הוא שבמקרה והמתח של הבקר יורד, יש צורך להזין את נתוני השעון מחדש ובמקרה של ה- RTC הוא בד"כ מחובר בנוסף לסוללה שמאפשרת לו לעבוד כ-5 שנים (ואולי אף יותר, תלוי במצב הסוללה) ללא מקור מתח בכלל וכך רק פעם בכמה שנים יש צורך לעדכן את השעה ובכל פעם שתעלו את המערכת השעון יהיה מעודכן.

בנוסף, ה- RTC נותן את הנתונים גם בזמן (Epoch (unix time המאפשר לבצע כל מיני פעולות וחישובים על הזמן עצמו כי הוא תמיד מיוצג בשניות מצטברות מאז 1/1/1970 ב- 00:00.

מצ"ב לינק המכיל מעגל שכזה וקטע קוד:

http://www.ladyada.net/learn/breakoutplus/ds1307rtc.html

ניתן לרכוש אותו מכאן (אבל כל מעגל מודפס כזה שמבוסס על אותו רכיב DS1307 אמור לעבוד עם קטע הקוד הזה):

https://www.adafruit.com/products/264

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

  • 1 חודש מאוחר יותר...
פורסם

תחבר את הארדוינו למחשב ותכתוב סקריפט (אפשר אפילו ב- Processing) שישלח לו פקודה דרך התקשורת הטורית.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים