תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-23 14:46
פרויקט זה נוצר כפרויקט גמר לקורס עיצוב דיגיטלי בקאל פולי, סן לואיס אוביספו (CPE 133).
מדוע אנו עושים זאת? אנו רוצים לסייע בשימור משאבי הטבע בעולם. הפרויקט שלנו מתמקד בחיסכון בחשמל. על ידי חיסכון בחשמל רב יותר, נוכל לשמור על משאבי הטבע המשמשים לייצור חשמל. עם תחילת 2018, משאבי הטבע נצרכים בקצב מדהים. אנו רוצים להיות מודעים להשפעתנו על הסביבה שלנו ולמלא את חלקנו בשמירה על משאבי הטבע. ניתן ליישם אלקטרוניקה בדרכים שונות לחיסכון באנרגיה המסייעת לאיכות הסביבה וגם למצב הכלכלי שלנו.*מודל זה נוצר תוך שימוש ברכיבים העומדים לרשותנו.
מה הייתה ההשראה שלנו? אנשים שוכחים לעתים קרובות לכבות את אורות החג ובזבוז אנרגיה בכך שהם משאירים אותם דולקים למשך הלילה. במציאות, פרויקט זה יחסוך בחשמל מכיוון ש"אורות החג "יהיו דולקים רק כאשר אנשים נמצאים בקרבת מקום, ובכך יחסוך אנרגיה כאשר אף אחד לא נמצא בסביבה. יתר על כן, רצינו לעצב טיימר כך שהאורות יכבו לחלוטין לאחר זמן נתון כדי להבטיח שהם לא נדלקים עקב תנועה שזוהתה בשעה 3 לפנות בוקר, למשל.
כיצד ניתן להשתמש בעיצוב זה? ניתן ליישם עיצוב זה לכל מיני אורות, בין אם הם דקורטיביים, מעשיים או שניהם. אם אתה רוצה שמנורת השולחן שלך תפעל רק 6 שעות בכל פעם, למשל. יהיה עליך להגדיר מונה ל 21, 600 שניות (6 שעות x 3, 600 שניות/שעה). בעוד שהדלפק גדל באופן פעיל, חיישן התנועה ישלוט באור. לכן, בכל פעם שהוא נכבה במהלך פרק הזמן הזה, אתה רק צריך להניף את היד מול חיישן התנועה והוא יופעל שוב. אם אתה נרדם ליד שולחן העבודה שלך ומתעורר כעבור 7 שעות, התנועה שלך לא תפעיל אותו.
שלב 1: תוכנות וחומרה נדרשות
תוֹכנָה:
- Vivado 2016.2 (או גרסה עדכנית יותר) ניתן למצוא כאן
- Arduino IDE 1.8.3 (או גרסה עדכנית יותר) ניתן למצוא כאן
חוּמרָה:
- לוח Basys 3
- 1 ארדואינו אונו
- 2 לוחות לחם
- 1 חיישן טווח קולי HC-SR04
- 9 חוטים זכר לזכר
- 1 LED
- נגד 1 100Ω
שלב 2: קודים (Vivado)
מכונת סופית (ראה תרשים מצב למעלה):
ה- LED דרש מכונת מצב סופית. למנורת LED יש רק שני מצבים של הדלקה וכיבוי. רק שתי כניסות שולטות במצב הנורית, המונה והחיישן. הפעם היחידה שה- LED צריך להיות דולק הוא כאשר החיישן מזהה תנועה וכשהמונה סופר מאפס לשלושים שניות. בכל מקרה אחר הנורית תהיה כבויה.
שם קובץ: LEDDES
דֶלְפֵּק:
המונה מאפשר לנו להגביל את משך הזמן שבמהלכו חיישן התנועה יכול להפעיל את הנורית. ערכו מוצג בתצוגת שבעת הפלח של לוח Basys 3 באמצעות קוד מקור ("sseg_dec"). כאשר מתג האיפוס למטה (ערך: '0'), המונה מתחיל לעלות כל שנייה מ -0 ל 30. כשהוא מגיע ל -30, הוא קופא על מספר זה. הוא לא יופעל מחדש מ -0 עד שהמתג 'איפוס' יועבר ל- '1' וחוזר ל- '1.' אם האיפוס הופך ל'-1 'בזמן שהמונה פועל, המונה יקפא על כל ערך אליו הגיע. כאשר האיפוס חוזר ל- '0', הדלפק יופעל מחדש מ -0 ל 30. יישום זה דורש גם שימוש באות שעון, הקוד שלו מסופק להלן ("clk_div2").
שם הקובץ: FinalCounter
קבצים מסופקים:
תצוגת שבעה קטעים:
קוד זה מאפשר לתצוגת שבעת הקטע להציג ערכים עשרוניים. תת מודול אחד משמש כמפענח בין קלט בינארי של 8 סיביות לעשרוני מקודד בינארי של 4 סיביות. השני מחלק את אות השעון כדי לרענן את ערכו בקצב מסוים.
שם קובץ: sseg_dec
אות השעון:
קוד זה מאפשר לדלפק להגדיל במרווחים של שנייה אחת. הוא מחלק את תדר שעון הקלט לתדר איטי יותר. הסתגלנו לספק תקופה של שנייה אחת על ידי שינוי קבוע max_count: integer: = (3000000) "ל" קבוע max_count: integer: = (50000000)."
שם קובץ: clk_div2
קבצים שסופקו: sseg_dec, clk_div2 *קבצי המקור הללו סופקו על ידי פרופסור בריאן מיילי.
שלב 3: הבנת האופן שבו הם מתחברים (תרשימים של רכיבי VHDL)
הקובץ הראשי ("MainProjectDES") מכיל את כל קבצי המשנה שנדונו בעבר. הם מחוברים באופן הנ"ל. הרכיבים השונים מחוברים זה לזה באמצעות מפות יציאות לשליחת אות מרכיב אחד למשנהו.
כפי שאולי שמתם לב, FinalCounter מספק פלט של 5 סיביות בעוד sseg_dec דורש קלט של 8 סיביות. כדי לפצות, הגדרנו את האות המחבר בין שני הרכיבים כדי להתחיל ב- "000" ולהוסיף את פלט ה -5 סיביות מהדלפק. ובכך לספק קלט של 8 סיביות.
אילוצים:
על מנת להריץ את הקודים הללו על לוח Basys 3, נדרש קובץ אילוצים, המספר לכל אות לאן לפנות וכיצד מחוברים החלקים.
שלב 4: קוד (Arduino)
תיכנתנו את ה- Arduino Uno להשתמש בחיישן התנועה כדי לזהות תנועה ולספק פלט המסמן את הנורית לדלק. בנוסף, השימוש בחיישן לאיתור תנועה דורש לולאות ריצה שמחפשות כל הזמן שינוי מרחק. בעיקרו של דבר, הוא זקוק לטיימר שפועל במקביל כדי להפיק אות "גבוה" כדי שהנורית תידלק בזמן שצריך לאפס את הטיימר ברגע שתזוהה תנועה חדשה, שכמעט בלתי אפשרי ליישם אותה על Vivado על סמך היקף הידע של הכיתה. יתר על כן, השתמשנו בארדואינו מכיוון שלא יהיה אפשרי להשתמש ב- HC-SR04 עם לוח Basys 3 מכיוון שהלוח מספק רק 3.3V בעוד שהחיישן דורש ספק כוח של 5V. ליישום תנועת הזיהוי, מדובר בקידוד בפועל בניגוד ל- CAD ב- VHDL.
השתמשנו בפונקציית הדופק המובנית של החיישן כדי לאחזר את הזמן שעבר בין הצליל שנפלט בתחילה מהחיישן לבין הצליל החוזר כאשר הוא פוגע באובייקט. לאחר מכן אנו משתמשים במהירות הצליל ובמרווח הזמן כדי לחשב את המרחק בין האובייקט לחיישן. מכאן אנו שומרים את המרחק הנוכחי ועוקבים אחריו. אנו בודקים את המרחק כל 150 ms. השתמשנו גם בספריית elapsedmil כדי להפעיל טיימר פנימי בתוך הארדואינו כדי לעקוב אחר הזמן שחלף. אם אנו מזהים שינוי מרחק, המתאים לתנועה, הטיימר מתאפס לאפס והוא ישמור את האור דולק עד שחלפו 3 שניות. בכל פעם שהחיישן מזהה תנועה נוספת, הטיימר מתאפס ל -0 והאות לנורית ה- LED יהיה "גבוה" במשך 3 השניות הבאות. צירפנו עותק של קוד הארדואינו למטה.
שלב 5: איך המרכיבים שלנו משתלבים יחד
כפי שאתה יכול לראות ב "Basys3: Pmod Pin-out Diagram*" ובתמונה של לוח Arduino Uno, הדגשנו ותיינו את היציאות שבהן השתמשנו.
1. הלוח והבסיס Basys 3
הנורית מחוברת בסדרה עם הנגד 100Ω. -החוט הלבן מחבר את הנגד לסיכה PWR של לוח Basys 3. -החוט הצהוב מחבר את ה- LED לפין H1 של לוח Basys 3.
2. חיישן התנועה וה- Arduino Uno
-החוט הכתום מחבר את Vcc (כוח) של חיישן התנועה לסיכה 5V של לוח ה- Arduino Uno. -החוט הלבן מחבר את הפין טריג של חיישן התנועה לסיכה 10 של לוח Arduino Uno.-החוט הצהוב מחבר את הפין הד של חיישן התנועה לסיכה 9 של לוח Arduino Uno. -החוט השחור מחבר את סיכה GND של חיישן התנועה להצמיד את ה- GND של לוח ה- Arduino Uno.
[החוטים בהם השתמשנו היו קצרים מכדי להגיע לרכיבים, ולכן הם היו מחוברים זה לזה]
3. לוח Basys 3 וה- Arduino Uno
החוט הצהוב מחבר את סיכה A14 של לוח Basys 3 לסיכה 6 של לוח Arduino Uno.
*דיאגרמה זו נלקחה מתוך "Basys 3 ™ FPGA Board Manual Manual" של Digilent שניתן למצוא כאן.
שלב 6: הפגנה
שלב 7: הגיע הזמן לבדוק את זה
מזל טוב! הגעת לסוף פרויקט חיישן התנועה והאור הנשלט שלנו! תודה רבה שקראתם את פוסט ההוראה שלנו. עכשיו הגיע הזמן שתנסה לבנות את הפרויקט הזה בעצמך. אם תעקוב אחר כל צעד בזהירות, יהיה עליך חיישן תנועה ואור נשלט נגד שעובד בדומה לשלנו! אנו מאחלים לך בהצלחה בבניית הפרויקט, ומקווים שהוא יכול לתרום לחיסכון בחשמל ובמשאבי טבע!
מוּמלָץ:
אורות שולחן עבודה RGB נשלטים מרחוק: 5 שלבים
אורות שולחן עבודה RGB נשלטים מרחוק: פרויקט זה מדגים את השימוש בבסיס האש כשרת לבקרה ולתפעול של הנורות לד לאורך הצד השולחני שלי
אורות קורקינט נשלטים בקול ודלת המוסך: 6 שלבים
אורות קורקינט מבוקרים וקולות ודלת המוסך: שלום לכולם! לאחרונה קניתי קורקינט חשמלי אך לא היה לו מנורה אחורית וגם לא היה לו פתיחת דלת מוסך מובנית … הפתעה !! (ノ ゚ 0 ゚) ノ ~ אז, החלטתי להכין דלת מוסך משלי ואורות אחוריים במקום לקנות אותם. מהו
אורות נשלטים מכל מקום עם ג'ייסון: 7 שלבים
אורות נשלטים מכל מקום עם ג'ייסון: אורות AC הנשלטים מכל מקום עם חיבור לאינטרנט באמצעות NodeMCU (ESP8266) וג'ייסון (אפליקציית אנדרואיד). ג'ייסון היא אפליקציית עוזרת מבוקרת קולית שקידנתי למכשירי אנדרואיד לשליטה במצב החשמלי של מכשיר AC, ללא
אורות חיישן תנועה Basys3: 8 שלבים
אורות חיישן תנועה Basys3: עבור פרויקט הגמר שלנו בעיצוב דיגיטלי, החלטנו לדמות אורות של חיישני תנועה. הם מפעילים לא רק כאשר אובייקט נמצא בקרבתו, אלא גם מופעלים רק בזמן מסוים ביום. אנו מסוגלים לדגמן זאת באמצעות FPGA (לוח Basys3)
לגו מיני קופר אורות נשלטים: 7 שלבים (עם תמונות)
לגו מיני קופר אורות נשלטים: סכנה, UXB! האם עבודת החלומות שלך היא מומחית לפינוי פצצות אבל אתה מהסס בגלל החלק הגוסס? אז זה הפרויקט בשבילכם! אתה תבלה שעות ארוכות בביצוע התאמות קטנטנות למכשיר לא יציב במיוחד, זיעה נקבובית מהבר שלך