Tabla de contenido:

Smart-Stat: 7 pasos
Smart-Stat: 7 pasos

Video: Smart-Stat: 7 pasos

Video: Smart-Stat: 7 pasos
Video: 7 Smart Ways to Position Your YouTube Channel for Success in 2024 2024, Noviembre
Anonim
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat

Nuestro producto permite a las personas verificar la eficiencia de sus sistemas de calefacción y aire acondicionado en sus hogares midiendo la temperatura del freón entrante y saliente mediante un proceso simple y realista. Este dispositivo inteligente alentará a las personas a tomar decisiones más eficientes energéticamente con sus sistemas de calefacción y refrigeración.

Paso 1: Piezas necesarias

Piezas necesarias
Piezas necesarias
Piezas necesarias
Piezas necesarias
Piezas necesarias
Piezas necesarias

- Arduino Uno

- Tablero de pruebas (4)

- Termistor (2)

- Resistencias 10K (2)

- Presionar el botón

- Zumbador piezoeléctrico

- Pantalla LCD

- potenciómetro

- Alambres (25)

- Conector micro USB o USB

Paso 2: Placa de pruebas de alambre para sensor de temperatura

Placa de pruebas de alambre para sensor de temperatura
Placa de pruebas de alambre para sensor de temperatura

Un termistor TMP es un tipo de sensor de temperatura que mide el voltaje a través del sensor a medida que cambia la temperatura ambiente. Este sensor en particular tiene tres pines: positivo, tierra y señal. Este sensor es un sensor lineal y un cambio de temperatura de un grado Celsius equivale a un cambio de 10 milivoltios en la salida del sensor.

Procedimiento:

1) Conecte su sensor de temperatura como se muestra en la figura anterior. El cable del medio se conectará a A0.

2) Conecte su segundo sensor de temperatura de manera similar al primero, y el cable del medio se conectará a A1.

Paso 3: zumbador piezoeléctrico

Zumbador piezoeléctrico
Zumbador piezoeléctrico

Un zumbador piezoeléctrico es un dispositivo que se utiliza para alertar al usuario cuando su sistema de calefacción, ventilación y aire acondicionado no está funcionando al máximo de manera eficiente. La alarma audible informa al usuario que existe un problema.

Procedimiento:

1) Conecte el zumbador a la placa como se muestra en la figura anterior.

Paso 4: agregar botones

Agregar botones
Agregar botones

- El pulsador es un componente que conecta dos puntos en un circuito cuando lo presionas.

- En nuestro producto, el botón alterna entre mostrar la temperatura y la eficiencia de los datos que recopilan los sensores de temperatura.

Procedimiento

1) Conecte el botón como se muestra en la figura anterior.

Paso 5: conecte la pantalla LCD a una placa de pruebas separada y a la alimentación

Conecte la pantalla LCD a una placa de pruebas separada y a la alimentación
Conecte la pantalla LCD a una placa de pruebas separada y a la alimentación

La pantalla LCD, de cristal líquido, es una pantalla simple que puede indicarle al usuario cuando algo anda mal con los sistemas de calefacción, ventilación y aire acondicionado de su hogar. Ex. no funciona de manera eficiente, falla del sistema

El diagrama proporcionado le ayudará a conectar correctamente la pantalla a la placa.

Paso 6: Código

a = arduino ('com3', 'uno', 'bibliotecas', 'ExampleLCD / LCDAddon'); % crea un objeto arduino especificando la biblioteca ExampleLCD / LCDAddon.

