Sommario:
- Passaggio 1: parti utilizzate
- Passaggio 2: dichiarazione del problema
- Passaggio 3: configurazione
- Passaggio 4: codice MATLAB per il controllo della fotocellula
- Passaggio 5: codice MATLAB per spegnere le luci
- Passaggio 6: codice MATLAB per accendere le luci
- Passaggio 7: codice MATLAB per GUI
Video: Risparmio energetico 3000: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Adrien Green, Huy Tran, Jody Walker
L'uso di un computer Raspberry Pi e Matlab è un modo semplice ed efficace per aiutare i proprietari di case a ridurre il consumo di energia. La parte migliore di Energy Saver 3000 è che è molto semplice da configurare e utilizzare. Lo scopo principale dell'Energy Saver 3000 è quello di consentire ai proprietari di casa di tenere traccia della bolletta energetica per vedere quanto stanno spendendo e di consentire ai proprietari di casa di spegnere le luci nelle loro case a distanza con la semplice pressione di un pulsante.
Passaggio 1: parti utilizzate
1: computer Raspberry Pi
2: tagliere
3: fili del ponticello
4: pulsante
5: Mini luci a LED
6: 330 ohm, 10 Kohm e un resistore da 300 ohm
7: Cavo Ethernet
8: fotocellula luce
Passaggio 2: dichiarazione del problema
Il nostro progetto era progettare un risparmio energetico domestico utilizzando un computer Raspberry Pi e MATLAB. Il nostro obiettivo era creare un sistema che consentisse agli utenti di tenere traccia della bolletta energetica per vedere se potevano ridurre il consumo energetico. Volevamo anche che gli utenti fossero in grado di spegnere le luci mentre erano via premendo un pulsante. Per fare ciò, abbiamo collegato una fotocellula per rilevare quando le luci sono accese. Se le luci sono accese, il programma MATLAB calcolerà da quanto tempo sono accese e quanta energia e denaro sono stati spesi da quando sono state accese.
Passaggio 3: configurazione
Collegare la breadboard come mostrato nell'immagine sopra.
Passaggio 4: codice MATLAB per il controllo della fotocellula
funzione control_light()rpi = raspi();
writeDigitalPin(rpi, 12, 1)
tempo = 0
sommacosto = 0
Tempo = 0
Costo = 0
lampadina = 100/1000;% kilowatt
per i = 1:2
tic
mentre vero
x = readDigitalPin(rpi, 13)
se x == 1
writeDigitalPin(rpi, 19, 1)
altrimenti se x == 0
writeDigitalPin(rpi, 19, 0)
toc;
tempo = tempo + toc
kwh = toc * bulbo
dollari = 0.101
costo = kwh * dollari
sommacosto = sommacosto + costo
X = linspace(Tempo, tempo, 10)
Y = linspace(Costo, sommacosto, 10)
Tempo = tempo
Costo = sommacosto
disp(['La luce è stata accesa per ', num2str(toc), ' ore. Costo = $', num2str(costo)])
plot(X, Y, 'b') title('Costo nel tempo')
xlabel('Tempo (Ore)')
ylabel('Costo ($Dollari)')
aspettare
rottura
fine
fine
pausa(5)
tic
mentre vero
x = readDigitalPin(rpi, 13)
se x == 1
writeDigitalPin(rpi, 19, 1)
altrimenti se x == 0
writeDigitalPin(rpi, 19, 0)
toc;
tempo = Tempo + toc
kwh = toc * bulbo
dollari = 0.101
costo = kwh * dollari
sumcost = Costo + costo
X = linspace(Tempo, tempo, 10)
Y = linspace(Costo, sommacosto, 10)
Tempo = tempo
Costo = sommacosto
disp(['La luce è stata accesa per ', num2str(toc), ' ore. Costo = $', num2str(costo)])
plot(X, Y, 'g')
title('Costo nel tempo')
xlabel('Tempo (Ore)')
ylabel('Costo ($Dollari)')
aspettare
rottura
fine
fine
pausa(5)
fine
Passaggio 5: codice MATLAB per spegnere le luci
funzione button_controlv1()
rpi = raspi();
condi = 1;
mentre true % crea un ciclo infinito per mantenere il codice in esecuzione
button = readDigitalPin(rpi, 6); % Legge il valore della pressione del pulsante sul pin 6
se pulsante == 0
condi = condi + 1
fine
se mod(condi, 2) == 0
writeDigitalPin(rpi, 17, 0)
h = msgbox('Hai spento la luce.:)') waitfor(h);
rottura
fine
se mod(condi, 2) == 1
writeDigitalPin(rpi, 17, 1)
fine
fine
Passaggio 6: codice MATLAB per accendere le luci
funzione button_controlv2()
rpi = raspi();
condi = 2;
mentre true % crea un ciclo infinito per mantenere il codice in esecuzione
button = readDigitalPin(rpi, 6); % Legge il valore della pressione del pulsante sul pin 6
se pulsante == 0
condi = condi + 1
fine
se mod(condi, 2) == 0
writeDigitalPin(rpi, 17, 0)
fine
se mod(condi, 2) == 1
writeDigitalPin(rpi, 17, 1)
h = msgbox('Hai acceso la luce.:(')
aspetta(h);
pausa(10)
rottura
fine
fine
Passaggio 7: codice MATLAB per GUI
funzione EnergySaver3000()
imgurl='https://clipart-library.com/images/pc585dj9i.jpg';
imgfile='Lampadina.jpg'; urlwrite(imgurl, imgfile);
imgdata= imread(imgfile);
h=msgbox('Benvenuto in Energy Saver 3000!', '', 'custom', imgdata);
aspetta(h);
chiara h;
mentre vero
iprogram=menu('Quale programma vuoi eseguire?', 'Calcolatrice', 'Controllo luci');
se iprogramma==1
control_light() h=msgbox('Fatto!!!')
chiudi tutto
altrimenti
iprogramma==2
fine
chiara h;
ichoice=menu('Controllo luci', 'Accendi', 'Spegni', 'Non importa');
se ichoice == 1
button_controlv2()
h=msgbox('Fatto!!!')
altrimenti se scelta ==2
button_controlv1()
h=msgbox('Fatto!!!')
altrimenti se ichoice==3
h=msgbox('Non hai fatto niente:(') waitfor(h);
h=msgbox('Fatto!!!')
fine
aspetta(h);
fine
fine
Consigliato:
GPS a risparmio energetico con display E-Ink: 4 passaggi
GPS a risparmio energetico con display E-Ink: ogni estate faccio escursioni in località remote. A volte, quando il sentiero è debole o addirittura scompare, devo usare il GPS del mio telefono per ottenere le mie coordinate e poi controllare la mia posizione su una mappa cartacea (spesso non ho segnale quindi le mappe cartacee sono obbligatorie
Analisi di LTE Cat.M1 PSM (modalità di risparmio energetico): 4 passaggi
Analisi di LTE Cat.M1 PSM(Power Saving Mode): Nel precedente articolo, abbiamo discusso come impostare il ciclo Active/Sleep utilizzando PSM. Fare riferimento all'articolo precedente per le spiegazioni sull'hardware e sull'impostazione PSM e sul comando AT. (Link: https://www.instructables.com/id/What-Is-a-PSMPow…Ac
Che cos'è un PSM (modalità di risparmio energetico) in LTE Cat.M1?: 3 passaggi
Che cos'è un PSM (modalità di risparmio energetico) in LTE Cat.M1?: LTE Cat.M1 (Cat.M1) è standardizzato da 3GPP, che è un'organizzazione internazionale di standardizzazione e servito a livello nazionale tramite SKT. Inoltre, Cat.M1 è una tecnologia rappresentativa LPWAN (Low-Power Wide-Area Network) e specializzata in applicazioni IoT d
Giorno della settimana, calendario, ora, umidità/temperatura con risparmio energetico: 10 passaggi (con immagini)
Giorno della settimana, calendario, ora, umidità/temperatura con risparmio energetico: la modalità di risparmio energetico qui è ciò che distingue questo Instructable dagli altri esempi che mostrano giorno della settimana, mese, giorno del mese, ora, umidità e temperatura. È questa capacità che consente a questo progetto di essere eseguito da una batteria, senza t
Progetto: Risparmio energetico domestico: 8 passaggi
Progetto: Home Energy Saver: Hannah Robinson, Rachel Wier, Kaila ClearyL'uso di una scheda Arduino e Matlab si è rivelato un metodo semplice ed efficace per aiutare i proprietari di casa a ottimizzare il proprio consumo energetico. La semplicità e versatilità della scheda Arduino è sorprendente. Ci sono