» אלקטרוניקה » ארדואינו »מד מרחק גלגלים (curvimeter) על ארדואינו עשה זאת בעצמך

עשה זאת בעצמך מד מרחק מרחק גלגלים (curvimeter) על ארדואינו

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

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

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

עכשיו אתה צריך לקבוע את החומר ואת גודל המבנה. השתמשתי בעץ.

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

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

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

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

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

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

int gercon = 12; // חיבר את מתג ריד 12 פינים
מרחק כפול = 0; // יצר משתנה כפול לאחסון המרחק
הגדרת ביטול () {
   Serial.begin (9600); // חיבור חיבור סדרתי
 }
  לולאת חלל () {
/ * הבא הוא לולאת ה- if. אם מתג ריד נעול, חישוב המרחק הבא יתקיים. הערך 0.46472 הוא כבר האורך המחושב של מהפכה אחת של הגלגל. כדי להימנע מנתונים "נוספים", הוסף עיכוב של 200 אלפיות השנייה והצג את הקריאות
* /
   אם (digitalRead (גרקון) == HIGH)
   {
 מרחק = מרחק + 0.46472;
 עיכוב (200);
 Serial.println (מרחק);
}
  } 


הנה הקימור שלנו ומוכן!

בואו נערוך כמה מירוצי מבחן. הכל עובד נהדר!


אתה יכול לצפות בסרטון על הרכבה של המכשיר הזה, אולי תמצא שם משהו מעניין.
[מדיה = https: //youtu.be/kx_7ztPsLws]

חזרו על הפרויקט טוב!
5
5
7

הוסף תגובה

    • לחייךמחייךxaxaבסדרלא יודעיאהוnea
      בוסשריטהשוטהכןכן כןאגרסיביסודי
      סליחהריקודריקוד 2ריקוד 3סליחהעזרהמשקאות
      עצורחבריםטובטובשריקהלהתנדנדלשון
      עשןמוחא כפייםמשוגעלהכריזלזלזלdon-t_mentionלהוריד
      חוםלא מועילצחוק 1מדמפגשמסגדשלילי
      לא_יפופקורןלהענישלקרואלהפחידמפחידחיפוש
      מתגרהתודהזהלרמזאמניקחריףמסכים
      רעדבורהשחורblum3סומקלהתפארשעמום
      מצונזרהנאהסוד 2לאייםניצחוןיוsun_bespectacled
      שוקכבודחחחקדמהברוך הבאkrutoyya_za
      ya_dobryiעוזרne_huliganne_othodiפלומהאיסורקרוב
1 פירוש
האורח סרגיי
מדוע UNO כאשר attiny13 מספיק לעיניים ...
לגבי הקוד, לפחות אתה צריך להוסיף בדיקה שהמגנט עזב את מתג הקנה, כי ביישום זה, במהירות מסוימת, ועל אחת כמה וכמה אם הגלגל נעצר, הוא יכול להצליח לעבד יותר מפעם אחת או לא לעבד אותו בכלל. לשם כך, פשוט הוסף משתנה גלובלי ובדוק את מצבו לפני חישוב האורך, משהו כמו:
int gercon = 12; // חיבר את מתג ריד 12 פינים
int i = נכון;
מרחק כפול = 0; // יצר משתנה כפול לאחסון המרחק
הגדרת ביטול () {
Serial.begin (9600); // חיבור חיבור סדרתי
}
לולאת חלל () {
/ * הבא הוא לולאת ה- if. אם מתג ריד נעול, חישוב המרחק הבא יתקיים. הערך 0.46472 הוא כבר האורך המחושב של מהפכה אחת של הגלגל. כדי להימנע מנתונים "נוספים", הוסף עיכוב של 200 אלפיות השנייה והצג את הקריאות
*/
אם (digitalRead (גרקון) == HIGH)
{
אם (i <1)
{
מרחק = מרחק + 0.46472;
i = 1;
// עיכוב (200);
Serial.println (מרחק);
}
}
אם (i> 0)
{
i ++;
עיכוב (1);
}
אם (digitalRead (גרקון) == LOW)
{
אם (i> 30) // נמנע מתגובות חיוביות כוזבות עקב ניתור קשר
{
i = 0;
}
}
}

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

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

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