יום שבת, 29 בספטמבר 2012

הכל התחיל בעגבניה, The Tomato Project part1

אז כמו בכל תקופה מסוימת אני חושב על לגדל צמח מוזר יותר מהצמח הקודם שגידלתי (Naga Bhut Jolokia, הידוע כפלפל השני החריף בעולם) ואז חשבתי לעצמי, איך אוכל לדעת שיש לי סביבה מתאימה לגדל צמח מסויים? אז פה מתחיל הפרוייקט החדש שלי, עקרונית מדובר בניסוי פשוט מאוד, חיישן אור פלוס חיישן טמפרטורה מחוברים לפלטפורמת פיתוח כלשהי ומנותרים כל כמה דקות. כרגע כפי שאני רואה את זה ישנן שני אפשרויות, אפשרות ראשונה, פלטפורמה עצמאית שתתגום את שני החיישנים ותשמור את הנתונים על כרטיס זיכרון או משהו בסגנון, אפשרות שנייה, פלטפורמה שאינה עצמאית. כלומר, מחוברת קבוע למחשב ופשוט מעבירה כל כמה זמן את דגימת החיישנים דרך הסיראל פורט.

אז בסופו של דבר בחרתי באפשרות השנייה מכמה סיבות למרות שאני חייב לציין שהסיבה העיקרית היא עלות הפרויקט (תוספת web לarduino או לסירוגין מודול wifi זה עסק ממש לא זול לחייל מרושש כמוני.. ובאופן כללי, הרעיון יסבך את הפרויקט בהמשך). אז בוא נסביר קצת מה הולך להיות לנו. בגדול, החלק החומרתי של הפרויקט פשוט ביותר ואפילו למישהו שקיבל את לוח הarduino שלו היום לא יהיו יותר מדי בעיות איתו. עקרונית מדובר בחיישן טמפרטורה מסוג lm35 (חיישן די נחמד גם באריזתו הידידותית וגם במחירו האטרקטיבי ביחס לשאר חיישנים) כמובן שהחיישן DHT11 הינו אפשרות אידאלית הרבה יותר מה גם שהוא דוגם בנוסף אחוזי לחות, משתנה לא פחות חשוב. אבל שוב, עקב חיסכון וזמינות החלטתי להשתמש בlm35 ומי יודע, אולי בעתיד אתנסה גם בו. בנוסף לlm35 שדוגם את הטמפרטורה,

ישנו LDR
  (Light Dependent Resistor) או "נגד תלוי אור" כפי שקרוי בעברית או אפילו  photocell כמו שרבים קוראים לו. מדובר בעצם בנגד העשוי חוט רגיש לאור שפשוט משנה את התנגדותו בהתאם לאור אשר או נחשף, היתרון הגדול של הרכיב הזה הוא מחירו אשר נמוך מאוד וחסרונו הבולט הוא שאינו ממש חיישן כי הוא אינו דוגם ערך אמיתי אלה מחזיר ערך של התנגדותו, כמובן שאי שם יש חיישנים שמסוגלים לכך ויותר אבל כמובן שספקטרום המחירים בהתאם.
חיווט החיישנים לarduino
אז שלאחר שכתבתי קוד arduino בסיסי ביותר אשר קורא את ערכי החיישנים וזורק אותם לסיראל פורט ועכשיו נשאלת השאלה, מה לעזאזל אני עושה עכשיו? אז מיד נזכרתי שיצא לי לעבוד עם ספריית סיריאל לphp (כן כן, נמוך, אני יודע..) וחשבתי לקפוץ לבקר מה גם שעיניין העבודה עם הנתונים והצגתם יהיו פשוט להפליא דרך js ונפלאות ה-jquery. אז כתבתי, כתבתי וקימפלתי וו-לא עובד.. מחזיר לי איזה מיליון שגיאות, ניסיתי לדבג את זה כל הלילה אך ללא הועיל מה גם שאין כל כך תיעוד בעניין (מעניין למה..). אז אחריי שחזרתי לטיפה יותר מנקודת ההתחלה, התחלתי לחקור אפשרויות נוספות, כרגע אני עדיין מתלבט אם ללכת על processing או על c sharp/cpp

הworkflow של הרעיון

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

  • התרשמות והתחלת עבודה עם mplab-x ו-PIC18
  • אוטומציה ברובוטים
  • עבודה עם לוח ה-stellaris של TI (יכתב ברגע שאני אקבל את הלוח..)
כמו כן סודר עניין התגובות בבלוג וכעת ניתן להגיב גם אם אינכם בעלי חשבון גוגל, תרגישו חופשיים להציע רעיונות לפרויקטים חדשים או הערות לפרויקטים קיימים.
עד כאן, חג שמח, אלון רייזמן

2 comments:

  1. מי שעובד ב-PHP, שלא יתפלא על שום דבר... ;-)

    בדיוק הכנתי פרויקט של Datalogger עצמאי ששומר נתונים על כרטיס SD (מודול לכרטיס עולה דולרים בודדים). כתבתי לזה גם תוכנת Desktop משלימה, שיכולה להתחבר לארדואינו דרך הסריאל, לקרוא את המידע שהוא שמר ולהמיר אותו לפורמטים ידידותיים יותר. פשוט תבחר שפה נורמלית וזה יעבוד בקלות :-)

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

      מחק