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

אורות חיישן תנועה Basys3: 8 שלבים
אורות חיישן תנועה Basys3: 8 שלבים

וִידֵאוֹ: אורות חיישן תנועה Basys3: 8 שלבים

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

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

### הקישור להלן מציג סרטון של הפרויקט

drive.google.com/file/d/1FnDwKFfFFDo8mg25j1sW61lUyEqdavQG/view?usp=sharing

שלב 1: דרוש ציוד

ציוד דרוש
ציוד דרוש

לפרויקט זה תזדקק לדברים הבאים:

לוח Basys3

-כבל USB ל- microusb

-8 חוטי מגשר קרש

-קרש

-2 LED מפוזר

שלב 2: תרשים Blackbox/מכשיר מצב סופי

Blackbox Diagram/Finite State Machine
Blackbox Diagram/Finite State Machine
Blackbox Diagram/Finite State Machine
Blackbox Diagram/Finite State Machine

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

FSM מציג את המעבר מאזור אחד לאזור אחר בחדר שבו אובייקט ממוקם בזמן נתון. ישנם 4 חיישנים שונים בחדרים השונים המיוצגים כ (s1, s2, s3, s4). אשר שולטים ביציאות, או באורות בחדרים השונים למשל אור (L1, L2, L3). המצב ההתחלתי החיישנים לא מזהים אף אחד, ולכן כל האורות כבויים. כדי לעבור למצב הבא (מצב 1), s1 צריך לזהות מישהו, s2, s3 ו- s4 יהיה כבוי. זה פלט L1 (הדלק אור 1), L2 ו- L3 יכבו. כדי לעבור למצב 2 ממצב 1, s1, s3 ו- s4 חייב להיות כבוי, s2 חייב להיות מופעל. פעולה זו תפעיל את L1 ו- L2. כדי לעבור למצב הבא ממצב זה s3 חייב להיות מופעל וכל החיישנים האחרים כבויים. פעולה זו תפעיל את L2 ו- L3, L1 תהיה כבויה. כדי לעבור למצב הסופי S4 חייב להיות מופעל וכל החיישנים האחרים חייבים להיות כבויים. פעולה זו תפעיל את L3 בלבד, כל שאר הנורות יכבו. אם אדם נכנס לחדר מהצד s4 ויוצא דרך s1 כל השלבים יהיו בסדר הפוך.

שלב 3: שעון דיגיטלי של BlackBox

שעון דיגיטלי של BlackBox
שעון דיגיטלי של BlackBox

מטרת השעון הדיגיטלי שיצרנו היא כך שאורות חיישנים לא יופעלו במהלך היום, ויעבדו רק בזמן שהמשתמש הכניס. השעון הדיגיטלי לוקח קלט hour_in ו- mins_in באמצעות מתגים על לוח basys3, וכדי שתוכל לטעון אותו על הלוח עליך ללחוץ על (led_btn) כך שיציג אותו על הלוח. הוספנו גם לחצן איפוס (rst_b) כדי שתוכל להעלות מחדש זמן אחר. מכיוון של- basys3 יש מספיק מקום להצגת 3 מופעי מידע שונים יישמנו את השניות ברקע. למטרה זו, יישמנו מתג שניות כך שהוא יגדל רק בזמן כשהמשתמש יחליט להפעיל קלט (e_sec) בלוח basys3. עבודת המסגרת הפנימית בתוך השעון הדיגיטלי מורכבת מכפכפים המאחסנים את הזמן המוקלט ומונים המגדילים את הזמן שהמשתמש הכניס רק כאשר (e_sec) פועל. אנו נוסיף את הקוד כך שתוכל לראות כיצד הוא מיושם במדויק.

שלב 4: רכיבים יחד ותיאור

רכיבים יחד ותיאור
רכיבים יחד ותיאור
רכיבים יחד ותיאור
רכיבים יחד ותיאור

התמונות לעיל מראות כיצד הרכיבים מחוברים זה לזה. זה מתחיל בלקיחת תשומות של שעות ודקות. האותות מכניסות אלה נשלחות לשעות נגד ומנות דלפק, כאשר הוא מחבר את הביטים יחד, ואות פלט המונים נשלח לרכיב SSEG, שם הוא ממיר סיביות לתווים ספציפיים שיוצגו על לוח basys3. עם זאת, האות מהמונים לא יישלח לרכיב ה- SSEG עד שהמשתמש ילחץ על קלט (led_btn) הדבר נעשה מכיוון שלא יצרנו FSM לשעון דיגיטלי. כמו כן, הזמן שהוזן לא יעלה עד שמתג הקלט (e_sec) מופעל כי אחרת מונה השניות תמיד ירוץ ברקע. ברגע ששנייה המונה מגיעה ל- '59' היא תשלח אות לדקות, כך שהיא תגדל את הדקות אותו הדבר מתבצע בין דקות לשעות. כמו כן, יש כניסות של חיישן תנועה, והאותות נשלחים לרכיב FSM שם הוא קובע לאיזה מצב ללכת בהתאם לחיישן. המצב ההתחלתי שלה הוא כאשר כל החיישנים כבויים. כל התיאור של FSM תואר בשלב 2.

שלב 5: קוד

שלב 6: שינויים עתידיים

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

שלב 7: סיכום

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

שלב 8: התחייבות

ה- two_sseg.vhdl = universal_sseg_dec.vhd

רטנר, ג'יימס וצ'נג סמואל..הנדסת פנים

מוּמלָץ: