תוכן עניינים:

מערכת מידע על זמינות מושבי רכבת - FGC: 8 שלבים
מערכת מידע על זמינות מושבי רכבת - FGC: 8 שלבים

וִידֵאוֹ: מערכת מידע על זמינות מושבי רכבת - FGC: 8 שלבים

וִידֵאוֹ: מערכת מידע על זמינות מושבי רכבת - FGC: 8 שלבים
וִידֵאוֹ: שטיינמץ עמינח - תהליך הטמעת מערכות מידע בארגון עסקי 2024, יולי
Anonim
מערכת מידע על זמינות מושבי רכבת - FGC
מערכת מידע על זמינות מושבי רכבת - FGC

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

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

שלב 1: עיצוב דגם תלת מימד

עיצוב דגם תלת מימד
עיצוב דגם תלת מימד

קודם כל עשינו מחקר מקיף על דגמי רכבות. עם כל המידע שנאסף, נבחרה רכבת ה- GTW (המיוצרת על ידי Stadler Rail) המשמשת ב- FGC (Ferrocarrils de la Generalitat de Catalunya).

מאוחר יותר הוא תוכנן עם תוכנת התלת -ממד PTC Creo המודל להדפסה תלת -ממדית לאחר מכן.

שלב 2: הדפסת מודל תלת מימד וגימורים

הדפסת דגם תלת מימד וגימורים
הדפסת דגם תלת מימד וגימורים

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

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

לאחר ההדפסה ניתנים הגימורים הסופיים.

שלב 3: רכיבים

רכיבים
רכיבים

לצורך פיתוח פרויקט זה יש צורך ברכיבים הבאים:

- FSR 0.04-4.5LBS (חיישן לחץ).

נגדים של 1.1K אוהם

שלב 4: קידוד (Arduino ועיבוד)

קידוד (Arduino ועיבוד)
קידוד (Arduino ועיבוד)
קידוד (Arduino ועיבוד)
קידוד (Arduino ועיבוד)
קידוד (Arduino ועיבוד)
קידוד (Arduino ועיבוד)

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

כחיישנים יש לנו 4 חיישני לחץ לארדואינו שמשנים את ההתנגדות שלו בהתאם לכוח המופעל עליהם. אז המטרה היא לנצל את האות שנשלח על ידי החיישנים (כאשר הנוסעים יושבים) כדי לשנות את המסכים הגרפיים בעיבוד.

לאחר מכן, אנו יוצרים את החלק הגרפי שבו לקחנו בחשבון את העיצוב הגרפי של Ferrocarrils de la Generalitat de Catalunya, כדי לחקות את המציאות בצורה הטובה ביותר.

בעיבוד נכתב קוד המחובר ישירות לתוכנת הארדואינו, באופן זה, בכל פעם שמישהו יושב על מושב, הוא משנה את צבעו, ומאפשר למשתמש ברציף הרכבת לדעת בזמן אמת את זמינות הרכבות של המושבים.

כאן תוכלו לראות את הקידוד

ארדואינו:

int pot = A0; // חבר את הסיכה האמצעית של הסיר לסיר הפינינט הזה = A1; int pot3 = A2; int pot4 = A3; int lectura1; // משתנה לאחסון ערכי הסיר;

int lectura2; int lectura3; int lectura4;

