Inhaltsverzeichnis:
- Schritt 1: Erforderliche Teile
- Schritt 2: Wire Breadboard für Temperatursensor
- Schritt 3: Piezo-Summer
- Schritt 4: Schaltflächen hinzufügen
- Schritt 5: Verbinden Sie das LCD mit dem separaten Steckbrett und der Stromversorgung
- Schritt 6: Code
- Schritt 7: Diagramm
Video: Smart-Stat - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Unser Produkt ermöglicht es Einzelpersonen, die Effizienz ihrer Heizungs- und Klimaanlagen in ihren Häusern zu überprüfen, indem sie die Temperatur des ein- und ausgehenden Freons auf einfache und realistische Weise misst. Dieses intelligente Gerät wird die Menschen ermutigen, mit ihren Heiz- und Kühlsystemen energieeffizientere Entscheidungen zu treffen.
Schritt 1: Erforderliche Teile
- Arduino Uno
- Steckbrett (4)
- Thermistor (2)
- 10K Widerstände (2)
- Druckknopf
- Piezo-Summer
- LCD Bildschirm
- Potentiometer
- Drähte (25)
- Micro-USB- oder USB-Anschluss
Schritt 2: Wire Breadboard für Temperatursensor
Ein TMP-Thermistor ist eine Art Temperatursensor, der die Spannung am Sensor misst, wenn sich die Umgebungstemperatur ändert. Dieser spezielle Sensor hat drei Pins - einen positiven, Masse und ein Signal. Dieser Sensor ist ein linearer Sensor, und eine Temperaturänderung von einem Grad Celsius entspricht einer Änderung von 10 Millivolt am Sensorausgang.
Verfahren:
1) Schließen Sie Ihren Temperatursensor wie in der Abbildung oben gezeigt an. Der mittlere Draht wird mit A0 verbunden.
2) Schließen Sie Ihren zweiten Temperatursensor auf ähnliche Weise wie den ersten an, und das mittlere Kabel wird an A1 angeschlossen.
Schritt 3: Piezo-Summer
Ein Piezo-Summer ist ein Gerät, das den Benutzer warnt, wenn seine Heizungs-, Lüftungs- und Klimaanlage nicht in Spitzenzeiten arbeitet. Der akustische Alarm informiert den Benutzer über ein Problem.
Verfahren:
1) Schließen Sie den Summer wie in der Abbildung oben gezeigt an die Platine an.
Schritt 4: Schaltflächen hinzufügen
- Der Taster ist ein Bauteil, das beim Drücken zwei Punkte in einem Stromkreis verbindet.
- In unserem Produkt wechselt die Taste zwischen der Anzeige der Temperatur und der Effizienz aus den Daten, die die Temperatursensoren sammeln.
Verfahren
1) Schließen Sie die Taste wie in der Abbildung oben gezeigt an.
Schritt 5: Verbinden Sie das LCD mit dem separaten Steckbrett und der Stromversorgung
Die LCD-Flüssigkristallanzeige ist ein einfacher Bildschirm, der dem Benutzer mitteilen kann, wenn etwas mit den Heizungs-, Lüftungs- und Klimaanlagen seines Hauses nicht stimmt. Ex. läuft nicht effizient, Systemausfall
Das mitgelieferte Diagramm hilft Ihnen, den Bildschirm richtig mit der Platine zu verbinden.
Schritt 6: Code
a = arduino('com3', 'uno', 'Bibliotheken', 'BeispielLCD/LCDAddon'); % erstellt ein Arduino-Objekt, das die ExampleLCD/LCDAddon-Bibliothek angibt.
lcd = addon(a, 'BeispielLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % erstellt das LCD-Objekt und gibt die auf dem Arduino-Gerät konfigurierten Pins an.
initializeLCD(lcd, 'Zeilen', 2, 'Spalten', 16); % initialisiert den LCD-Bildschirm
setpref('Internet', 'SMTP_Server', 'smtp.gmail.com');
setpref('Internet', 'E_Mail', '[email protected]'); % E-Mail-Konto, von dem aus gesendet werden soll
setpref('Internet', 'SMTP_Benutzername', 'bwnanney'); % Absender-Benutzername
setpref('Internet', 'SMTP_Password', 'Morill1204'); % Absender-Passwort
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'); % lesen einen digitalen Pin (einen digitalen Sensor)
Lesen = ReadVoltage (a, 'A0'); % Lesen Sie die Spannung am analogen Thermistor ab, der an Pin A0. angeschlossen ist
read2= readVoltage(a, 'A2'); % Lesen Sie die Spannung am analogen Thermistor ab, der an Pin A2. angeschlossen ist
while true % durchläuft die vorhandene Anweisung solange wie true
b=ReadDigitalPin(a, 'D9'); % lesen einen digitalen Pin (einen digitalen Sensor)
Lesen = ReadVoltage (a, 'A0'); % Lesen Sie die Spannung am analogen Thermistor ab, der an Pin A0. angeschlossen ist
if reading>= 0.6 && reading< 0.68 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Temp 64 F'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading>= 0.68 && reading<0.69 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Temp 66 F'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading>= 0.69 && reading<0.7 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Temp 68 F'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading>=0.7 && reading<0.71 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Temp 70 F'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading>=0.71 && reading<0.72 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Temp 72 F'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading>=0.72 && reading<0.73 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Temp 74 F'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading>= 0,73 && reading<0,74 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Temp 76 F'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading>= 0,74 && reading<0,75 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Temp 78 F'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading>= 0,75 && reading<0,76 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Temp 80 F'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading>= 0.76 && reading<0.77 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Temp 82 F'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading>= 0.77 && reading<0.8 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Temp 84 F'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
playTone(a, 'D10', 880, 0.25) % spielt eine Note (a, Pin, Frequenz, Dauer)
Pause(0.3) % Pausen nach der Note für die eingestellte Dauer
playTone(a, 'D10', 880, 0.25) % spielt eine Note (a, Pin, Frequenz, Dauer)
Pause(0.3) % Pausen nach der Note für die eingestellte Dauer
playTone(a, 'D10', 880, 0.25) % spielt eine Note (a, Pin, Frequenz, Dauer)
Pause(0.3) % Pausen nach der Note für die eingestellte Dauer
playTone(a, 'D10', 880, 0.25) % spielt eine Note (a, Pin, Frequenz, Dauer)
Pause(0.3) % Pausen nach der Note für die eingestellte Dauer
playTone(a, 'D10', 987, 0.25) % spielt eine Note (a, Pin, Frequenz, Dauer)
Pause(0.3) % Pausen nach der Note für die eingestellte Dauer
playTone(a, 'D10', 987, 0.25) % spielt eine Note(a, Pin, Frequenz, Dauer)
Pause(0.3) % Pausen nach der Note für die eingestellte Dauer
playTone(a, 'D10', 880, 0.12) % spielt eine Note(a, Pin, Frequenz, Dauer)
Pause(0.1) % Pausen nach der Note für die eingestellte Dauer
playTone(a, 'D10', 740, 0.12) % spielt eine Note(a, Pin, Frequenz, Dauer)
Pause(0.1) % Pausen nach der Note für die eingestellte Dauer
playTone(a, 'D10', 587, 0.25) % spielt eine Note(a, Pin, Frequenz, Dauer)
Pause(0.3)
sendmail('[email protected]', 'Heizungs- und Kühleinheit muss gewartet werden!!!', …
„Das Heiz- und Kühlsystem arbeitet ineffizient. Bitte lassen Sie das Gerät so schnell wie möglich von einem Techniker warten.') % Sendet eine E-Mail an das angegebene E-Mail-Konto
elseif reading>= 0.8 && reading<0.85 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Temp 86 F'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading>= 0.85 && reading<2 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD(lcd, 'HEISSES HEISSES BABY!!!'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
end % endet if-Anweisung
while b==0 % durchläuft die bestehende Anweisung solange false
b=ReadDigitalPin(a, 'D9'); % lesen einen digitalen Pin (einen digitalen Sensor)
read2= readVoltage(a, 'A2'); % Lesen Sie die Spannung am analogen Thermistor ab, der an Pin A2. angeschlossen ist
if reading2>= 0.6 && reading2< 0.68 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Effizienz 80%'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading2>= 0.68 && reading2<0.69 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Effizienz 90%'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading2>= 0.69 && reading2<0.7 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Effizienz 95%'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading2>=0.7 && reading2<0.71 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Effizienz 97%'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading2>=0.71 && reading2<0.72 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Effizienz 100%'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading2>=0.72 && reading2<0.73 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Effizienz 95%'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading2>= 0,73 && reading2<0,74 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Effizienz 90%'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading2>= 0,74 && reading2<0,75 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Effizienz 85%'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading2>= 0,75 && reading2<0,76 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Effizienz 80%'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading2>= 0.76 && reading2<0.77 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD(lcd, 'Effizienz 75%'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading2>= 0.77 && reading2<0.8 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Effizienz 70%'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading2>= 0.8 && reading2<0.85 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD (LCD, 'Effizienz 65%'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
elseif reading2>= 0.85 && reading2<2 % führt bedingt einen einzelnen Satz von Anweisungen (einen Block) aus.
clearLCD(lcd) % löscht den LCD-Bildschirm
printLCD(lcd, 'ON FIRE!!!'); % Drucken Sie eine Zeichenfolge auf dem LCD.
pause(0.5) % pausiert, bevor der nächste Befehl ausgeführt wird
end % end if-Anweisung
Ende % Ende while Schleife
Ende % Ende while Schleife
Schritt 7: Diagramm
Dies ist eine grundlegende Darstellung dessen, wo die Temperatursensoren an den Auslass- und Dampfleitungen platziert werden, um die Temperatur jeder Leitung und die Differenz zwischen ihnen zu überwachen.
Empfohlen:
Smart B.A.L (verbundene Mailbox): 4 Schritte
Smart B.A.L (Connected Mailbox): Sie haben es satt, jedes Mal Ihre Mailbox zu überprüfen, während sich nichts darin befindet. Sie möchten wissen, ob Sie während einer Reise Ihre Post oder ein Paket erhalten. Es benachrichtigt Sie, wenn der Postbote eine Post oder eine Par
So erstellen Sie einen Smart Pot mit NodeMCU, der von der App gesteuert wird – wikiHow
So erstellen Sie einen Smart Pot mit NodeMCU, der von einer App gesteuert wird: In dieser Anleitung bauen wir einen Smart Pot, der von einem ESP32 und einer Anwendung für Smartphones (iOS und Android) gesteuert wird. Wir verwenden NodeMCU (ESP32) für die Konnektivität und die Blynk-Bibliothek für das Cloud-IoT und die Anwendung auf dem Smartphone. Endlich haben wir
DIY WiFi Smart Security Light mit Shelly
DIY WiFi Smart Security Light mit Shelly 1: Diese Anleitung wird sich mit der Erstellung eines DIY Smart Security Light mit dem Shelly 1 Smart Relais von Shelly befassen. Wenn Sie ein Sicherheitslicht intelligent machen, haben Sie viel mehr Kontrolle darüber, wann es aktiviert wird und wie lange es eingeschaltet bleibt. Es kann aktiv sein
So bauen Sie einen Smart Mirror mit Raspberry Pi 4: 10 Schritte
So bauen Sie einen Smart Mirror mit Raspberry Pi 4: In dieser Anleitung sehen wir, wie Sie einen Smartmirror aus recycelten Teilen wie einem Bilderrahmen, einem alten Monitor und einem Bilderglas bauen. Für die elektronischen Komponenten, die ich hier gekauft habe www.lcsc .com
Smart Home mit Arduino MKR1000 und M.I.T. Android-App: 4 Schritte
Smart Home mit Arduino MKR1000 und M.I.T. Android App: In diesem Tutorial beschreibe ich, wie Sie mit wenigen Komponenten Ihr Smart Home verbessern können. (Massachusetts Institu