יום שלישי, 28 במרץ 2017

דרייבר מגן (shield) עם שני מנועי DC

מנועי DC פשוטים משנים את כיוון הפעולה שלהם על פי החוטים: תחליפו בין הפלוס והמינוס - והמנוע יסתובב לצד השני. אבל - הארדואינו לא יודע להחליף בין החוטים וכאן נכנס לתמונה הדרייבר שתפקידו "להחליף" באופן וירטואלי בין החוטים ולאפשר לארדואינו לשלוט על המנועים ולסובב אותם לשני הצדדים.

ישנם סוגים שונים של דרייברים אבל הכיף בדרייבר shield זה שהחיבורים מאד פשוטים: מרכיבים את ה shield על גבי הארדואינו המתאים וזהו.. (כמעט, יש כמה חיבורים פשוטים אבל הרוב המוחלט נחסך..). 

מתחילים? 

רכיבים: 
  • לוח ארדואינו UNO
  • שני מנועי DC פשוטים 
  • 2 X סוללה 9V 
  • מתאם לסוללה 9V לארדואינו
  • מתאם לסוללה 9V ללא חיבור לארדואינו (שני חוטים..)
  • דרייבר מתאים (ראה תמונה)



מרכיבים את המעגל: 

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

לחיבור השמאלי ביותר שמסומן ב B- >> נחבר את המינוס של אחד המנועים
לחיבור השני משמאל שמסומן ב B+ >> נחבר את הפלוס של אותו המנוע. 
לחיבור השלישי משמאל שמסומן ב A- >> נחבר את המינוס של המנוע השני
ולחיבור הרביעי משמאל שמסומן ב A+ >> נחבר את הפלוס של המנוע השני. 

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

לחיבור הימני ביותר שמסומן ב GND >> נחבר את המינוס של הסוללה
ולחיבור השני שמסומן ב VIN >> נחבר את הפלוס של הסוללה. 

אל תחברו עדיין את הסוללות. נעלה את הקוד ואחר כך נחבר את הסוללות... 

הערה: הדרייבר שקניתי מגיע עם חיבורים הפוכים (באג, לא משהו מכוון..) ולכן החלפתי בין A- ו A+, כלומר, את אחד המנועים חיברתי באופן שהמינוס יהיה מחובר ל A+ והפלוס יהיה מחובר ל A-. תחזרו להערה הזאת אם משהו נראה לכם ממש לא בסדר בכיוונים של המנועים... 

הקוד:




בואו ננסה לעבור על הקוד ולהבין מה כתוב כאן:



יציאה דיגיטלית מספר 12 - שולטת על מנוע A ואילו היציאה דיגיטלית מספר 9 עוצרת את מנוע A.



בשורות הבאות ניתן לראות שיציאה מספר 13 - שולטת על מנוע B ויציאה מספר 8 - עוצרת את מנוע B.

כדי שהמנוע יעבוד הוא צריך לקבל 3 פקודות:

  1. להפעיל את היציאה הדיגיטלית של אותו המנוע - 12 או 13: HIGH לנסיעה קדימה ו LOW לנסיעה אחורה. 
  2. לבלום את הבלם של אותו המנוע - 8 או 9: להגדיר לו LOW. 
  3. להגדיר את המהירות של המנוע: מנוע A יוגדר על ידי יציאה 3 בערכים של 0-255 ומנוע B יוגדר ביציאה 11 על ידי ערכים של 0-255. 
הפעלה קדימה של מנוע A במלוא המהירות תראה כך: 



ואם נרצה להפעיל את מנוע B לאחור בחצי מהירות (כמעט חצי...) זה יראה כך:



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

(ואם זה  לא התוצאה שקיבלתם - תחזרו בבקשה להערה למעלה)

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



בהצלחה!!

יום ראשון, 26 במרץ 2017

ברומטר

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

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


ואחרי כל זה, אתם בטח רוצים לדעת איך בונים ברומטר...