lcd = addon (a, 'ExampleLCD / LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % crea el objeto LCD y especifica los pines configurados en el dispositivo Arduino.

initializeLCD (lcd, 'Filas', 2, 'Columnas', 16); % inicializa la pantalla lcd

setpref ('Internet', 'SMTP_Server', 'smtp.gmail.com');

setpref ('Internet', 'Correo electrónico', '[email protected]'); % cuenta de correo desde la que enviar

setpref ('Internet', 'SMTP_Username', 'bwnanney'); % nombre de usuario de remitentes

setpref ('Internet', 'SMTP_Password', 'Morill1204'); % contraseña de remitentes

props = java.lang. System.getProperties;

props.setProperty ('mail.smtp.auth', 'verdadero');

props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');

props.setProperty ('mail.smtp.socketFactory.port', '465');

b = readDigitalPin (a, 'D9'); % leer un pin digital (un sensor digital)

lectura = readVoltage (a, 'A0'); % lee el voltaje en el termistor analógico conectado al pin A0

lectura2 = readVoltage (a, 'A2'); % lee el voltaje en el termistor analógico conectado al pin A2

mientras que true% recorre la declaración existente siempre que sea true

b = readDigitalPin (a, 'D9'); % leer un pin digital (un sensor digital)

lectura = readVoltage (a, 'A0'); % lee el voltaje en el termistor analógico conectado al pin A0

si lectura> = 0.6 && lectura <0.68% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Temp 64 F'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura> = 0.68 && lectura <0.69% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Temp 66 F'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura> = 0.69 && lectura <0.7% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Temp 68 F'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura> = 0.7 && lectura <0.71% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Temp 70 F'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura> = 0.71 && lectura <0.72% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Temp 72 F'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura> = 0.72 && lectura <0.73% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Temp 74 F'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura> = 0.73 && lectura <0.74% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Temp 76 F'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura> = 0.74 && lectura <0.75% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Temp 78 F'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura> = 0.75 && lectura <0.76% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Temp 80 F'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura> = 0.76 && lectura <0.77% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Temp 82 F'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura> = 0.77 && lectura <0.8% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Temp 84 F'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

playTone (a, 'D10', 880, 0.25)% toca una nota (a, pin, frecuencia, duración)

pause (0.3)% hace una pausa después de la nota durante la duración establecida

playTone (a, 'D10', 880, 0.25)% toca una nota (a, pin, frecuencia, duración)

pause (0.3)% hace una pausa después de la nota durante la duración establecida

playTone (a, 'D10', 880, 0.25)% toca una nota (a, pin, frecuencia, duración)

pause (0.3)% hace una pausa después de la nota durante la duración establecida

playTone (a, 'D10', 880, 0.25)% toca una nota (a, pin, frecuencia, duración)

pause (0.3)% hace una pausa después de la nota durante la duración establecida

playTone (a, 'D10', 987, 0.25)% toca una nota (a, pin, frecuencia, duración)

pause (0.3)% hace una pausa después de la nota durante la duración establecida

playTone (a, 'D10', 987, 0.25)% toca una nota (a, pin, frecuencia, duración)

pause (0.3)% hace una pausa después de la nota durante la duración establecida

playTone (a, 'D10', 880, 0.12)% toca una nota (a, pin, frecuencia, duración)

pause (0.1)% hace una pausa después de la nota durante la duración establecida

playTone (a, 'D10', 740, 0.12)% toca una nota (a, pin, frecuencia, duración)

pause (0.1)% hace una pausa después de la nota durante la duración establecida

playTone (a, 'D10', 587, 0.25)% toca una nota (a, pin, frecuencia, duración)

pausa (0.3)

sendmail ('[email protected] ',' ¡¡¡Unidad de calefacción y refrigeración necesita servicio !!! ',…

'El sistema de calefacción y refrigeración está funcionando de manera ineficiente. Solicite a un técnico que repare la unidad lo antes posible. ')% Envía un correo electrónico a la cuenta de correo electrónico especificada

elseif lectura> = 0.8 && lectura <0.85% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Temp 86 F'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura> = 0.85 && lectura <2% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, '¡¡¡BEBÉ CALIENTE !!!'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

end% termina si la declaración

while b == 0% recorre la declaración existente siempre que sea falsa

b = readDigitalPin (a, 'D9'); % leer un pin digital (un sensor digital)

lectura2 = readVoltage (a, 'A2'); % lee el voltaje en el termistor analógico conectado al pin A2

if reading2> = 0.6 && reading2 <0.68% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Eficiencia 80%'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura2> = 0.68 && lectura2 <0.69% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Eficiencia 90%'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura2> = 0.69 && lectura2 <0.7% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Eficiencia 95%'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura2> = 0.7 && lectura2 <0.71% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Eficiencia 97%'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura2> = 0.71 && lectura2 <0.72% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Eficiencia 100%'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura2> = 0.72 && lectura2 <0.73% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Eficiencia 95%'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura2> = 0.73 && lectura2 <0.74% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Eficiencia 90%'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura2> = 0.74 && lectura2 <0.75% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Eficiencia 85%'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif reading2> = 0.75 && reading2 <0.76% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Eficiencia 80%'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif reading2> = 0.76 && reading2 <0.77% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Eficiencia 75%'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif reading2> = 0.77 && reading2 <0.8% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Eficiencia 70%'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura2> = 0.8 && lectura2 <0.85% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, 'Eficiencia 65%'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

elseif lectura2> = 0.85 && lectura2 <2% ejecuta condicionalmente un solo conjunto de declaraciones (un bloque).

clearLCD (lcd)% borra la pantalla lcd

printLCD (lcd, '¡¡¡ENCENDIDO !!!'); % Imprime una cadena en la pantalla LCD.

pause (0.5)% hace una pausa antes de ejecutar el siguiente comando

end% end if sentencia

end% end while loop

end% end while loop

Paso 7: diagrama

Diagrama
Diagrama

Esta es una representación básica de dónde se colocarían los sensores de temperatura en las líneas de descarga y vapor para monitorear la temperatura de cada línea y el diferencial entre ellas.

Recomendado: