- מודול חיישן רטט SW-420
- רכיבים נדרשים
- תרשים מעגל חיישן רטט Arduino
- תכנות חיישן רטט Arduino Uno
- בדיקת מעגל חיישן הרטט של Arduino
ישנן מספר מכונות קריטיות או ציוד יקר אשר סובלים מנזקים עקב רעידות. במקרה כזה, חיישן רטט נדרש כדי לברר אם המכונה או הציוד מייצרים רעידות או לא. זיהוי האובייקט הרוטט ברציפות אינו עבודה מסובכת אם נעשה שימוש בחיישן המתאים לזיהוי הרטט. ישנם מספר סוגים של חיישני רטטזמין בשוק שיכול לזהות את הרטט באמצעות חישת תאוצה או מהירות ויכול לספק תוצאה מצוינת. עם זאת, חיישנים כאלה יקרים מדי במקום בו משתמשים במד התאוצה. מד התאוצה הוא מאוד רגיש וניתן ליצור באמצעותו מעגל גלאי רעידות אדמה. אבל, ישנם מעט חיישנים ייעודיים וזולים הזמינים גם לאיתור הרטט בלבד, חיישן רטט כזה הוא SW-420 שאותו אנו מתכוונים להתממשק עם Arduino Uno.
אז בפרויקט זה, מודול חיישן רטט בסיסי מתממשק עם Arduino UNO הפופולרי ובכל פעם שחיישן הרטט מגלה רטט או מטלטל נורית LED תתחיל להבהב.
מודול חיישן רטט SW-420
זהו מודול רטט SW-420, שיכול לעבוד מ -3.3 וולט ל -5 וולט. החיישן משתמש במשווה LM393 כדי לזהות את הרטט מעל נקודת סף ולספק נתונים דיגיטליים, לוגיקה נמוכה או גבוהה לוגית, 0 או 1. במהלך פעולה רגילה, החיישן מספק לוגיקה נמוכה וכאשר הרטט מתגלה, החיישן מספק לוגיקה גבוהה. ישנם שלושה ציוד היקפי זמין במודול, שני נוריות LED, אחת למצב צריכת חשמל ואחרת לפלט החיישן. בנוסף, קיים פוטנציומטר אשר ניתן להשתמש בו עוד יותר כדי לשלוט על נקודת הסף של הרטט. בפרויקט זה נשתמש ב- 5V להפעלת המודול.
השתמשנו באותו חיישן במערכת התראה נגד גניבה באמצעות ATMega8 Microcontroller. כמו כן ניתן להשתמש בחיישן הטיה לזיהוי תאונה פתאומית.
רכיבים נדרשים
- ארדואינו UNO
- מודול חיישן רטט SW-420
- 5 מ"מ LED (בכל צבע)
- חוטי מגשר (חוטי חיבור)
- כבל USB להעלאת תוכנית
תרשים מעגל חיישן רטט Arduino
התרשים לממשק חיישן הרטט עם Arduino uno מובא להלן.
הנורית מחוברת בסיכת D13. המודול מופעל באמצעות סיכה 5V הזמינה בארדואינו. הקרקע וסיכה 5V משמשים להפעלת הארדואינו ואילו סיכה A5 משמשת לקבל את הנתונים מחיישן הרטט.
המעגל בנוי במקום שבו מודול ה- SW-420 וה- LED מחוברים עם Arduino Uno.
תכנות חיישן רטט Arduino Uno
תכנות ה- Arduino UNO לממשק חיישן רטט אינו דורש מאמץ רב מכיוון שיש לפקח על סיכת הקלט בלבד כדי להגיע למסקנה. הקוד המלא ווידאו עובד מצורפים בסוף.
בתחילה כלולים קבצי הכותרת. כותרת הארדואינו כלולה מאחר והדרכה זו נכתבה ב- Eclipse IDE עם סיומת Arduino. סקיצה זו תפעל גם עבור Arduino IDE ובעת השימוש במערכון זה ב- Arduino IDE, אין צורך לכלול כותרת עליונה.
#לִכלוֹל
כאן מוגדרים שני פקודות מאקרו כ- ON ו- OFF.
#define ON 1 #define OFF 0
ההצהרה שלהלן משמשת לשילוב נוריות וחיישן הרטט. חיישן הרטט מחובר לסיכה A5. נעשה שימוש גם בנורת LED המובנית אשר מחוברת ישירות בלוח לסיכה 13. נורית ה- 5 מ"מ מחוברת גם לסיכה 13.
/ * * תיאור סיכה * / int vibration_Sensor = A5; int LED = 13;
שני מספרים שלמים מוצהרים במקום בו החיישנים מציגים את הפלט והפלט הקודם יאוחסנו, אשר ישמשו עוד כדי לזהות אם הרטט מתרחש או לא.
/ * * תיאור זרימת התוכנית * / int present_condition = 0; int previous_condition = 0;
אותו סיכה המוכרז כחיבור היקפי, כיוון הפינים מוגדר. סיכת החיישן כקלט ופין ה- LED כפלט.
/ * * הגדרת מצב סיכה * / הגדרת חלל () { pinMode (vibration_Sensor, INPUT); pinMode (LED, OUTPUT); }
פונקציה אחת נכתבת כדי למצמץ את הנורית פעמיים. ניתן לקבוע את התצורה של העיכוב על ידי צ'אטינג בערך העיכוב.
void led_blink (void) { digitalWrite (LED, ON); עיכוב (250); digitalWrite (LED, OFF); עיכוב (250); digitalWrite (LED, ON); עיכוב (250); digitalWrite (LED, OFF); עיכוב (250); }
בפונקציית הלולאה משווים בין המצב הנוכחי לקודם. אם שני אלה אינם זהים, הנורות מתחילות למצמץ עד ששניהם זהים. בהתחלה, שני המשתנים מחזיקים 0 והנורית נשארת כבויה במהלך תחילת התוכנית. כשיש סוג של virbraion, משתנה present_condition הופך ל -1 ומוביל מתחיל למצמץ. ושוב כאשר הרטט נעצר, שני המשתנים הופכים ל -0 והנורית מפסיקה להבהב.
loop loop () { previous_condition = present_condition; תנאי_הווה = digitalRead (A5); // קריאת נתונים דיגיטליים מהסיכה A5 של הארדואינו. אם (התנאי הקודם! = התנאי הנוכחי) { led_blink (); } אחר { digitalWrite (LED, OFF); } }
פעולה זו מסיימת את תכנות ה- Arduino UNO עם חיישן הרטט. השלב האחרון יהיה בדיקת כל ההתקנה.
בדיקת מעגל חיישן הרטט של Arduino
המעגל אינו דורש קרש לחם נוסף. ניתן לבדוק אותו פשוט באמצעות מועצת UNO של Arduino. מנורת ה- LED מנוטרת כאשר מכה חיישן הרטט או אם הוא משנה את מצבו. הנורית תהבהב מחוברת לסיכה 13 של ארדואינו UNO כשיש כמה רעידות. אם חיישן הרטט אינו פועל, אנא בדוק את החיבור וההספק. הימנע מכל חיבור רופף בין חיישן למיקרו-בקר.
אז ככה ניתן להתממשק חיישן רטט עם Arduino UNO. אם יש לך ספק או הצעה כלשהי תוכל להגיע אלינו דרך הפורום או שתוכל להגיב למטה.