רכיבים:

  • לוח ארדואינו
  • מטריצה
  • ברומטר
  • מספר חוטים
  • מסך LCD (לשלב ב')
  • פוטנציומטר (לשלב ב'). 
  • סוללה - אופציה (לשלב ב')

שלב א' - ברומטר ומסך סיריאלי

תחילה - מרכיבים את המעגל על פי התרשים. שימו לב שהברומטר יכול לקבל 3.3V ועלול להישרף ממתח של 5V!!!



ואחרי שהרכבתם - מורידים את הספריות הבאות:


שימו לב שאת הספריות יש להוריד כאשר תכנת הארדואינו אינה פועלת (לחלופין - יש לסגור לחלוטין ולפתוח בשנית). לאחר ההורדה, יש לחלץ את הספריות ולשמור אותן בתיקיית ה libraries. 

אצלי היא נמצאת כאן: 



וכאשר הספריות במקומן - נכנסים לארדואינו ומדביקים את הקוד:




לאחר שהעליתם את הקוד לארדואינו - פתחו את המסך הסיריאלי ותתחילו לראות את התוצאות מתרוצצות על המסך...

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

שלב ב' - ברומטר עצמאי

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

נתחיל?

תחילה מוסיפים למעגל מסך LCD עם 12 חיבורים וכמו כן - מוסיפים סוללה.


את הסוללה עדיין לא מחברים. נעלה את הקוד, ננתק את ה USB ואז נחבר את הסוללה:




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

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



והנה הפעמון בפעולה:




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

מחיאת כף

תמיד חלמתם להדליק את האור במחיאת כף? עם ארדואינו זה ממש קל!

רכיבים:


  • לוח ארדואינו
  • מטריצה 
  • מיקרופון לארדואינו 
  • נורת לד
  • נגד 220Ω

תחילה מרכיבים את המעגל:



בניית המעגל פשוטה:

נורת הלד מקבלת מתח מיציאה דיגיטלית מספר 13 דרך נגד 220Ω והרגל הקצרה של נורת הלד מחוברת ל GND. 
המיקרופון שלי הוא בעל שלושה חיבורים: 
  1. VCC >> יתחבר ל 5V בארדואינו. 
  2. GND >> יתחבר ל GND בארדואינו. 
  3. OUT >> יתחבר ליציאה דיגיטלית 3 בארדואינו (D3). 
אם במקום OUT יש לכם 2 יציאות בשם A0 ו- D0 - השאירו את יציאת ה A0 ללא חיבור ואת ה D0 חברו ליציאה דיגיטלית 3 בארדואינו.

זה אמור להראות בערך כך:


אחרי שחיברתם את המעגל, הגיע הזמן להעלות את הקוד: 




כעת, שניה לפני שאתם מתחילים - דבר קטן אחרון:

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

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

תהנו!



וממש ממש לסיום:

1. כמובן שבמקום נורת לד ניתן לחבר לרשת החשמל הביתית בעזרת Relay.
2. ניתן לשנות את ה Delay  בקוד כך שמחיאת כף תדליק את הנורה לזמן רב יותר. לחלופין - ניתן לשנות את הקוד לחלוטין כך שמחיאת כף אחת תדליק את הנורה ואילו מחיאת כף נוספת תכבה אותה. ניתן לראות דוגמא לקוד דומה כאן (במעגל השלישי).

בהצלחה!

יום רביעי, 8 במרץ 2017

בית חכם

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

החיסרון - עשה זאת בעצמך (DIY)... 

בפוסט הקרוב ננסה לתת רעיונות לבית חכם. נתחיל מהדברים הבסיסיים ונתקדם הלאה...





שלב א' - מנגנון אזעקה לדלת

רכיבים: 

  • לוח ארדואינו
  • נורת לד
  • נגד 220𝛀
  • נגד 10K𝛀
  • מספר חוטים
  • מנגנון לדלת (ראה הערה)
הערה: המנגנון לדלת שאני משתמש בו הוא מנגנון מובנה שמיועד לכך. מדובר בסך הכל ברכיב פשוט שבעזרת מגנט יוצר חיבור פנימי בתוך הרכיב. כאשר המגנט מתרחק מהמנגנון (נניח כאשר הדלת נפתחת) - החיבור הפנימי נפסק. הארדואינו מזהה הפסקה בזרם ופועל על פי הפקודות שלנו. 
במקום הרכיב ניתן להשתמש בשני חוטים: חוט אחד מחובר לדלת הבית וחוט שני מחובר למשקוף. כאשר הדלת סגורה - החוטים נוגעים האחד בשני, כאשר הדלת פתוחה - אין מגע של חוט בחוט והארדואינו מזהה את הנתק. 

נרכיב לפי התרשים: 



שימו לב שוב בבקשה: הכיתוב של המנגנון דלת בתרשים, מבטא שני חוטים המחוברים יחד ואשר פתיחה של הדלת תפריד ביניהם.

לאחר שסיימתם, העלו בבקשה את הקוד הבא:




כעת, הנורה אמורה להיות כבויה. נתקו את החוטים של "מנגנון הדלת" והנורה אמורה לדלוק.

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








שלב ב' - שילוב זמזם

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

רכיבים נוספים:


  • נגד 100𝛀 (גם נגד של 330𝛀 יעבוד אבל יחליש את עוצמת האזעקה)
  • זמזם
  • חוטים נוספים 
נוסיף למעגל שלנו את הזמזם על פי התרשים הבא: 




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






כעת ניתן לשמוע את האזעקה ולא להסתפק רק בהבהוב של הנורה:






שלב ג' - תצוגת מסך

לפני תחילת השלב הזה, נפנה את יציאות 11,12 לטובת המסך:


  1. נעביר את החוט מיציאה 11 אל יציאה מספר 6
  2. נעביר את החוט מיציאה מספר 12 אל יציאה מספר 7
כעת, נוסיף את המסך.



רכיבים נוספים: 

  • מסך עם 12 חיבורים 
  • פוטנציומטר
  • חוטים... 

נוסיף את המסך למעגל על פי התרשים הבא: 




ליתר ביטחון - מצרף לכם את ההוראות גם בכתב (התרשים אכן עמוס ומבלבל אבל סומך עליכם שתצליחו...):

(יציאות ה LCD נמנות כאן משמאל לימין!)
  • יציאה מספר 1 במסך ה LCD >>> ל GND בארדואינו
  • יציאה מספר 2 במסך ה LCD >>> ל 5V בארדואינו
  • יציאה מספר 3 במסך ה LCD >>> לחיבור האמצעי של הפוטנציומטר
  • יציאה מספר 4 במסך ה LCD >>> ליציאה 12 בארדואינו
  • יציאה מספר 5 במסך ה LCD >>> ל GND בארדואינו
  • יציאה מספר 6 במסך ה LCD >>> ליציאה 11בארדואינו
  • יציאה מספר 7 במסך ה LCD >>> ללא חיבור
  • יציאה מספר 8 במסך ה LCD >>> ללא חיבור
  • יציאה מספר 9 במסך ה LCD >>> ללא חיבור
  • יציאה מספר 10 במסך ה LCD >>> ללא חיבור
  • יציאה מספר 11 במסך ה LCD >>> ליציאה 5 בארדואינו
  • יציאה מספר 12 במסך ה LCD >>> ליציאה 4 בארדואינו
  • יציאה מספר 13 במסך ה LCD >>> ליציאה 3 בארדואינו
  • יציאה מספר 14 במסך ה LCD >>> ליציאה 2 בארדואינו
  • יציאה מספר 15 במסך ה LCD >>> ל 5V בארדואינו
  • יציאה מספר 16 במסך ה LCD >>> ל GND בארדואינו
במציאות זה כמובן נראה גרוע הרבה יותר...



ואחרי שחיברתם הכל - הגיע הזמן להעלות את הקוד. שימו לב שהקוד עבר שני שינויים:


  1. היציאות שהוחלפו בתחילת שלב זה באו לידי ביטוי בקוד. 
  2. נוספו הפקודות של המסך. 



ואם חיברתם הכל טוב, תוכלו לראות על גבי המסך התראה כאשר הדלת נפתחת: 






שלב ד' - תצוגת טמפרטורה

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

רכיבים נוספים לשלב זה:

  • חיישן טמפרטורה אנלוגי מסוג TMP 36GZ

שימו לב!!

העמידו את חיישן הטמפרטורה כאשר הכיתוב נמצא מולכם ואילו הצד הקמור של החיישן פונה כלפי חוץ. כאשר החיישן במצב זה, הרגל השמאלית שלו - צריכה לקבל את ה 5V ואילו הרגל הימנית - מתחברת ל GND. אם תהפכו את היוצרות, תקבלו חיישן חם מאד שעלול לגרום לכוויות ואף להישרף!!

מקווה שכתבתי את זה מספיק בולט...

נוסיף את החיישן על פי התרשים הבא:





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



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






שלב ה' - בקרת אקלים 

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

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

רכיבים נוספים:


  • מאוורר


זה התרשים של המערכת עם בקרת האקלים:



והקוד שודרג כך שהמאוורר יופעל כאשר הטמפרטורה עולה מעל 22 מעלות צלזיוס.




שימו לב בסרטון להפעלת המאוורר כתגובה לעליית הטמפרטורה ולהפסקת הפעולה לאחר החזרה לאיזון. האזעקה ממשיכה לעבוד כמובן:






שלב ו' - לאן ממשיכים מכאן? 

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

בהצלחה!!