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

תחרות DIY VR- Basys3 תחרות FPGA-Digilent: 3 שלבים
תחרות DIY VR- Basys3 תחרות FPGA-Digilent: 3 שלבים

וִידֵאוֹ: תחרות DIY VR- Basys3 תחרות FPGA-Digilent: 3 שלבים

וִידֵאוֹ: תחרות DIY VR- Basys3 תחרות FPGA-Digilent: 3 שלבים
וִידֵאוֹ: Ai robots taking over ping pong 👀 #shorts 2024, יולי
Anonim
הליכון VR DIY- תחרות Basys3 FPGA-Digilent
הליכון VR DIY- תחרות Basys3 FPGA-Digilent

האם אתה רוצה לבנות הליכון VR שעליו תוכל להריץ את יישומי שולחן העבודה ואת המשחקים שלך? אז הגעת למקום הנכון!

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

לכניסות העכבר נשתמש בדיסק עם פרוסות מוליכות ולא מוליכות לסירוגין, שעליהן יגלשו שני חוטים, עם קיזוז קטן. הלוח יקרא את האותות המגיעים מהחוטים, וייתן לנו אחד מארבעה שילובים: 00, 11, 10, 01, אותם אנו יכולים לתרגם ישירות בתנועה שמאל-ימין.

לתנועה למעלה כלפי מטה, במקום דיסק, נשתמש בצלחת עם דפוס זהה של 0 ו -1.

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

(זכור כי הפרויקט עדיין בעיצומו וניתן לשפר אותו, אז אני מחכה לכל עצה שיכולה לשפר אותו)

שלב 1: בסיס

בסיס
בסיס
בסיס
בסיס
בסיס
בסיס

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

מוט חיצוני קבוע נוסף משמש לתמיכה בחוטים וגם כנקודת התייחסות לתנועה הסיבובית.

שלב 2: 2 ניהול קלט

2 ניהול קלט
2 ניהול קלט
2 ניהול קלט
2 ניהול קלט
2 ניהול קלט
2 ניהול קלט

מנקודת מבט של תיבה שחורה, המכשיר יכלול את הכניסות הבאות: 4 חיבורים עבור מוני העכבר x, y, 2 חיבורים ללחצני העכבר ו -4 חיבורים למקשי החצים. הפלט מיוצג על ידי 4 פינים: 2 לחיבור PS2 העכבר ועוד 2 לחיבור PS2 המקלדת. לתיאור מפורט יותר של פרוטוקול PS2, תוכל לבדוק באתר הבא:

כתשומות ללוח, בחרתי בסיכות דיגיטליות JB (1 עד 0). בהתחשב ברצף … 11001100…, קרא על שתי התשומות, אנו יכולים להבחין בין שלושה מצבים של המונים:

1. לספור;

2. ספור למטה;

3. שמור את הערך הנוכחי;

מודול Count_Type עושה בדיוק את זה. אם חל שינוי בקלט, המודול שולח הודעה מתאימה אל מונה 8 הסיביות (המיושם בקובץ 8_bit_count.vhd), המוסיף או מפחית מהערך הנוכחי, אלא אם יתקבל אות איפוס.

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

שלב 3: יישום VHDL

יישום VHDL
יישום VHDL

למצגת מצורפים המודולים הבאים:

1. Count_Type: מודול זה מטפל בפענוח של שני חוטי הקלט מהדיסק או מהפרופיל, המתואר בשלב השני;

2. 8bit_count: מודול זה מפרש את ההודעה המפענחת מ- Count_Type ומגדיל או מפחית את המונים;

3. 3bytepacket: מודול זה מנהל את הסטטוס של הלחצנים השמאליים והימניים ומעצב את הנתונים כך שניתן להציג אותו בחבילת הנתונים של 3 בתים המשמשת בפרוטוקול PS2;

4.clk12khz: מודול זה נותן שעון של 12khz ספציפי לפרוטוקול PS2 שעליו פועלים רכיבים ותהליכים מסוימים;

5. MessageManager: מודול זה שולח את חבילת הנתונים של 3 בתים, מפרש אותה ונותן את התגובה המתאימה, כתשובה להודעה מהמחשב.

6. PS2Interface: מודול זה ממשק את פרוטוקול התקשורת בין המכשיר למארח (מחשב) (מודול זה דורש ניפוי באגים והערכה מחודשת על מנת לפעול כראוי).

מוּמלָץ: