» אלקטרוניקה » ארדואינו »מאתר טווחים בפלטפורמת ארדואינו!

מאתר הטווחים בפלטפורמת ארדואינו!


יום טוב לכולם! במאמר זה ברצוני לספר כיצד השימוש ארדואינו, סט של נוריות 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 אלפיות השנייה ואז התוכנית ממשיכה להפעיל / לכבות את נוריות הנורית.

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

הוסף תגובה

    • לחייךמחייךxaxaבסדרלא יודעיאהוnea
      בוסשריטהשוטהכןכן כןאגרסיביסודי
      סליחהריקודריקוד 2ריקוד 3סליחהעזרהמשקאות
      עצורחבריםטובטובשריקהלהתנדנדלשון
      עשןמוחא כפייםמשוגעלהכריזלזלזלdon-t_mentionלהוריד
      חוםלא מועילצחוק 1מדמפגשמסגדשלילי
      לא_יפופקורןלהענישלקרואלהפחידמפחידחיפוש
      מתגרהתודהזהלרמזאמניקחריףמסכים
      רעדבורהשחורblum3סומקלהתפארשעמום
      מצונזרהנאהסוד 2לאייםניצחוןיוsun_bespectacled
      שוקכבודחחחקדמהברוך הבאkrutoyya_za
      ya_dobryiעוזרne_huliganne_othodiפלומהאיסורקרוב
7 הערות
הכותב
הי)
אולי עדיין יש לך סקיצה עובדת? בכך מתברר שאפילו השלט "<" הוחלף על ידי "& lt;")
שלום כשאני טוען את הסקיצה שלך, זה מייצר חבורה של שגיאות תחביר מסיבה כלשהי. כמובן, אני לא ממש מתביישת בתחביר, אבל במקומות מסוימים אני לא מצליחה להבין מה צריך לתקן. לדוגמה, בקטע:
עבור (int i = 0; i100) טון (2,70);
digitalWrite (j, masiv [i]);
, מה המשמעות של ה- i100 הממוזגת? מדוע לא תוספת? האם אתה צריך סוגר מסולסל כדי ששתי הפונקציות הבאות אחרי שייכות לאותה לולאה, או שאני טועה? וכך המהדר נשבע לאורך הקוד. האם אוכל איכשהו ליצור איתך קשר, להבהיר את הקוד? אני מנסה ליצור פרויקט קורס על בסיס המאמר שלך.

כמו כן, בקוד במקום שהספריות מחוברות, שמם לא צוין. כמובן שאתה יכול לנחש, אבל עדיין הסקיצה הזו לא ממש מתאימה לבדיקה מיידית, צריך לחשוב על זה)
הכותב
כן, זה אפשרי)
כלומר, הצילום הלפני אחרון (בו 77) פשוט לא מצליח בגלל הארה טפילית כלשהי של הקטעים העליונים כתוצאה מפעולה לא נכונה של התצוגה הדינאמית? לששה יש גם תאורה אחורית מזויפת, אם כי לא כל כך ברורה.
הכותב
איוון, הקריאה 6 ס"מ ו -11 ס"מ היא המרחק מהחיישן לכף היד)
אנא הסבירו מדוע עדות כה מוזרה בשני התצלומים האחרונים.

אנו ממליצים לך לקרוא:

תן אותו לסמארטפון ...