יום שלישי, 13 באוגוסט 2013

תחנת מידע לסנסורים

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

הקוד לפרויקט נמצא ב-github ומכיל את קבצי הארדואינו וכן הרחבת python של ספריית ה-RF עבור Raspberry Pi שביצעתי באמצעות SWIG.

חלקי המערכת

המערכת מורכבת משלושה חלקים:
  • ארדואינו עם סנסורים: מד טמפרטורה ולחות, לחץ אויר, עוצמת אור ולחות קרקע
  • Raspberry Pi לאיסוף המידע מהחיישנים ומהאירנטרנט ולשליחתו לתצוגה (יוחלף בעתיד ע"י ארדורינו)
  • ארדואינו עם מסך Nokia 5110, לד 3 צבעים, רמקול, חישן טמפרטורה ולחות (אופציונאלי)
כל אחד מהחלקים מכיל גם משדר RF לתקשורת

סרטון שמציג את המערכת ב-Breadboard:

פירוט חלקים

תצוגה

התצוגה מכילה Arduino Pro Mini כמיקרובקר, מסך נוקיה 5110 (PCD8544), מנורת לד 3 צבעים (שהצלחתי לגרום לה להציג יותר באמצעות חלוקה בזמן), חיישן DHT22 לטמפרטורה ולחות (לא חובה, אבל מאפשר מדידה בתוך הבית)
מודול RF - nrf24l01 כדי לאפשר לחלקי המערכת לתקשר.
פירוט של חיבורי הפינים נמצא בקוד.

תמונות אחרי הרכבה:
















יש להעתיק את ספריות LED ,PCD8544 ו- sond לספריית Libraries בארדואינו IDE, וכן את קוד ה-RF.
כמו כן יש להוריד את ספרית DHT ואת ספריית Time

Raspberry Pi

ה-RPI משמש כמרכזיה לקבל ולהפיץ מידע וגם עליו מורכב מודול RF,
צריך לעקוב אחרי הוראות בניית הקוד בקובץ README.md,
לאחר מכן להיכנס לספרייה librf24-rpi/librf24-bcm
ולהריץ...
התוכנית מצפה למצוא קובץ מקומי בשם... עם שם וסיסמת Gmail כדי להציג מספר מיילים שלא נקראו, ניתן לבטל את זה ע"י...

יחידת סנסורים

יחידת הסנסורים מכילה Arduino Pro Mini, מודול RF, וחופן של סנסורים, ניתן למצוא את הקוד בספריית sensor.

סיכום
הרכיבים נקנו ב Ebay.
Arduino Pro Mini עולה פחות מ-4$ וכן גם מסך הנוקיה, ניתן להשיג 2 מודלי RF ב-3$ וגם הסנסורים השונים זולים.

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