תוכן עניינים:
- שלב 1: סיפור
- שלב 2: תיאוריה ומתודולוגיה
- שלב 3: התקנת חומרה
- שלב 4: התקנת תוכנה
- שלב 5: פתרון בעיות
- שלב 6: קוד ארדואינו
וִידֵאוֹ: מערכת מכ"ם פשוטה מ- Magicbit: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
הדרכה זו מראה כיצד ליצור מערכת רדאר פשוטה באמצעות חיישן HC-SR04 ולוח מיקרוביט עם עיבוד ו- Arduino IDE.
אספקה:
- מנוע מיקרו סרוו SG90
- חוטי מגשר (כלליים)
- לוח לחם (כללי)
- מג'יקביט
- כבל USB-A למיקרו USB
- חיישן אולטרסאונד - HC -SR04 (כללי)
שלב 1: סיפור
במדריך זה נלמד כיצד לייצר מערכת מכ ם פשוטה באמצעות לוח dev dev. למטרה זו אנו משתמשים בחיישן קולי HC-SR04 וכדי להציג נתונים אנו משתמשים בסביבת עיבוד. בואו נתחיל.
שלב 2: תיאוריה ומתודולוגיה
ראשית, בואו נדון כיצד זה עובד. העיקרון קל מאוד. ראשית אנו מסובבים את החיישן שלנו סביב הציר האנכי בטווח של 180 מעלות ברציפות. במהלך תנועה זו אנו לוקחים את הנתונים אודות המרחק לאובייקט הקרוב ביותר מחיישן קולי בכל זווית. לתהליך זה אנו משתמשים בלוח ליבה של Magicbit. לאחר מכן, עלינו ליצור את הקשר עם סביבת העיבוד להצגת הנתונים שלנו. לכן אנו משתמשים בפרוטוקול תקשורת סדרתי עם קצב שידור מתאים. לאחר מכן אנו מעצבים את ממשק מערכת הרדאר שלנו באמצעות עיבוד IDE. באותו IDE אנו מגדירים את התקשורת הטורית שלנו לקבלת נתונים בזמן אמת באמצעות סדרתי. אז אנו מתקשרים בזמן אמת עם מג'ביט ומציגים את הנתונים הנשלחים ממג'ביט לעיבוד IDE.
שלב 3: התקנת חומרה
לפרויקט זה השתמשנו בעיקר בשלושה רכיבי חומרה. הם מג'יקביט, מנוע סרוו וחיישן קולי. החיבור בין כל החלקים הללו מוצג באיור למעלה.
חיישן אולטרסאונד השתמש 3.3 וולט להפעלה. לכן השתמשנו ביציאה התחתונה הימנית של לוח ה- Magicbit לחיבור חיישן קולי ל- Magicbit. אבל מנוע סרוו משמש 5V לעבודה תקינה, לכן השתמשנו ביציאה התחתונה השמאלית לחיבור מנוע סרוו עם Magicbit. במקרה זה, אנו משתמשים במודול מחבר סרוו מג'יק ביט. אבל אם אין לך את המודול הזה אתה יכול להשתמש בשלושה חוטי מגשר לחיבור 5V ל 5V, Gnd ל- Gnd ואות סיכה ל- 26 פינים ב- magicbit.
לאחר בניית המעגל יש לנו חלק מכני קטן לבנות. הגדר מחבר סרוו בצד אחד למנוע סרוו באמצעות אגוז קטן. לאחר מכן תקן את החיישן במחבר זה באמצעות סוגר בצורת L או דרך מתאימה. אחרי כל המערכת תיקנו על קרש לחם. אבל אתה יכול להשתמש במשטח אחר כדי לעלות סרוו ומג'יקביט.
שלב 4: התקנת תוכנה
צד התוכנה מורכב. להבנה נכונה אתה יכול להפנות את הקישורים הבאים לפני שתמשיך בחלק הבא.
magicbit-arduino.readthedocs.io/en/latest/
hello.processing.org/editor/
בואו נסתכל על קוד Arduino IDE וכיצד קוד זה עובד.
לנהיגת סרוו אנו משתמשים בספריית סרוו ESP32. ספרייה זו כמעט כוללת במנהל הלוח של bit bit ב- Arduino IDE. כדי להתמודד עם חיישן קולי אנו משתמשים בספריית newPing. ניתן להוריד זאת מהקישור הבא.
bitbucket.org/teckel12/arduino-new-ping/do…
הורד את קובץ ה- zip והגש כלים> כלול ספרייה> הוסף ספריית Zip בארדואינו. כעת בחר את קובץ ה- zip שהורדת של ספריית הסיכות החדשה. לתקשורת עם עיבוד השתמשנו בתקשורת טורית עם קצב שידור של 115200. זו התדירות הנכונה ביותר עבור ESP32. בכל זווית אנו שולחים את הנתונים שלנו למחשב באמצעות פרוטוקול זה. המרחק לאובייקט הקדמי הקרוב ביותר מהחיישן, כיוון הסיבוב וזווית הסיבוב כלולים בנתונים אלה. בעזרת שתיים ללולאות אנו מסובבים את הסרוו לשני כיוונים. בעוד סיבוב של תואר אחד שלחנו נתונים סדרתיים פי 4. את הסיבה לכך תוכל להבין בעיבוד הסבר חלק.
עכשיו הגיע הזמן להסתכל על סביבת העיבוד. זו תוכנת תכנות מבוססת ג'אווה. אנו יכולים לכתוב סקיצה של התוכנית שלנו במערכון זה בעיבוד IDE. אנו יכולים גם לייצר פלט חזותי מהפעלת התוכנית שלנו. כמו כן אתה יכול לקחת פלט כאובייקטים דו -ממדיים ותלת -ממדיים. לא רק זה, זה יכול לשמש לעיבוד תמונות ועוד הרבה דברים נוספים.
במערכון העיבוד תחילה אנו מעצבים את ממשק תצוגת הנתונים שלנו באמצעות פונקציות גרפיות פשוטות. בתחילת הקוד אנו מבססים את התקשורת הטורית שלנו על ידי הכללת ספריות סדרתיות. בפונקציית ההתקנה עליך לבצע שינוי כלשהו בהתאם ליציאת ה- USB שבה השתמשת לחיבור Magicbit למחשב. אתה יכול לבדוק את הנמל שלך באמצעות Arduino IDE בעת הגדרת ה- Arduino IDE להעלאת הקוד. לאחר מכן שנה את שם יציאת ה- com בחלק ההתקנה בעיבוד הסקיצה. כאשר הנתונים הטוריים זמינים, הפונקציה Serialevent מופעלת אוטומטית. לכן ההיגיון העיקרי של הקוד הוא כלול באירוע סדרתי למניעת זוויות ונתונים חסרים. כאשר נתונים חדשים זמינים, אנו מציירים קו במסך בהתאם לזווית שלנו. באותו הזמן אם אין אובייקט זיהוי, הקו המלא הוא בצבע ירוק. אם לא אז חלק מהקו יהיה אדום בהתאם למרחק מחיישן לאובייקט. גם את כיוון הסיבוב בהתאם אנו מציירים עוד 200 קווים ליד אותו קו עם ירידה ברמת הצבע הירוק. בין כל ראשי יש לנו הבדל של 0.25 מעלות. לכן אנו מקבלים 4 קריאות בכל פעם מ- Magicbit בכל סיבוב תארים. בגלל זה אנו יכולים ליצור חיפוש יפהפה במסך.
לאחר העלאת הצלחת הקוד במלואו לקסם והגדרת חלק חומרה בהצלחה פתח את מזהה העיבוד והפעל את הקוד על ידי לחיצה על כפתור הפעלה. עכשיו יש לך מערכת מכ ם פשוטה מאוד.
אתה יכול להתאים אישית את הקודים כרצונך מה שאתה רוצה להציג.
שלב 5: פתרון בעיות
עיבוד סקיצה אינו פועל.
- חכה קצת. בגלל זמן ההפעלה תלוי בביצועי המחשב האישי וה- GPU שלך.
- בדוק שמספר היציאה הסידורי נכון במערכון העיבוד.
- בדוק שחיבור ה- USB תקין.
- בדוק את החיבור בין חיישן קולי לבין מג'יקביט.
- פתח את הצג הטורי ובדוק שהנתונים מגיעים מארדואינו. אם לא, הבעיה היא קוד ה- Arduino שלך או בחיבור ה- USB שלך.
סרוו לא עובד.
- בדוק שחיבור ה- USB תקין.
- בדוק את החיווט.
- בדוק שהסרוו במצב טוב.
שלב 6: קוד ארדואינו
#לִכלוֹל
#הגדר TRIGGER_PIN 21 #הגדר ECHO_PIN 22 #הגדר MAX_DISTANCE 200 סונאר NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); #include // כלול מרחק int ספריית סרוו; סרוו רדאר סרבו; הגדרת חלל () {Serial.begin (115200); RadarServo.attach (26); // מגדיר על איזה סיכה הוא עיכוב המצורף של מנוע הסרוו (3000); } לולאת חלל () {// מסובבת את מנוע הסרוו מ -15 ל- 165 מעלות עבור (int i = 0; i <= 180; i ++) {RadarServo.write (i); עיכוב (50); distance = sonar.ping_cm (); // קורא פונקציה לחישוב המרחק הנמדד על ידי החיישן האולטרא סאונד עבור כל תואר עבור (int j = 0; j0) {הפסקה; } Serial.print (i); // שולח את התואר הנוכחי אל Port Serial.print (","); // שולח תו תוספת ממש ליד הערך הקודם הדרוש מאוחר יותר ב- IDE עיבוד לאינדקס של Serial.print (j); // שולח את התואר הנוכחי אל Port Serial.print ("*"); Serial.print (1); // שולח את ערך המרחק אל Port Serial.print ("/"); // שולח תו תוספת ממש ליד הערך הקודם הדרוש מאוחר יותר ב- IDE Processing לאינדקס של Serial.print (מרחק); // שולח את ערך המרחק אל Port Serial.print ("."); // שולח תו חיבור ממש ליד הערך הקודם הדרוש מאוחר יותר ב- IDE עיבוד לאינדקס}} // חוזר על השורות הקודמות מ- 165 עד 15 מעלות עבור (int i = 180; i> = 0; i-) {RadarServo.write (i); עיכוב (50); מרחק = sonar.ping_cm (); עבור (int j = 75; j> = 0; j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {המשך; } Serial.print (i); // שולח את התואר הנוכחי אל Port Serial.print (","); // שולח תו תוספת ממש ליד הערך הקודם הדרוש מאוחר יותר ב- IDE עיבוד לאינדקס של Serial.print (j); // שולח את התואר הנוכחי אל Port Serial.print ("*"); Serial.print (-1); // שולח את ערך המרחק אל Port Serial.print ("/"); // שולח תו תוספת ממש ליד הערך הקודם הדרוש מאוחר יותר ב- IDE Processing לאינדקס Serial.print (מרחק); // שולח את ערך המרחק אל Port Serial.print ("."); // שולח תו תוספת ממש ליד הערך הקודם הדרוש בהמשך מזהה העיבוד לאינדקס}}
}
מוּמלָץ:
תחנת הלחמה פשוטה /עזרה פשוטה: 4 שלבים
תחנת הלחמה /עזרה פשוטה: הנה העסקה. נכנסת לגלישה באינטרנט כדי ללמוד כיצד להכין תחנת הלחמה /עזרה בידיים. ונחתת באתר הזה. האתר הטוב ביותר שנוצר על ידי משתמש DIY בדפדפן הפלנטה. עכשיו אני מציע לך לחפש במיוחד באתר ההוראות הלחמה
מערכת מיון מוצרים פשוטה עם פטל פי וארדואינו: 5 שלבים
מערכת מיון מוצרים פשוטה עם פטל פי וארדואינו: אני חובב הנדסה, אני אוהב לתכנת ולעשות פרויקטים הקשורים לאלקטרוניקה בזמני הפנוי, בפרויקט זה הייתי משתף אתכם במערכת מיון מוצרים פשוטה שעשיתי לאחרונה. מערכת זו, אנא הכינו את הרכיבים
מערכת כניסה פשוטה לאתר Batchfile עם סרגל טעינה: 5 שלבים
מערכת כניסה פשוטה ל Batchfile עם סרגל טעינה: כאן אנו חולקים קובץ אצווה למערכת כניסה עם סרגל טעינה. אנו נראה לך קוד וגם נראה לך כיצד להשתמש. תוכל גם לבקר בבלוג שלנו לקודי קבצי אצווה נוספים. FFLocker 1.0: http://errorcode401.blogspot.in/2013/06/FFlocker-1.0.html נדיר
כיצד לבצע תרופה פשוטה פשוטה: 6 שלבים
כיצד לבצע תרופה פשוטה ומהירה: אני אתן לך הנחיות כיצד לבצע זריקת מהירה פשוטה. זורקים אינם קשים ויכולים להיות חולים מאוד אם אתה עושה אותם נכון. אם אתה זקוק לעזרה נוספת מעבר לדואר האלקטרוני ההורא הזה שלי לכתובת [email protected]. אני אשמח t
תיקון תאורה אחורית פשוטה (מאוד) פשוטה: 4 שלבים (עם תמונות)
תיקון תאורה אחורית LCD פשוטה (מאוד): תקן כל תאורה אחורית LCD שבורה עם נורה רגילה וצג CRT מת. מסכי LCD שבורים מגיעים בעצם בשלוש קטגוריות: 1) לוח LCD סדוק, מה שהופך את היחידה לחסרת ערך 2) בעיית תאורה אחורית 3) כוח בעיה באספקה אם זה