תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
אדריאן גרין, הוי טראן, ג'ודי ווקר
השימוש במחשב Raspberry Pi וב- Matlab הוא דרך פשוטה ויעילה לסייע לבעלי בתים לצמצם שם את צריכת האנרגיה. החלק הטוב ביותר ב- Energy Saver 3000 הוא שההגדרה והשימוש בו פשוטים מאוד. המטרה העיקרית של Energy Saver 3000 היא לאפשר לבעלי בתים לעקוב אחר חשבון האנרגיה שלהם כדי לראות כמה הם מוציאים, ולאפשר לבעלי בתים לכבות את האורות בבתים שם מרחוק בלחיצת כפתור.
שלב 1: חלקים בשימוש
1: מחשב פטל פי
2: לוח לחם
3: חוטי מגשר
4: כפתור לחיצה
5: מיני נורות LED
6: 330 אוהם, 10 קאוהם ונגד 300 אוהם
7: כבל אתרנט
8: תא צילום קל
שלב 2: הצהרת בעיות
הפרויקט שלנו היה לעצב חסכון באנרגיה ביתית באמצעות מחשב Raspberry Pi ו- MATLAB. המטרה שלנו הייתה לבנות מערכת המאפשרת למשתמשים לעקוב אחר חשבון האנרגיה שלהם כדי לבדוק אם הם יכולים להפחית את צריכת האנרגיה שלהם. רצינו גם שמשתמשים יוכלו לכבות את האורות שלהם בזמן שהם נעלמו בלחיצת כפתור. לשם כך חיברנו תא צילום כדי לחוש מתי האורות דולקים. אם האורות דולקים, תוכנית MATLAB תחשב כמה זמן הם דלקו וכמה אנרגיה וכסף הושקעו מאז שהם דולקים.
שלב 3: התקנה
חברו את לוח הלחם כפי שמוצג בתמונה למעלה.
שלב 4: קוד MATLAB לשליטה בתא הצילום
פונקציה control_light () rpi = raspi ();
writeDigitalPin (rpi, 12, 1)
זמן = 0
סכום = 0
זמן = 0
עלות = 0
נורה = 100/1000;% קילוואט
עבור i = 1: 2
עֲוִית
בעוד שזה נכון
x = readDigitalPin (rpi, 13)
אם x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
זמן = זמן + טוק
kwh = נורה * toc *
דולר = 0.101
עלות = קוט ש * דולר
סכום = סכום + עלות
X = linspace (זמן, זמן, 10)
Y = linspace (עלות, סכום, 10)
זמן = זמן
עלות = סכום
disp (['אור דולק', num2str (toc), 'hours. Cost = $', num2str (cost)])
עלילת (X, Y, 'b') כותרת ('עלות לאורך זמן')
xlabel ('זמן (שעות)')
ylabel ('עלות (דולר)')
תחזיק מעמד
לשבור
סוֹף
סוֹף
הפסקה (5)
עֲוִית
בעוד שזה נכון
x = readDigitalPin (rpi, 13)
אם x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
זמן = זמן + טוק
kwh = נורה * toc *
דולר = 0.101
עלות = קוט ש * דולר
סכום = עלות + עלות
X = linspace (זמן, זמן, 10)
Y = linspace (עלות, סכום, 10)
זמן = זמן
עלות = סכום
disp (['אור דולק', num2str (toc), 'hours. Cost = $', num2str (cost)])
עלילה (X, Y, 'g')
title ('עלות לאורך זמן')
xlabel ('זמן (שעות)')
ylabel ('עלות (דולר)')
תחזיק מעמד
לשבור
סוֹף
סוֹף
הפסקה (5)
סוֹף
שלב 5: קוד MATLAB לכיבוי אורות
function button_controlv1 ()
rpi = raspi ();
condi = 1;
בעוד ש- % true יוצר לולאה אינסופית כדי שהקוד יפעל
כפתור = readDigitalPin (rpi, 6); % קורא את ערך לחיצת הכפתור בסיכה 6
if כפתור == 0
condi = condi + 1
סוֹף
אם mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
h = msgbox ('כיבית את האור.:)') waitfor (h);
לשבור
סוֹף
אם mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
סוֹף
סוֹף
שלב 6: קוד MATLAB להפעלת אורות
function button_controlv2 ()
rpi = raspi ();
condi = 2;
בעוד ש- % true יוצר לולאה אינסופית כדי שהקוד יפעל
כפתור = readDigitalPin (rpi, 6); % קורא את ערך לחיצת הכפתור בסיכה 6
if כפתור == 0
condi = condi + 1
סוֹף
אם mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
סוֹף
אם mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
h = msgbox ('הדלקת את האור.:(')
ממתין (ח);
הפסקה (10)
לשבור
סוֹף
סוֹף
שלב 7: קוד MATLAB ל- GUI
פונקציה EnergySaver3000 ()
imgurl = 'https://clipart-library.com/images/pc585dj9i.jpg';
imgfile = 'Lightbulb.jpg'; urlwrite (imgurl, imgfile);
imgdata = imread (imgfile);
h = msgbox ('ברוכים הבאים ל- Energy Saver 3000!', '', 'custom', imgdata);
ממתין (ח);
ברור h;
בעוד שזה נכון
iprogram = menu ('איזו תוכנית אתה רוצה להריץ?', 'מחשבון ביל', 'בקרת אור');
אם iprogram == 1
control_light () h = msgbox ('בוצע !!!')
סגור הכל
אחר
iprogram == 2
סוֹף
ברור h;
ichoice = תפריט ('בקרת אור', 'הפעלה', 'כיבוי', 'לא משנה');
אם ichoice == 1
button_controlv2 ()
h = msgbox ('בוצע !!!')
elseif ichoice == 2
button_controlv1 ()
h = msgbox ('בוצע !!!')
elseif ichoice == 3
h = msgbox ('לא עשית כלום:(') waitfor (h);
h = msgbox ('בוצע !!!')
סוֹף
ממתין (ח);
סוֹף
סוֹף