Оглавление:
- Шаг 1: Используемые детали
- Шаг 2: Постановка проблемы
- Шаг 3: настройка
- Шаг 4: Код MATLAB для управления фотоэлементом
- Шаг 5: Код MATLAB для выключения света
- Шаг 6: Код MATLAB для включения света
- Шаг 7: Код MATLAB для графического интерфейса пользователя
Видео: Energy Saver 3000: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Адриан Грин, Хай Тран, Джоди Уокер
Использование компьютера 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);
конец
конец
Рекомендуемые:
Fairy Light Battery Saver: 8 шагов (с изображениями)
Fairy Light Battery Saver: батарейки CR2032 великолепны, но они не работают так долго, как хотелось бы при использовании светодиодных "Fairy Light". С наступлением праздничного сезона я решил модифицировать несколько 20 световых струн, чтобы они работали от USB-аккумулятора. Я поискал в Интернете и нашел
Как получить доступ к жесткому диску Dell Inspiron 15 серии 3000: 10 шагов
Как получить доступ к жесткому диску Dell Inspiron 15 серии 3000: Здравствуйте, читатели инструкций, сегодня я покажу вам, как получить доступ к жесткому диску в ноутбуке Dell Inspiron 15 серии 3000. Скорее всего, если вы читаете это, у вас либо проблемы со съемкой компьютера и попыткой переустановить жесткий диск, либо вы
Smash Dash 3000: 7 шагов
Smash Dash 3000: это копия от 13.04.2019 с GitHub, предназначенная для участия в конкурсе светодиодных индикаторов Instructables! Если у кого-то есть проблемы, не стесняйтесь оставлять их на GitHub! Полные файлы проекта на https://github.com/naclyellipsis/Smash-Dash-30
Arduino Home Energy Saver: 5 шагов
Arduino Home Energy Saver: вы строите домашнюю энергетическую систему, которая предназначена для мониторинга энергии вашего дома, чтобы сократить расходы на электроэнергию и другие счета за коммунальные услуги. В этой модели ваше устройство сможет проверять температуру в вашем доме и соответственно регулировать ее
Screen Saver Defeater: 9 шагов
Screen Saver Defeater: блок, который предотвращает активацию заставки, когда вы наводите на нее указатель мыши