Inhoudsopgave:
- Stap 1: Benodigde onderdelen
- Stap 2: Wire Breadboard voor temperatuursensor
- Stap 3: Piëzo-zoemer
- Stap 4: Knoppen toevoegen
- Stap 5: Sluit het LCD-scherm aan op een apart breadboard en op de voeding
- Stap 6: Coderen
- Stap 7: Schema
Video: Smart-Stat: 7 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
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.
Aanbevolen:
Smart Home van Raspberry Pi: 5 stappen (met afbeeldingen)
Smart Home van Raspberry Pi: er zijn al verschillende producten die uw flat slimmer maken, maar de meeste zijn eigen oplossingen. Maar waarom heb je een internetverbinding nodig om een lamp te schakelen met je smartphone? Dat was voor mij een reden om mijn eigen Smar te bouwen
Smart Motorcycle HUD-prototype (turn-by-turn navigatie en nog veel meer): 9 stappen
Smart Motorcycle HUD-prototype (turn-by-turn navigatie en nog veel meer): Hallo! This Instructables is het verhaal van hoe ik een HUD-platform (Heads-Up Display) heb ontworpen en gebouwd dat is ontworpen om op motorhelmen te worden gemonteerd. Het is geschreven in het kader van de "kaarten"-wedstrijd. Helaas kon ik het niet helemaal afmaken
DIY INTERNET GECONTROLEERDE SMART LED MATRIX (ADAFRUIT + ESP8266 + WS2812): 8 stappen (met afbeeldingen)
DIY INTERNET GECONTROLEERDE SMART LED MATRIX (ADAFRUIT + ESP8266 + WS2812): Hier is mijn tweede voorschot op een project dat ik je graag wil laten zien. Het gaat om een doe-het-zelf Smart LED Matrix waarmee je gegevens, zoals YouTube-statistieken, je Smart Home-statistieken, zoals temperatuur, vochtigheid, een eenvoudige klok kunt laten zien, of gewoon laten zien
DIY Indoor Bike Smart Trainer: 5 stappen
DIY Indoor Bike Smart Trainer: Inleiding Dit project begon als een eenvoudige aanpassing aan een Schwinn IC Elite indoorfiets die een eenvoudige schroef en viltkussens gebruikt voor de weerstandsinstellingen. Het probleem dat ik wilde oplossen was dat de spoed van de schroef te groot was, dus het bereik
Hardware en software Hack Smart Devices, Tuya en Broadlink LEDbulb, Sonoff, BSD33 Smart Plug - Ajarnpa
Hardware en software Hack Smart Devices, Tuya en Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: In deze Instructable laat ik je zien hoe ik verschillende slimme apparaten heb geflitst met mijn eigen firmware, zodat ik ze via MQTT kan bedienen via mijn Openhab-setup. Ik zal toevoegen nieuwe apparaten toen ik ze hackte. Natuurlijk zijn er andere op software gebaseerde methoden om aangepaste f