התקנת void () {// לאתחל תקשורת טורית בקצב שידור של 9600 Serial.begin (9600); }

לולאת חלל () {מחרוזת s = ""; // // חיישן Llegir1 lectura1 = analogRead (סיר); // lectura הערך האנלוגי אם (lectura1> 10) {s = "1"; עיכוב (100); } אחר {s = "0"; עיכוב (100); } Serial.println (ים);

}

מעבד:

ייבוא עיבוד. סדרה.*; // ספרייה זו מטפלת בשיחה סדרתית String val = ""; PImage s0000, s0001, s0010, s0011, s0100, s0101, s0110, s0111, s1000, s1001, s1010, s1011, s1100, s1101, s1110, s1111; MyPort סידורי; // צור אובייקט ממעמד סידורי

הגדרת void () // זה פועל פעם אחת בלבד {fullScreen (); רקע (0); // הגדרת צבע רקע לשחור myPort = סידורי חדש (זה, "COM5", 9600); // מתן פרמטרים לאובייקט של מחלקה סדרתית, שים את הקומקום שאליו המחובר הארדואינו שלך וקצב השידור.

s0000 = loadImage ("0000.jpg"); s0001 = loadImage ("0001.jpg"); s0010 = loadImage ("0010.jpg"); s0011 = loadImage ("0011.jpg"); s0100 = loadImage ("0100.jpg"); s0101 = loadImage ("0101.jpg"); s0110 = loadImage ("0110.jpg"); s0111 = loadImage ("0111.jpg"); s1000 = loadImage ("1000.jpg"); s1001 = loadImage ("1001.jpg"); s1010 = loadImage ("1010.jpg"); s1011 = loadImage ("1011.jpg"); s1100 = loadImage ("1100.jpg"); s1101 = loadImage ("1101.jpg"); s1110 = loadImage ("1110.jpg"); s1111 = loadImage ("1111.jpg");

s0000.resize (displayWidth, displayHeight); s0001.resize (displayWidth, displayHeight); s0010.resize (displayWidth, displayHeight); s0011.resize (displayWidth, displayHeight); s0100.resize (displayWidth, displayHeight); s0101. resize (displayWidth, displayHeight); s0110.resize (displayWidth, displayHeight); s0111. resize (displayWidth, displayHeight); s1000.resize (displayWidth, displayHeight); s1001.resize (displayWidth, displayHeight); s1010.resize (displayWidth, displayHeight); s1011. resize (displayWidth, displayHeight); s1100.resize (displayWidth, displayHeight); s1101.resize (displayWidth, displayHeight); s1110. resize (displayWidth, displayHeight); s1111.resize (displayWidth, displayHeight);

val = trim (val);} draw void () {if (val! = null) {

if (val.equals ("0001")) {image (s0001, 0, 0); } אחרת אם (val.equals ("0010")) {image (s0010, 0, 0); } אחרת אם (val.equals ("0011")) {image (s0011, 0, 0); } אחרת אם (val.equals ("0100")) {image (s0100, 0, 0); } אחרת אם (val.equals ("0101")) {image (s0101, 0, 0); } אחרת אם (val.equals ("0110")) {image (s0110, 0, 0); } אחרת אם (val.equals ("0111")) {image (s0111, 0, 0); } אחרת אם (val.equals ("1000")) {image (s1000, 0, 0); } אחרת אם (val.equals ("1001")) {image (s1001, 0, 0); } אחרת אם (val.equals ("1010")) {image (s1010, 0, 0); } אחרת אם (val.equals ("1011")) {image (s1011, 0, 0); } אחרת אם (val.equals ("1100")) {image (s1100, 0, 0); } אחרת אם (val.equals ("1101")) {image (s1101, 0, 0); } אחרת אם (val.equals ("1110")) {image (s1110, 0, 0); } else if (val.equals ("1111")) {image (s1111, 0, 0); } אחר {תמונה (s0000, 0, 0); }}}

void serialEvent (Serial myPort) // בכל פעם שקורה אירוע סדרתי הוא מריץ {val = myPort.readStringUntil ('\ n'); // וודא שהנתונים שלנו אינם ריקים לפני שתמשיך אם (val! = null) {// חיתוך רווח לבן ועיצוב תווים (כמו החזרת עגלה) val = trim (val); println (val); }}

שלב 5: מעגל

מעגל חשמלי
מעגל חשמלי

אחרי כל התכנות, הגיע הזמן לחבר את כל החיישנים עם לוח ה- Arduino UNO.

החיישנים ממוקמים על 4 מושבים (שלימים יכוסה בבד) ורותכים לכבלים המגיעים ישירות ללוח האם של Arduino UNO. האות המתקבל על הלוח נשלח למחשב המחובר באמצעות USB ושולח את המידע לעיבוד בזמן אמת, ומשנה את צבע המושב.

אתה יכול לראות סכמה של החיבורים.

שלב 6: בדיקת אב טיפוס

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

שלב 7: הדגמה אמיתית

הדגמה אמיתית
הדגמה אמיתית
הדגמה אמיתית
הדגמה אמיתית
מדגם אמיתי
מדגם אמיתי
מדגם אמיתי
מדגם אמיתי

היישום האמיתי ינסה להתקין אותו ברכבות ובפלטפורמות של רשת FGC לשרת מטיילים.

שלב 8: ליהנות

תהנה!
תהנה!
תהנה!
תהנה!

סוף סוף יצרת רכבת חיישן כוח (אב טיפוס) המאפשרת למשתמש ברציף הרכבת לדעת איזה מושב זמין בזמן אמת.

ברוך הבא לעתיד!

פרויקט שנעשה על ידי מארק גודייול ופדריקו דומנק

מוּמלָץ: