» ערכות נושא » רעיונות DIY »מד מהירות לקטנוע

מד מהירות לקטנוע

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


יישום. מפרט התמסורת נבחר על ידי BlueTooth בגלל הזמינות של טכנולוגיה זו ונוכחותה בשעון החכם סמסונג SM-V700 בהישג יד. מודול BlueTooth נבחר HC-05, הבקר ארדואינו Mini Pro, אך לאחר מכן הוחלף בבקר החשוף של AtMega168A, נבחרה סוללת Li-Pol של 500mAh כדי לעמוד בממדים של הגלגלים ובצריכת החשמל המשוערת. כחיישן סיבוב, חיישן ה- Hall SS49E נבחר, בניגוד לאב-הטיפוס, כיציב יותר מבחינה תפעולית. בהתאם, המערכון מעט מודרני. מעבר של מגנט המותקן במרכז הגלגל מנותח על ידי שתי נקודות: ההפעלה הראשונה - המגנט נכנס לאזור הרגישות - "מחלקה" וההפעלה השנייה - המגנט יוצא מאזור הרגישות של החיישן - "ירידה".הבקר סופר אירועים אלה בפרק זמן מוגדר - שנייה אחת ושולח את המספר שהתקבל דרך ערוץ התקשורת למכשיר אנדרואיד, ובמקביל לנתח את האותות הנכנסים. התוכנית לקליטה, הצגה וניהול של המודול נוצרה על בסיס אב-טיפוס בסביבת Android Studio. הוא מספק שיפורים מסוימים הקשורים להגברת חסינות הרעש. בדומה לאב-הטיפוס, הוא מחשב מהירות ומרחק. הפונקציה השימושית של הפעלה / כיבוי של "פנס הראש" - נורה המופנה קדימה בתנועה - נשמרת גם היא, כנדמה.
חסום ללא כיסוי

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

ההרכב עם הקיק, המודול נראה כך:
חסום על קיק

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

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

מתאים לנושא

נושאים קשורים

הוסף תגובה

    • לחייךמחייךxaxaבסדרלא יודעיאהוnea
      בוסשריטהשוטהכןכן כןאגרסיביסודי
      סליחהריקודריקוד 2ריקוד 3סליחהעזרהמשקאות
      עצורחבריםטובטובשריקהלהתנדנדלשון
      עשןמוחא כפייםמשוגעלהכריזלזלזלdon-t_mentionלהוריד
      חוםלא מועילצחוק 1מדמפגשמסגדשלילי
      לא_יפופקורןלהענישלקרואלהפחידמפחידחיפוש
      מתגרהתודהזהלרמזאמניקחריףמסכים
      רעדבורהשחורblum3סומקלהתפארשעמום
      מצונזרהנאהסוד 2לאייםניצחוןיוsun_bespectacled
      שוקכבודחחחקדמהברוך הבאkrutoyya_za
      ya_dobryiעוזרne_huliganne_othodiפלומהאיסורקרוב
1 פירוש
הכותב
רישום קושחת ATMega168A:
/*
* מגה 168 !!!
*/
# כלול "timer-api.h"

int קוטביות = -1; // קוטביות של הדופק של אות הקלט (במקרה שלי, שלילי
int Treshold = 500; // סף ההדק של דופק הקריאה 1/2 Vcc = 512
int CountTurn = 0; // אחסן את מספר המהפכות לתקופת החשבונאות
int LED = 13; // LED מחובר לפין PB5
int InputSignal = A5; // קלט לחיישן הול
int TurnNumber = 0; // מספר מהפכות שנצבר
int DeltaT = 28; // עיכוב מקדימה לקביעת סוף הדופק ליציבות
bool Tick = שווא; // ערך ראשוני, טרם נקבע

הגדרת ביטול ()
{
Serial.begin (9600); // לניפוי באגים
timer_init_ISR_2Hz (TIMER_DEFAULT); // קבל עיכוב של שניה אחת !!!
pinMode (LED, OUTPUT); // פלט אות לתאורה האחורית (פנס ראש)
pinMode (InputSignal, INPUT); // קלט לחיישן הול
}

לולאת חלל () // כאן אנו עיבוד אותות מהחיישן ובקרת הפנס
{
if (סימון) // הרשאה לביצוע חסימת if במרווח זמן קבוע
שלח את מספר המהפכות
{
Serial.println (מחרוזת (CountTurn) + ";"); // לאיתור באגים
סמן = שקר; // הכינו את העקבות. מרווח זמן
CountTurn = 0; // אפס את מספר המהפכות לאחר ההעברה לסמארטפון
}

אחרת // אם הקרציה טרם הגיעה, אנו צוברים את מספר המהפכות, מדליקים / מכבים את הפנס
{
// הצטברות מהפכות
אם (analogRead (InputSignal) {
עיכוב (DeltaT); // עדיין לא קרא שום דבר
אם (analogRead (InputSignal)> Treshold) // הגיע קצה נגרר
{
CountTurn ++; // לצבור את מספר המהפכות עם הגעת הקצה הנגרר
}
}

// בקרת פנס
אם (Serial.available ()> 0) // קרא את הדמות מ- BTSerial
{
char פקודה = Serial.read ();
מתג (פקודה)
{
מקרה '0': digitalWrite (LED, LOW); לשבור; // הפעל את הפנס
מקרה '1': digitalWrite (LED, HIGH); לשבור; // כבה את הפנס
}
}
}
}

void timer_handle_interrupts (int timer)
{
תקתק = נכון;
}

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

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