Tabla de contenido:
- Paso 1: Piezas necesarias
- Paso 2: Placa de pruebas de alambre para sensor de temperatura
- Paso 3: zumbador piezoeléctrico
- Paso 4: agregar botones
- Paso 5: conecte la pantalla LCD a una placa de pruebas separada y a la alimentación
- Paso 6: Código
- Paso 7: diagrama
Video: Smart-Stat: 7 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
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.
Recomendado:
Smart Home de Raspberry Pi: 5 pasos (con imágenes)
Smart Home de Raspberry Pi: ya existen varios productos que hacen que su piso sea más inteligente, pero la mayoría de ellos son soluciones patentadas. Pero, ¿por qué necesita una conexión a Internet para encender una luz con su teléfono inteligente? Esa fue una de las razones por las que construí mi propio Smar
Smart B.A.L (buzón de correo conectado): 4 pasos
Smart B.A.L (buzón conectado): está cansado de revisar cada vez su buzón cuando no hay nada dentro. Quieres saber si recibes tu correo o un paquete durante un viaje, así que el buzón conectado es para ti. Le notificará si el cartero ha depositado un correo o un par
STONE LCD con Smart Home: 5 pasos
STONE LCD con Smart Home: hoy, obtuve la pantalla de la unidad del puerto serie de STONE, que puede comunicarse a través del puerto serie de MCU, y el diseño lógico de la interfaz de usuario de esta pantalla se puede diseñar directamente utilizando el software VGUS proporcionado en el sitio web oficial de STONE, que es muy convenie
Tutorial Arduino RFID 'Smart Door': 7 pasos
Tutorial Arduino RFID 'Smart Door': Por Peter Tran, 10ELT1 ¡En este tutorial, trabajará con un módulo lector RFID para desbloquear una puerta micro-servoalimentada! Asegúrese de tener la tarjeta de acceso correcta para ingresar y no hacer sonar la alarma ni activar las luces de intrusión. Serás guiado st
Zombie Detecting Smart Security Owl (aprendizaje profundo): 10 pasos (con imágenes)
Zombie Detecting Smart Security Owl (aprendizaje profundo): Hola a todos, ¡bienvenidos a T3chFlicks! En este tutorial de Halloween, le mostraremos cómo le damos un giro súper espeluznante a un clásico doméstico mundano: la cámara de seguridad. ¡¿Cómo?! Hemos creado un búho de visión nocturna que utiliza el procesamiento de imágenes para rastrear a las personas