תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
מדריך זה ילמד אותך כיצד ליצור מערכת אורות להזהיר נוסעים מחכים כאשר רכבת מתקרבת וגם כיצד לגרום להודעה להופיע במחשב נייד כשהרכבת נמצאת בתחנה. צליל כאשר הרכבת עוברת את התחנה יופק יחד עם סדרה של נורות LED מהבהבות. כל זה יכול להיעשות באמצעות פטל פטל.
שלב 1: חומרים מתכלים
מחשב אחד
MatLab 2016 ואילך
הורד את חבילת Raspberry Pi
מדפסת תלת מימד
תחנת רכבת מודפסת בתלת מימד המאכלסת את פטל הפטל
Raspberry Pi עם הרכיבים הבאים:
2 חיישני אינפרא אדום
5 נורות לד לבחירת הצבע שלך
11 חוטים
2 נגדים
200-300 נגדי אוהם
אקורד USB לחיבור המחשב לפאי הפטל
שלב 2: תכנן את המעגל עבור תפוקות ותשומות רצויות
באמצעות מעגלים בסיסיים, יש לחבר את הנורות ואת פולט האינפרא אדום והמקלט ל- Raspberry Pi. נורות ה- LED האדומות מחוברות לקרקע ואז מחוברות ל- GPIO Pins 4, 5, 6 ו- 7. מקלט האינפרא אדום מחובר ל- GPIO Pin 21 והפולט האינפרא אדום מחובר לסיכה 5V.
שלב 3: פיתוח קידוד כדי לספק את התוצאה הרצויה
השורות החשובות ביותר של הקוד הן שורות 12 ו -16 המפעילות את תיבות הדיאלוג. קו 18, הצהרת ה- if, קורא אם לחיישנים האינפרא אדומים יש חסימה ביניהם ואם הם חסומים אז זה אומר שהרכבת עוברת, הצופר יישמע והאורות יידלקו. אם ההצהרה לא נכונה שום דבר לא יקרה כי הרכבת לא מתקרבת.
קוד: %% כותרת
%מיקרו-בקר פרויקט-לילה רכבת
%ג'ון בראון, טרנט פיין, קרסטן פארקר; סעיף 9
%3 באוקטובר 2017
%תיאור הפרויקט: תכנן מיקרו -בקר שלוקח שתי כניסות ו-
%מייצרת שני פלטים כדי לסייע בשיפור היבטים של התקנת רכבות מודל
%שיטת פתרון: השתמש במשאבים שונים וב- Matlab לשיפור היבטים של
%הרכבת דגם.
%% Setup-קלט/פלט ראשון
בעוד שזה נכון
a = 0;%מאתחל א
בעוד readDigitalPin (rpi, 21) == 1
a = 1;%מפסיק לפעול קוד אור לפני קוד דו -שיח של שאלה
question = ('הרכבת עוצרת בתחנה. האם ברצונך להשמיע קרן?');
question_title = ('קרן רכבת');
resp = questdlg (שאלה, שאלה_כותרת, 'כן', 'לא', 'לא');%קופצת תיבת דו -שיח עם שתי אפשרויות ותשובת ברירת מחדל
tf = strcmp (resp, 'yes');%משווה את אורך מערך התווים של התגובה למערך התווים כן.
אם tf == 1%אם resp = 'כן'
[Y, FS] = audioread ('train_horn.m4a');%לוקח קובץ שמע וממיר אותו לנתוני דוגמה, y וקצב דגימה, FS.
פקודת sound (Y, FS)%sound לוקחת נתונים שנדגמו וקצב הדגימה ויוצרת צליל
msgbox ('קרן הרכבת נשמעת!')
הפסקה (2)
לשבור
else%if resp = 'no', tf יהיה הגיוני 0 מכיוון שמערכי no ו- yes הם באורכים שונים
msgbox ('קרן הרכבת לא נשמעה!')
הפסקה (2)
לשבור
סוֹף
סוֹף
בעוד readDigitalPin (rpi, 21) == 1 && a == 1 %מתחיל בזמן הלולאה בזמן שהמתג מופעל ותיבת הדו -שיח של שאלות פועלת
%קטע הקוד הראשון הזה מדליק את האורות לפי הסדר.
writeDigitalPin (rpi, 4, 0)
הפסקה (0.25)
writeDigitalPin (rpi, 5, 0)
הפסקה (0.25)
writeDigitalPin (rpi, 6, 0)
הפסקה (0.25)
writeDigitalPin (rpi, 7, 0)
הפסקה (0.25)
%קטע קוד שני זה מכבה את האורות לפי הסדר.
writeDigitalPin (rpi, 4, 1)
הפסקה (0.25)
writeDigitalPin (rpi, 5, 1)
הפסקה (0.25)
writeDigitalPin (rpi, 6, 1)
הפסקה (0.25)
writeDigitalPin (rpi, 7, 1)
הפסקה (0.25)
סוף%סוף בעוד לולאה
סוֹף
שלב 4: הקשיב לרכבת שתסתובב בפינה ותראה איך האורות מזהירים אותך לחזור אחורה
כשהרכבת מתקרבת וחוצה את חיישני האינפרא אדום, האורות יכבו, ויוצאים אל קרן הרכבת כדי להגיע לנוסעים להתרחק מהקצה; עם זאת, תיפתח גם תיבת דו -שיח שתשאל את מוליך הרכבת, "הרכבת מתקרבת לתחנה, האם הרכבת עוצרת?", ואז שנייה קוראת "קרן הרכבת נשמעת", ואם הצופר אינו משוך, תיבת דו -שיח שלישית תגיד, "הצופר לא נשמע".
שלב 5: התקנה סופית
כדי להשלים את הפרויקט, יש לשלב את כל המערכת לתחנת הרכבת הכחולה שהודפסה בתלת מימד לאסתטיקה. תחנת הרכבת מסמלת היכן יהיו הנוסעים כאשר הרכבת מגיעה. כעת הם יהיו בטוחים הודות למערכת האזהרה של רכבת לילה.