Мазмуну:

Energy Saver 3000: 7 кадам
Energy Saver 3000: 7 кадам

Video: Energy Saver 3000: 7 кадам

Video: Energy Saver 3000: 7 кадам
Video: СРОЧНО! КИТАЙСКИЙ ЭЛЕКТРОМОБИЛЬ ЗА 900$ С ALIEXPRESS! НОВЫЙ АВТОМОБИЛЬ 2024 ГОДА ИЗ КИТАЯ (CHANGLI) 2024, Июль
Anonim
Энергияны үнөмдөөчү 3000
Энергияны үнөмдөөчү 3000

Адриен Грин, Хюй Тран, Джоди Уолкер

Raspberry Pi компьютерин жана Matlabти колдонуу - үй ээлерине энергия керектөөнү азайтууга жардам берүү үчүн жөнөкөй жана эффективдүү ыкма. Energy Saver 3000дин эң жакшы жагы - аны орнотуу жана колдонуу абдан жөнөкөй. Energy Saver 3000дин негизги максаты - үй ээлерине энергияны эсепке алууну, алардын канча сарптаганын билүүсүн жана үй ээлерине ал жердеги үйлөрдүн жарыгын алыстан баскычын басуу менен өчүрүү мүмкүнчүлүгүн берүү.

1 -кадам: Колдонулган бөлүктөр

Колдонулган бөлүктөр
Колдонулган бөлүктөр
Колдонулган бөлүктөр
Колдонулган бөлүктөр
Колдонулган бөлүктөр
Колдонулган бөлүктөр

1: Raspberry Pi компьютери

2: Breadboard

3: Jumper зымдары

4: Баскычты басыңыз

5: Mini LED чырактары

6: 330 Ом, 10 Кох жана 300 Омдук резистор

7: Ethernet кабели

8: Жеңил фотоэлемент

2 -кадам: Проблемалар жөнүндө билдирүү

Биздин долбоор Raspberry Pi компьютерин жана MATLABны колдонуу менен үйдөгү энергия үнөмдөгүчтү иштеп чыгуу болчу. Биздин максат - колдонуучулар энергия керектөөнү азайта алабы же жокпу билүү үчүн алардын энергия эсептерин көзөмөлдөөгө мүмкүнчүлүк берген системаны куруу болчу. Биз ошондой эле колдонуучулар кнопканы басуу менен жок болуп турганда жарыгын өчүрүп коюшун кааладык. Бул үчүн биз жарык күйүп турганда сезүү үчүн фотоэлектрди туташтырдык. Эгерде жарыктар күйүп турган болсо, MATLAB программасы алардын канча убакыт күйгөнүн жана күйгүзүлгөндөн бери канча энергия жана акча сарпталганын эсептеп чыгат.

3 -кадам: Орнотуу

Жайгашуу
Жайгашуу

Үстүнкү сүрөттө көрсөтүлгөндөй, панельди зым менен жабыңыз.

4 -кадам: Photocell контролдоо үчүн MATLAB Code

control_light функциясы () rpi = raspi ();

writeDigitalPin (rpi, 12, 1)

убакыт = 0

sumcost = 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

баасы = кВт * доллар

sumcost = sumcost + наркы

X = linspace (Убакыт, убакыт, 10)

Y = linspace (Баасы, суммасы, 10)

Убакыт = убакыт

Баасы = сумма

disp (['Жарык күйүп турат', num2str (toc), 'саат. Баасы = $', num2str (баасы)])

сюжет (X, Y, 'b') аталышы ('Time Over')

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

баасы = кВт * доллар

sumcost = Баасы + баасы

X = linspace (Убакыт, убакыт, 10)

Y = linspace (Баасы, суммасы, 10)

Убакыт = убакыт

Баасы = сумма

disp (['Жарык күйүп турат', num2str (toc), 'саат. Баасы = $', num2str (баасы)])

сюжет (X, Y, 'g')

аталышы ('Убакыттын өтүшү менен')

xlabel ('Убакыт (саат)')

ylabel ('Наркы ($ Доллар)')

токто

тыныгуу

аяктоо

аяктоо

пауза (5)

аяктоо

5 -кадам: Жарыкты өчүрүү үчүн MATLAB коду

button_controlv1 функциясы ()

rpi = raspi ();

condi = 1;

чыныгы % кодду иштетүү үчүн чексиз цикл түзөт

баскыч = readDigitalPin (rpi, 6); % 6 пиндеги баскычтын басуу маанисин окуйт

эгер баскыч == 0

condi = condi + 1

аяктоо

if mod (condi, 2) == 0

writeDigitalPin (rpi, 17, 0)

h = msgbox ('Жарыкты өчүрдүңүз.:)') waitfor (h);

тыныгуу

аяктоо

if mod (condi, 2) == 1

writeDigitalPin (rpi, 17, 1)

аяктоо

аяктоо

6 -кадам: Жарыкты күйгүзүү үчүн MATLAB коду

button_controlv2 функциясы ()

rpi = raspi ();

condi = 2;

чыныгы % кодду иштетүү үчүн чексиз цикл түзөт

баскычы = readDigitalPin (rpi, 6); % 6 пиндеги баскычтын басуу маанисин окуйт

эгер баскыч == 0

condi = condi + 1

аяктоо

if mod (condi, 2) == 0

writeDigitalPin (rpi, 17, 0)

аяктоо

if mod (condi, 2) == 1

writeDigitalPin (rpi, 17, 1)

h = msgbox ('Жарыкты күйгүздүңүз.:(')

күтүү (h);

тыныгуу (10)

тыныгуу

аяктоо

аяктоо

7 -кадам: GUI үчүн MATLAB Code

милдети 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);

ачык h;

чын болсо

iprogram = меню ('Кайсы программаны иштеткиңиз келет?', 'Билл Калькулятору', 'Жарыкты башкаруу');

эгерде iprogram == 1

control_light () h = msgbox ('Бүттү !!!')

баарын жап

elseif

iprogram == 2

аяктоо

ачык h;

ichoice = меню ('Жарыкты башкаруу', 'Күйгүзүү', 'Өчүрүү', 'Nevermind');

if ichoice == 1

button_controlv2 ()

h = msgbox ('Бүттү !!!')

elseif ichoice == 2

button_controlv1 ()

h = msgbox ('Бүттү !!!')

elseif ichoice == 3

h = msgbox ('Сиз эч нерсе кылган жоксуз:(') күтүү (h);

h = msgbox ('Бүттү !!!')

аяктоо

күтүү (h);

аяктоо

аяктоо

Сунушталууда: