Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Vår produkt gör det möjligt för individer att kontrollera effektiviteten i sina värme- och luftkonditioneringssystem i sina hem genom att mäta temperaturen på den inkommande och utgående freon med en enkel och realistisk process. Denna smarta enhet kommer att uppmuntra människor att fatta mer energieffektiva beslut med sina värme- och kylsystem.
Steg 1: Delar krävs
- Arduino Uno
- Brödbräda (4)
- Termistor (2)
- 10K motstånd (2)
- Tryckknapp
- Piezo -summer
- LCD skärm
- Potentiometer
- Trådar (25)
- Micro USB eller USB -kontakt
Steg 2: Trådbrödbräda för temperatursensor
En TMP -termistor är en typ av temperaturgivare som mäter spänningen över sensorn när omgivningstemperaturen ändras. Denna speciella sensor har tre stift - en positiv, jordad och en signal. Denna sensor är en linjär sensor, och temperaturförändring på en grad Celcius motsvarar en förändring på 10 millivolt vid sensorutgången.
Procedur:
1) Anslut din temperatursensor enligt bilden ovan. Mittkabeln ansluts till A0.
2) Anslut din andra temperatursensor på ett liknande sätt som den första, och den mittersta kabeln ansluts till A1.
Steg 3: Piezo Buzzer
En Piezo -summer är en enhet som används för att varna användaren när deras uppvärmningsventilation och luftkonditioneringssystem inte fungerar på topp effektivt. Det hörbara larmet informerar användaren om att det är ett problem.
Procedur:
1) Anslut summern till kortet enligt bilden ovan.
Steg 4: Lägg till knappar
- Tryckknappen är en komponent som ansluter två punkter i en krets när du trycker på den.
- I vår produkt växlar knappen mellan att visa temperaturen och effektiviteten från data som temperatursensorerna samlar in.
Procedur
1) Anslut knappen som den visas i figuren ovan.
Steg 5: Anslut LCD till separat brödbräda och till ström
LCD -skärmen, flytande kristall, är en enkel skärm som kan berätta för användaren när något är fel med värme-, ventilations- och luftkonditioneringssystemen i deras hem. Ex. fungerar inte effektivt, systemfel
Diagrammet som tillhandahålls hjälper dig att korrekt ansluta skärmen till kortet.
Steg 6: Kod
a = arduino ('com3', 'uno', 'bibliotek', 'ExempelLCD/LCDAddon'); % skapar ett arduino -objekt som anger exempelLCD/LCDAddon -biblioteket.
lcd = addon (a, 'ExempelLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % skapar LCD -objektet och anger stiften som konfigurerats på Arduino -enheten.
initializeLCD (lcd, 'rader', 2, 'kolumner', 16); % initierar LCD -skärmen
setpref ('Internet', 'SMTP_Server', 'smtp.gmail.com');
setpref ('Internet', 'E_mail', '[email protected]'); % e -postkonto att skicka från
setpref ('Internet', 'SMTP_Username', 'bwnanney'); % avsändarnamn
setpref ('Internet', 'SMTP_Password', 'Morill1204'); % avsändares lösenord
rekvisita = java.lang. System.getProperties;
props.setProperty ('mail.smtp.auth', 'true');
props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');
props.setProperty ('mail.smtp.socketFactory.port', '465');
b = readDigitalPin (a, 'D9'); % läste en digital pin (en digital sensor)
läsning = readVoltage (a, 'A0'); % läs spänningen på analog termister ansluten till stift A0
reading2 = readVoltage (a, 'A2'); % läs spänningen på analog termister ansluten till stift A2
medan true % går igenom det befintliga påståendet så länge som det är sant
b = readDigitalPin (a, 'D9'); % läste en digital pin (en digital sensor)
läsning = readVoltage (a, 'A0'); % läs spänningen på analog termister ansluten till stift A0
om läsning> = 0,6 && läsning <0,68 % villkorligt utför en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Temp 64 F'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning> = 0,68 && läsning <0,69 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Temp 66 F'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning> = 0,69 && läsning <0,7 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Temp 68 F'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning> = 0,7 && läsning <0,71 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Temp 70 F'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning> = 0,71 && läsning <0,72 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Temp 72 F'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning> = 0,72 && läsning <0,73 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Temp 74 F'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning> = 0,73 && läsning <0,74 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Temp 76 F'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning> = 0,74 && läsning <0,75 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Temp 78 F'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning> = 0,75 && läsning <0,76 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Temp 80 F'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning> = 0,76 && läsning <0,77 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Temp 82 F'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning> = 0,77 && läsning <0,8 % utför villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Temp 84 F'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
playTone (a, 'D10', 880, 0.25) % spelar en ton (a, pin, frekvens, varaktighet)
paus (0,3) % pausar efter anteckningen under angiven längd
playTone (a, 'D10', 880, 0.25) % spelar en ton (a, pin, frekvens, varaktighet)
paus (0,3) % pausar efter anteckningen under angiven längd
playTone (a, 'D10', 880, 0.25) % spelar en ton (a, pin, frekvens, varaktighet)
paus (0,3) % pausar efter anteckningen under angiven längd
playTone (a, 'D10', 880, 0.25) % spelar en ton (a, pin, frekvens, varaktighet)
paus (0,3) % pausar efter anteckningen under angiven längd
playTone (a, 'D10', 987, 0.25) % spelar en ton (a, pin, frekvens, varaktighet)
paus (0,3) % pausar efter anteckningen under angiven längd
playTone (a, 'D10', 987, 0.25) % spelar en ton (a, pin, frekvens, varaktighet)
paus (0,3) % pausar efter anteckningen under angiven längd
playTone (a, 'D10', 880, 0.12) % spelar en ton (a, pin, frekvens, varaktighet)
paus (0,1) % pausar efter anteckningen under angiven längd
playTone (a, 'D10', 740, 0.12) % spelar en ton (a, pin, frekvens, varaktighet)
paus (0,1) % pausar efter anteckningen under angiven längd
playTone (a, 'D10', 587, 0.25) % spelar en ton (a, pin, frekvens, varaktighet)
paus (0,3)
sendmail ('[email protected]', 'Värme- och kylenhet i behov av service !!!', …
'Värme- och kylsystemet fungerar ineffektivt. Låt en tekniker serva enheten så snart som möjligt. ') % Skickar ett e -postmeddelande till det angivna e -postkontot
elseif läsning> = 0,8 && läsning <0,85 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Temp 86 F'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning> = 0,85 && läsning <2 % utför villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'HOT HOT BABY !!!'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
slut % slutar om uttalande
medan b == 0 % går igenom det befintliga påståendet så länge det är falskt
b = readDigitalPin (a, 'D9'); % läste en digital pin (en digital sensor)
reading2 = readVoltage (a, 'A2'); % läs spänningen på analog termister ansluten till stift A2
om läsning2> = 0,6 && läsning2 <0,68 % utför villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Effektivitet 80%'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning2> = 0,68 && läsning2 <0,69 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Effektivitet 90%'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning2> = 0,69 && läsning2 <0,7 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Effektivitet 95%'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning2> = 0,7 && läsning2 <0,71 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Effektivitet 97%'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning2> = 0,71 && läsning2 <0,72 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Effektivitet 100%'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning2> = 0,72 && läsning2 <0,73 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Effektivitet 95%'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning2> = 0,73 && läsning2 <0,74 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Effektivitet 90%'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning2> = 0,74 && läsning2 <0,75 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Effektivitet 85%'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning2> = 0,75 && läsning2 <0,76 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Effektivitet 80%'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning2> = 0,76 && läsning2 <0,77 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Effektivitet 75%'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning2> = 0,77 && läsning2 <0,8 % utför villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Effektivitet 70%'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning2> = 0,8 && läsning2 <0,85 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'Effektivitet 65%'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
elseif läsning2> = 0,85 && läsning2 <2 % kör villkorligt en enda uppsättning satser (ett block).
clearLCD (lcd) % rensar LCD -skärmen
printLCD (lcd, 'ON FIRE !!!'); % Skriv ut en sträng till LCD -skärmen.
paus (0,5) % pausar innan nästa kommando utförs
end % end if -uttalande
slut % slut medan loop
slut % slut medan loop
Steg 7: Diagram
Detta är en grundläggande representation av var temperatursensorerna skulle placeras på urladdnings- och ångledningarna för att övervaka temperaturen på varje ledning och skillnaden mellan dem.