Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Met ons product kunnen individuen de efficiëntie van hun verwarmings- en airconditioningsystemen in hun huizen controleren door de temperatuur van de inkomende en uitgaande freon te meten door een eenvoudig en realistisch proces. Dit slimme apparaat zal mensen aanmoedigen om energie-efficiëntere beslissingen te nemen met hun verwarmings- en koelsystemen.
Stap 1: Benodigde onderdelen
- Arduino Uno
- Broodplank (4)
- Thermistor (2)
- 10K Weerstanden (2)
- Druk op de knop
- Piëzo-zoemer
- LCD scherm
- Potentiometer
- Draden (25)
- Micro-USB- of USB-connector
Stap 2: Wire Breadboard voor temperatuursensor
Een TMP-thermistor is een type temperatuursensor die de spanning over de sensor meet als de omgevingstemperatuur verandert. Deze specifieke sensor heeft drie pinnen - een positief, aarde en een signaal. Deze sensor is een lineaire sensor en een verandering in temperatuur van één graad Celsius komt overeen met een verandering van 10 millivolt aan de sensoruitgang.
Procedure:
1) Sluit uw temperatuursensor aan zoals weergegeven in de bovenstaande afbeelding. De middelste draad wordt aangesloten op A0.
2) Sluit uw tweede temperatuursensor op dezelfde manier aan als de eerste en de middelste draad wordt aangesloten op A1.
Stap 3: Piëzo-zoemer
Een piëzo-zoemer is een apparaat dat wordt gebruikt om de gebruiker te waarschuwen wanneer zijn verwarmingsventilatie- en airconditioningsysteem niet optimaal werkt. Het hoorbare alarm informeert de gebruiker dat er een probleem is.
Procedure:
1) Sluit de zoemer aan op het bord zoals weergegeven in de bovenstaande afbeelding.
Stap 4: Knoppen toevoegen
- De drukknop is een onderdeel dat twee punten in een circuit verbindt wanneer u erop drukt.
- In ons product wisselt de knop tussen het weergeven van de temperatuur en efficiëntie van de gegevens die de temperatuursensoren verzamelen.
Procedure
1) Sluit de knop aan zoals weergegeven in de bovenstaande afbeelding.
Stap 5: Sluit het LCD-scherm aan op een apart breadboard en op de voeding
Het LCD-scherm met vloeibare kristallen is een eenvoudig scherm dat de gebruiker kan vertellen wanneer er iets mis is met de verwarmings-, ventilatie- en airconditioningsystemen van hun huis. Ex. werkt niet efficiënt, systeemfout
Het meegeleverde diagram helpt u het scherm correct op het bord aan te sluiten.
Stap 6: Coderen
a = arduino('com3', 'uno', 'bibliotheken', 'VoorbeeldLCD/LCDAddon'); % maakt een arduino-object dat de VoorbeeldLCD/LCDAddon-bibliotheek specificeert.
lcd = addon(a, 'VoorbeeldLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % maakt het LCD-object aan en specificeert de pinnen die op het Arduino-apparaat zijn geconfigureerd.
initializeLCD(lcd, 'Rijen', 2, 'Kolommen', 16); % initialiseert het lcd-scherm
setpref('Internet', 'SMTP_Server', 'smtp.gmail.com');
setpref('Internet', 'E_mail', '[email protected]'); % e-mailaccount om vanaf te verzenden
setpref('Internet', 'SMTP_Gebruikersnaam', 'bwnanney'); % afzender gebruikersnaam
setpref('Internet', 'SMTP_Password', 'Morill1204'); % afzenders wachtwoord
props = 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'); % lees een digitale pin (een digitale sensor)
lezen = leesVoltage (a, 'A0'); % lees de spanning op analoge thermister aangesloten op pin A0
lezen2= leesVoltage(a, 'A2'); % lees de spanning op analoge thermister aangesloten op pin A2
terwijl true % door de bestaande instructie loopt zolang als waar
b=readDigitalPin(a, 'D9'); % lees een digitale pin (een digitale sensor)
lezen = leesVoltage (a, 'A0'); % lees de spanning op analoge thermister aangesloten op pin A0
if reading>= 0,6 && reading< 0,68% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Temp 64 F'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading>= 0.68 && reading<0.69% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Temp 66 F'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading>= 0,69 && reading<0,7% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Temp 68 F'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading>=0.7 && reading<0.71 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Temp 70 F'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading>=0.71 && reading<0.72 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Temp 72 F'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading>=0.72 && reading<0.73% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Temp 74 F'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading>= 0,73 && reading<0,74 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Temp 76 F'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading>= 0,74 && reading<0,75 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Temp 78 F'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading>= 0,75 && reading<0,76 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Temp 80 F'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading>= 0,76 && reading<0,77 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Temp 82 F'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading>= 0,77 && reading<0,8% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Temp 84 F'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
playTone(a, 'D10', 880, 0.25) % speelt een noot (a, pin, frequentie, duur)
pauze(0.3) % pauzes na noot voor ingestelde duur
playTone(a, 'D10', 880, 0.25) % speelt een noot (a, pin, frequentie, duur)
pauze(0.3) % pauzes na noot voor ingestelde duur
playTone(a, 'D10', 880, 0.25) % speelt een noot (a, pin, frequentie, duur)
pauze(0.3) % pauzes na noot voor ingestelde duur
playTone(a, 'D10', 880, 0.25) % speelt een noot (a, pin, frequentie, duur)
pauze(0.3) % pauzes na noot voor ingestelde duur
playTone(a, 'D10', 987, 0.25) % speelt een noot (a, pin, frequentie, duur)
pauze(0.3) % pauzes na noot voor ingestelde duur
playTone(a, 'D10', 987, 0.25) % speelt een noot (a, pin, frequentie, duur)
pauze(0.3) % pauzes na noot voor ingestelde duur
playTone(a, 'D10', 880, 0.12) % speelt een noot (a, pin, frequentie, duur)
pauze(0.1) % pauzes na noot voor ingestelde duur
playTone(a, 'D10', 740, 0.12) % speelt een noot (a, pin, frequentie, duur)
pauze(0.1) % pauzes na noot voor ingestelde duur
playTone(a, 'D10', 587, 0.25) % speelt een noot (a, pin, frequentie, duur)
pauze(0.3)
sendmail('[email protected]', 'Verwarmings- en koeleenheid die onderhoud nodig heeft!!!', …
'Het verwarmings- en koelsysteem werkt inefficiënt. Laat het apparaat zo snel mogelijk nakijken door een technicus.') % Stuurt een e-mail naar het opgegeven e-mailaccount
elseif reading>= 0.8 && reading<0.85% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Temp 86 F'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading>= 0,85 && reading<2% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'HEET HEET BABY!!!'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
eind % eindigt als statement
terwijl b==0 % door de bestaande instructie loopt zolang als false
b=readDigitalPin(a, 'D9'); % lees een digitale pin (een digitale sensor)
lezen2= leesVoltage(a, 'A2'); % lees de spanning op analoge thermister aangesloten op pin A2
if reading2>= 0,6 && reading2< 0,68% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Efficiëntie 80%'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading2>= 0,68 && reading2<0,69 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Efficiëntie 90%'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading2>= 0,69 && reading2<0,7% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Efficiëntie 95%'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading2>=0.7 && reading2<0.71 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Efficiëntie 97%'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading2>=0.71 && reading2<0.72 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Efficiëntie 100%'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading2>=0.72 && reading2<0.73% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Efficiëntie 95%'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading2>= 0,73 && reading2<0,74 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Efficiëntie 90%'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading2>= 0.74 && reading2<0.75% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Efficiëntie 85%'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading2>= 0,75 && reading2<0,76 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Efficiëntie 80%'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading2>= 0,76 && reading2<0,77 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Efficiëntie 75%'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading2>= 0,77 && reading2<0,8% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Efficiëntie 70%'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading2>= 0,8 && reading2<0,85 % voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'Efficiëntie 65%'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
elseif reading2>= 0,85 && reading2<2% voert voorwaardelijk een enkele set instructies uit (een blok).
clearLCD(lcd) % wist het lcd-scherm
printLCD(lcd, 'ON BRAND!!!'); % Druk een string af naar het LCD-scherm.
pause(0.5) % pauzeert voordat het volgende commando wordt uitgevoerd
end % end if statement
einde % einde while-lus
einde % einde while-lus
Stap 7: Schema
Dit is een basisweergave van waar de temperatuursensoren op de afvoer- en dampleidingen zouden worden geplaatst om de temperatuur van elke leiding en het verschil daartussen te bewaken.