Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
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
- 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
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
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
- 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
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
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.