יום טוב לכולם! במאמר זה ברצוני לספר כיצד השימוש ארדואינו, סט של נוריות LED וחיישן קולי, אתה יכול להרכיב מכשיר שקובע את המרחק מהצופה לאובייקט, במילים אחרות, מאתר טווח. וכך נלך!
מה אנחנו צריכים:
מישורית תיבה. רצוי להיות קטן בגודל, מכיוון שהוא יכיל בקר רק מיקרו אחד.
באמצעות מתמר קולי HC-SR04 אנו יכולים לקבוע את המרחק.
מחוון ארבע ספרות עלינו להפיק את הערכים המתקבלים.
הגדר נוריות לד כל הצבעים (השתמשתי בירוק, מכיוון שהם בהירים יותר), נגדים בגובה 220 אוהם חוטים או גם מגשרים גשר.
כדי שהרכיבים של המכשיר שלנו יהיו מהודקים היטב, אני אלחם אותם.
לשם כך אנו זקוקים מלחם, שטף, הלחמהגם כן לחם הלחמה.
וכמובן, בלי ארדואינו אנחנו לא יכולים לעשות! (אתה יכול לבחור כל בקר מיקרו, העדפתי את ארדואינו לאונרדו או את אותו איסקרה ניאו המקבילה)
מבין הכלים אנו זקוקים למגהץ, כמו שאמרתי לעיל, סכין ופטמות.
עכשיו נתחיל להרכיב את המכשיר.
שלב מס '1
כדי להתחיל בעבודה באמצעות קרש לחם, נרכיב אב-טיפוס של המכשיר העתידי שלנו. זה ייראה כמו זה ..
אל תדאג! אין שום דבר נורא בבלגן החוטים הזה!
חיישן HC-SR04 כולל ארבעה סיכות: פלוס מינוס (אותם אנו נדבקים ב -5 וולט ו- GND של הבקר), טריג והד (אנו מכניסים את סיכות הארדואינו ל -12 ו -11 בהתאמה)
המחוון בן ארבע הספרות כולל 3 חוטים: כוח, קרקע ואות. האחרון מחובר לארדינו בן 9 הסיכות.
אנו מחברים שלושה נוריות לד 6, 5 ו -4 אנשי קשר של הבקר בסדרה עם נגדים. אל תשכח מהקוטביות. זרם זורם מרגל ארוכה לרגל קצרה יותר.
זה הכל, כאשר הרכבנו את המכשיר שלנו על גבי קרש לחם, העלינו את הסקיצה (זה יהיה בסוף הכתבה) ודאגנו שהכל יעבוד, תרגישו חופשי להתחיל להלחם.
שלב מספר 2
ראשית, הלחמו את חיישן הקולי ללוח הגישה. השתמשתי בקרטון קטן בגודל, מכיוון שמספר האלמנטים אינו עולה על 7.
לאחר מכן, בעזרת ניגבים, נשכו את הרגליים (אני מתנצל על הטאוטולוגיה), מה שהופך אותם לקצרים יותר כך שלא יפריעו וייראו יפים יותר!
לאחר מכן, הלחמו את ארבעת החוטים כנגד אנשי הקשר בחיישן.
כמו כן אל תשכחו מהפטמות!
שלב 3
החיישן נמצא במקום, נשאר לרתך את שלושת נוריות הלד יחד עם הנגדים.
בצד האחורי, זה נראה כך:
שלב 4
בצד התיבה, חתכו חור עגול לאוכל.
על המכסה אתה צריך לחתוך חלל לגודל (מעט קטן יותר באורך) של הלוח שלך, וכן לקדוח חורים לברגים.
כעת, אם נדפק קרש לחם ריק ללא אלמנטים עליו (עשיתי את זה רק להפגנה ..), נקבל משהו כמו הבא:
שלב 5
לכן, בכדי שיהיה נוח יותר, אני מציע תחילה לחבר את החוטים לארדואינו, ורק אחר כך לדפוק את הלחם למכסה התיבה. כמו כן, אל תשכח מהמחוון שלנו שהצבתי מעל הפריסה.
הכל במכלול המכשירים הזה נגמר!
נותר רק להוריד את הבא סקיצה ותיהנו מהצעצוע!
# כלול
# כלול
סונאר של NewPing (12.11, 400);
int a, j, b;
לא חתום ארוך t = 0;
int masiv [] = {1,0,0,0,1,0,0,0,1};
הגדרת ביטול ()
{
עבור (int i = 4; i & lt; 7; i ++)
{
pinMode (i, OUTPUT);
}
displayClear (9);
עבור (int i = 4; i & lt; 7; i ++)
{
digitalWrite (i, 0);
}
}
לולאה חלילה ()
{
j = 7;
עבור (int i = 0; i100) טון (2,70);
digitalWrite (j, masiv [i]);
בעוד (מיליס () & lt; = t + b)
{
עיכוב (50);
a = sonar.ping_cm ();
displayInt (9, א);
b = a;
}
t = מיליס ();
אם (j == 4) j = 7;
אם (i == 8)
{
digitalWrite (4.1);
בעוד (מיליס () & lt; = (t + b) + (b * 2))
{
עיכוב (50);
a = sonar.ping_cm ();
displayInt (9, א);
b = a;
}
digitalWrite (4.0);
t = מיליס ();
}
}
כמה מילים קוד תוכנית. בזכותו, שלושת נורות הלד שלנו יהבהבו זו אחר זו לסירוגין, ומהירות המהבהב שלהם תלויה במרחק האובייקט אותו חושף חיישן הקולי. אך בכדי לגרום לנורות לד להבהב, לא הגיוני לחלוטין להשתמש בפונקציית ההשהיה (), שכן כאשר משתמשים בהן, הבקר קופא ולא מבצעים חישובים. ישנן מספר דרכים לפתור בעיה זו. בפרט, אחד מהם הוא השימוש בפונקציה מיליס () המחזירה מספר באלפיות השנייה מרגע עבודתו של הבקר. ואיך אנו מעכבים 100 אלפיות שנייה מותנות? לשם כך יצרתי מחזור ריק במהותו, שהיציאה ממנו תהיה רק אחרי 100 אלפיות השנייה ואז התוכנית ממשיכה להפעיל / לכבות את נוריות הנורית.
ובכן זה הכל! תודה שקראתם מאמר זה עד הסוף. אני מקווה שלא רק שאהבת אותה, אלא גם השראת לים חדש מלאכות והמצאות!