Tabla de contenido:
- Paso 1: Piezas utilizadas
- Paso 2: declaración del problema
- Paso 3: configuración
- Paso 4: Código MATLAB para controlar la fotocélula
- Paso 5: Código MATLAB para apagar las luces
- Paso 6: Código MATLAB para encender las luces
- Paso 7: código MATLAB para GUI
Video: Energy Saver 3000: 7 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Adrien Green, Huy Tran, Jody Walker
El uso de una computadora Raspberry Pi y Matlab es una forma simple y efectiva de ayudar a los propietarios a reducir el consumo de energía. La mejor parte del Energy Saver 3000 es que es muy sencillo de configurar y utilizar. El propósito principal del Energy Saver 3000 es permitir que los propietarios puedan realizar un seguimiento de su factura de energía para ver cuánto están gastando, y permitir que los propietarios apaguen las luces de sus hogares de forma remota con solo presionar un botón.
Paso 1: Piezas utilizadas
1: computadora Raspberry Pi
2: tablero de pruebas
3: cables de puente
4: pulsador
5: Mini luces LED
6: 330 ohmios, 10 Kohmios y una resistencia de 300 ohmios
7: cable de Ethernet
8: fotocélula de luz
Paso 2: declaración del problema
Nuestro proyecto consistía en diseñar un dispositivo de ahorro de energía para el hogar utilizando una computadora Raspberry Pi y MATLAB. Nuestro objetivo era construir un sistema que permitiera a los usuarios realizar un seguimiento de su factura de energía para ver si pueden reducir su consumo de energía. También queríamos que los usuarios pudieran apagar sus luces mientras estaban fuera con solo presionar un botón. Para hacer esto, conectamos una fotocélula para detectar cuando las luces están encendidas. Si las luces están encendidas, el programa MATLAB calculará cuánto tiempo han estado encendidas y cuánta energía y dinero se ha gastado desde que estuvieron encendidas.
Paso 3: configuración
Conecte la placa de pruebas como se muestra en la imagen de arriba.
Paso 4: Código MATLAB para controlar la fotocélula
función control_light () rpi = raspi ();
writeDigitalPin (rpi, 12, 1)
tiempo = 0
sumacost = 0
Tiempo = 0
Costo = 0
bombilla = 100/1000;% kilovatios
para i = 1: 2
tic
si bien es cierto
x = readDigitalPin (rpi, 13)
si x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
tiempo = tiempo + toc
kwh = toc * bombilla
dólares = 0.101
costo = kwh * dólares
coste total = coste total + coste
X = linspace (tiempo, tiempo, 10)
Y = linspace (Costo, costo total, 10)
Tiempo = tiempo
Costo = costo total
disp (['La luz ha estado encendida durante', num2str (toc), 'horas. Costo = $', num2str (costo)])
plot (X, Y, 'b') title ('Coste a lo largo del tiempo')
xlabel ('Tiempo (horas)')
ylabel ('Costo ($ dólares)')
esperar
rotura
fin
fin
pausa (5)
tic
si bien es cierto
x = readDigitalPin (rpi, 13)
si x == 1
writeDigitalPin (rpi, 19, 1)
elseif x == 0
writeDigitalPin (rpi, 19, 0)
toc;
tiempo = tiempo + toc
kwh = toc * bombilla
dólares = 0.101
costo = kwh * dólares
sumcost = Costo + costo
X = linspace (tiempo, tiempo, 10)
Y = linspace (Costo, costo total, 10)
Tiempo = tiempo
Costo = costo total
disp (['La luz ha estado encendida durante', num2str (toc), 'horas. Costo = $', num2str (costo)])
trama (X, Y, 'g')
title ('Coste a lo largo del tiempo')
xlabel ('Tiempo (horas)')
ylabel ('Costo ($ dólares)')
esperar
rotura
fin
fin
pausa (5)
fin
Paso 5: Código MATLAB para apagar las luces
función button_controlv1 ()
rpi = raspi ();
condi = 1;
mientras que true% crea un bucle infinito para mantener el código en ejecución
button = readDigitalPin (rpi, 6); % Lee el valor de pulsación del botón en el pin 6
si botón == 0
condi = condi + 1
fin
si mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
h = msgbox ('Apagó la luz.:)') waitfor (h);
rotura
fin
si mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
fin
fin
Paso 6: Código MATLAB para encender las luces
función button_controlv2 ()
rpi = raspi ();
condi = 2;
mientras que true% crea un bucle infinito para mantener el código en ejecución
button = readDigitalPin (rpi, 6); % Lee el valor de pulsación del botón en el pin 6
si botón == 0
condi = condi + 1
fin
si mod (condi, 2) == 0
writeDigitalPin (rpi, 17, 0)
fin
si mod (condi, 2) == 1
writeDigitalPin (rpi, 17, 1)
h = msgbox ('Encendiste la luz.:(')
esperar (h);
pausa (10)
rotura
fin
fin
Paso 7: código MATLAB para GUI
función EnergySaver3000 ()
imgurl = 'https://clipart-library.com/images/pc585dj9i.jpg';
imgfile = 'Bombilla.jpg'; urlwrite (imgurl, imgfile);
imgdata = imread (imgfile);
h = msgbox ('¡Bienvenido al Energy Saver 3000!', '', 'personalizado', imgdata);
esperar (h);
claro h;
si bien es cierto
iprogram = menu ('¿Qué programa desea ejecutar?', 'Calculadora de facturas', 'Control de luz');
si iprograma == 1
control_light () h = msgbox ('Hecho !!!')
cierra todo
elseif
iprograma == 2
fin
claro h;
ichoice = menu ('Control de luz', 'Encender', 'Apagar', 'No importa');
si ichoice == 1
button_controlv2 ()
h = msgbox ('¡Listo!')
elseif ichoice == 2
button_controlv1 ()
h = msgbox ('¡Listo!')
elseif ichoice == 3
h = msgbox ('No hizo nada:(') waitfor (h);
h = msgbox ('¡Listo!')
fin
esperar (h);
fin
fin
Recomendado:
Cómo acceder a un disco duro Dell Inspiron 15 serie 3000: 10 pasos
Cómo acceder a un disco duro Dell Inspiron 15 serie 3000: Hola, lectores de Instructables, hoy les mostraré cómo acceder a un disco duro en una computadora portátil Dell Inspiron 15 serie 3000. Lo más probable es que, si está leyendo esto, esté solucionando problemas con la computadora y esté buscando volver a colocar el disco duro o usted
Smash Dash 3000: 7 pasos
Smash Dash 3000: ¡Esta es una copia y pegado a partir del 13/04/2019 de GitHub, con el propósito de participar en la competencia Instructables LED! Si alguien tiene problemas, ¡no dude en dejar un problema en GitHub! Archivos completos del proyecto en https://github.com/naclyellipsis/Smash-Dash-30
EF 230: Home System 3000 Instructable: 4 pasos
EF 230: Home System 3000 Instructable: El Home System 3000 es un dispositivo que utiliza un Arduino, un sensor de temperatura, un zumbador piezoeléctrico, un detector óptico / fototransistor y un servo para mostrar formas de mejorar la eficiencia energética del hogar
Bright Saver con Arduino Mega: 7 pasos
Bright Saver con Arduino Mega: Bright Saver muestra información de ahorro precisa y actualizada y le permite establecer un objetivo de ahorro. Por ejemplo, una vez que establezca su objetivo con los dos botones proporcionados, puede observar la progresión y cuánto más se necesita para alcanzar su objetivo
The Solder Saver (bolígrafo dispensador de soldadura de leva de bloqueo): 4 pasos
The Solder Saver (bolígrafo dispensador de soldadura de leva de bloqueo): "¿Cómo debo comenzar este Instructable?" Me pregunto. Aparentemente, desde el principio de los tiempos, el hombre ha tenido la necesidad de pegar soldadura en un bolígrafo y publicar imágenes en línea. Bueno, consideré brevemente profundizar en la historia más amplia de la pluma de soldadura, b