Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Adrien Green, Huy Tran, Jody Walker
A utilização de um computador Raspberry Pi e Matlab é uma forma simples e eficaz de ajudar os proprietários a reduzir o seu consumo de energia. A melhor parte do Energy Saver 3000 é que ele é muito simples de configurar e usar. O principal objetivo do Energy Saver 3000 é permitir que os proprietários possam rastrear sua conta de energia para ver quanto estão gastando, e permitir que os proprietários apaguem as luzes remotamente com o apertar de um botão.
Etapa 1: peças usadas
1: computador Raspberry Pi
2: placa de ensaio
3: fios de ligação
4: botão de pressão
5: Mini luzes LED
6: 330 ohm, 10 Kohm e um resistor de 300 ohm
7: Cabo Ethernet
8: Fotocélula de luz
Etapa 2: Declaração do Problema
Nosso projeto era projetar um economizador de energia doméstico usando um computador Raspberry Pi e MATLAB. Nosso objetivo era construir um sistema que permitisse aos usuários rastrear sua conta de energia para ver se eles podem reduzir seu consumo de energia. Também queríamos que os usuários pudessem desligar as luzes enquanto estavam fora com o pressionar de um botão. Para fazer isso, instalamos uma fotocélula para detectar quando as luzes estão acesas. Se as luzes estiverem acesas, o programa MATLAB calculará há quanto tempo eles estão ligados e quanta energia e dinheiro foram gastos desde que foram ligados.
Etapa 3: configuração
Conecte a placa de ensaio conforme mostrado na imagem acima.
Etapa 4: Código MATLAB para controle da fotocélula
função control_light () rpi = raspi ();
writeDigitalPin (rpi, 12, 1)
tempo = 0
sumcost = 0
Tempo = 0
Custo = 0
lâmpada = 100/1000;% quilowatts
para i = 1: 2
tique
enquanto verdadeiro
x = readDigitalPin (rpi, 13)
se x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
tempo = tempo + toc
kwh = toc * lâmpada
dólares = 0,101
custo = kwh * dólares
sumcost = sumcost + custo
X = linspace (tempo, tempo, 10)
Y = espaço interno (custo, custo total, 10)
Tempo = tempo
Custo = custo total
disp (['A luz está ligada há', num2str (toc), 'horas. Custo = $', num2str (custo)])
plot (X, Y, 'b') title ('Cost Over Time')
xlabel ('Tempo (horas)')
ylabel ('Custo ($ dólares)')
aguentar
pausa
fim
fim
pausa (5)
tique
enquanto verdadeiro
x = readDigitalPin (rpi, 13)
se x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
time = Time + toc
kwh = toc * lâmpada
dólares = 0,101
custo = kwh * dólares
custo total = custo + custo
X = linspace (tempo, tempo, 10)
Y = espaço interno (custo, custo total, 10)
Tempo = tempo
Cost = sumcost
disp (['A luz está ligada há', num2str (toc), 'horas. Custo = $', num2str (custo)])
plot (X, Y, 'g')
título ('Custo ao longo do tempo')
xlabel ('Tempo (horas)')
ylabel ('Custo ($ dólares)')
aguentar
pausa
fim
fim
pausa (5)
fim
Etapa 5: Código MATLAB para desligar as luzes
function button_controlv1 ()
rpi = raspi ();
condi = 1;
enquanto true% cria um loop infinito para manter o código em execução
botão = readDigitalPin (rpi, 6); % Lê o valor pressionado do botão no pino 6
se o botão == 0
condi = condi + 1
fim
se mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
h = msgbox ('Você apagou a luz.:)') waitfor (h);
pausa
fim
se mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
fim
fim
Etapa 6: Código MATLAB para ligar as luzes
function button_controlv2 ()
rpi = raspi ();
condi = 2;
enquanto true% cria um loop infinito para manter o código em execução
botão = readDigitalPin (rpi, 6); % Lê o valor de pressão do botão no pino 6
se o botão == 0
condi = condi + 1
fim
se mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
fim
se mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
h = msgbox ('Você acendeu a luz.:(')
waitfor (h);
pausa (10)
pausa
fim
fim
Etapa 7: Código MATLAB para GUI
função EnergySaver3000 ()
imgurl = 'https://clipart-library.com/images/pc585dj9i.jpg';
imgfile = 'Lâmpada.jpg'; urlwrite (imgurl, imgfile);
imgdata = imread (imgfile);
h = msgbox ('Bem-vindo ao Energy Saver 3000!', '', 'custom', imgdata);
waitfor (h);
claro h;
enquanto verdadeiro
iprogram = menu ('Qual programa você deseja executar?', 'Calculadora de contas', 'Controle de luz');
se iprogram == 1
control_light () h = msgbox ('Concluído !!!')
feche tudo
elseif
iprogram == 2
fim
claro h;
ichoice = menu ('Controle de luz', 'Ligar', 'Desligar', 'Deixa pra lá');
se ichoice == 1
button_controlv2 ()
h = msgbox ('Concluído !!!')
elseif ichoice == 2
button_controlv1 ()
h = msgbox ('Concluído !!!')
elseif ichoice == 3
h = msgbox ('Você não fez nada:(') waitfor (h);
h = msgbox ('Concluído !!!')
fim
waitfor (h);
fim
fim