Оглавление:

Energy Saver 3000: 7 шагов
Energy Saver 3000: 7 шагов

Видео: Energy Saver 3000: 7 шагов

Видео: Energy Saver 3000: 7 шагов
Видео: Just Put Super Glue on the Led Bulb and you will be amazed 2024, Ноябрь
Anonim
Энергосбережение 3000
Энергосбережение 3000

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

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

Шаг 1: Используемые детали

Используемые детали
Используемые детали
Используемые детали
Используемые детали
Используемые детали
Используемые детали

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

2: Макетная плата

3: перемычки

4: кнопка

5: мини-светодиодные фонари

6: 330 Ом, 10 кОм и резистор 300 Ом

7: кабель Ethernet

8: Световой фотоэлемент

Шаг 2: Постановка проблемы

Нашим проектом было разработать домашнюю энергосберегающую систему с использованием компьютера Raspberry Pi и MATLAB. Наша цель состояла в том, чтобы создать систему, которая позволила бы пользователям отслеживать свои счета за электроэнергию, чтобы увидеть, могут ли они снизить потребление энергии. Мы также хотели, чтобы пользователи могли выключать свет, когда их нет, одним нажатием кнопки. Для этого мы подключили фотоэлемент, чтобы определять, когда свет включен. Если индикаторы включены, программа MATLAB рассчитает, как долго они были включены и сколько энергии и денег было потрачено с тех пор, как они были включены.

Шаг 3: настройка

Настраивать
Настраивать

Подключите макетную плату, как показано на рисунке выше.

Шаг 4: Код MATLAB для управления фотоэлементом

функция 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)

иначе, если х == 0

writeDigitalPin (rpi, 19, 0)

toc;

время = время + ток

kwh = toc * лампа

долларов = 0,101

стоимость = кВт · ч * доллары

sumcost = sumcost + cost

X = linspace (Время, время, 10)

Y = linspace (Стоимость, sumcost, 10)

Время = время

Стоимость = sumcost

disp (['Свет был включен', num2str (toc), 'hours. Cost = $', num2str (cost)])

plot (X, Y, 'b') title ('Стоимость с течением времени')

xlabel ('Время (часы)')

ylabel ('Стоимость (в долларах)')

Подожди

перерыв

конец

конец

пауза (5)

тик

пока правда

x = readDigitalPin (rpi, 13)

если x == 1

writeDigitalPin (rpi, 19, 1)

иначе, если х == 0

writeDigitalPin (rpi, 19, 0)

toc;

время = время + ток

kwh = toc * лампа

долларов = 0,101

стоимость = кВт · ч * доллары

sumcost = Стоимость + стоимость

X = linspace (Время, время, 10)

Y = linspace (Стоимость, sumcost, 10)

Время = время

Стоимость = sumcost

disp (['Свет был включен', num2str (toc), 'hours. Cost = $', num2str (cost)])

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

title ("Стоимость с течением времени")

xlabel ('Время (часы)')

ylabel ('Стоимость (в долларах)')

Подожди

перерыв

конец

конец

пауза (5)

конец

Шаг 5: Код MATLAB для выключения света

функция button_controlv1 ()

rpi = raspi ();

condi = 1;

в то время как true% создает бесконечный цикл, чтобы код работал

кнопка = readDigitalPin (rpi, 6); % Считывает значение нажатия кнопки на выводе 6

если кнопка == 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 для включения света

функция button_controlv2 ()

rpi = raspi ();

condi = 2;

в то время как true% создает бесконечный цикл, чтобы код работал

кнопка = readDigitalPin (rpi, 6); % Считывает значение нажатия кнопки на выводе 6

если кнопка == 0

condi = condi + 1

конец

если mod (condi, 2) == 0

writeDigitalPin (rpi, 17, 0)

конец

если mod (condi, 2) == 1

writeDigitalPin (rpi, 17, 1)

h = msgbox ('Вы включили свет.:(')

waitfor (h);

пауза (10)

перерыв

конец

конец

Шаг 7: Код MATLAB для графического интерфейса пользователя

функция 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);

waitfor (h);

ясно h;

пока правда

iprogram = menu («Какую программу вы хотите запустить?», «Калькулятор счетов», «Управление освещением»);

если iprogram == 1

control_light () h = msgbox ('Готово !!!')

закрыть все

elseif

iprogram == 2

конец

ясно h;

ichoice = menu («Управление освещением», «Включить», «Выключить», «Неважно»);

если ichoice == 1

button_controlv2 ()

h = msgbox ('Готово !!!')

elseif ichoice == 2

button_controlv1 ()

h = msgbox ('Готово !!!')

elseif ichoice == 3

h = msgbox ('Вы ничего не сделали:(') waitfor (h);

h = msgbox ('Готово !!!')

конец

waitfor (h);

конец

конец

Рекомендуемые: