Spisu treści:

Smart-Stat: 7 kroków
Smart-Stat: 7 kroków

Wideo: Smart-Stat: 7 kroków

Wideo: Smart-Stat: 7 kroków
Wideo: Najlepsze aplikacje liczące kroki na telefon - jaki wybrać krokomierz 2024, Lipiec
Anonim
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat
Smart-Stat

Nasz produkt pozwala osobom fizycznym sprawdzić sprawność systemów grzewczych i klimatyzacyjnych w swoich domach, mierząc temperaturę wchodzącego i wychodzącego freonu w prostym i realistycznym procesie. To inteligentne urządzenie zachęci ludzi do podejmowania bardziej energooszczędnych decyzji dotyczących systemów ogrzewania i chłodzenia.

Krok 1: Wymagane części

Wymagane części
Wymagane części
Wymagane części
Wymagane części
Wymagane części
Wymagane części

- Arduino Uno

- Deska do krojenia chleba (4)

- Termistor (2)

- Rezystory 10K (2)

- Naciśnij przycisk

- piezoelektryczny brzęczyk

- Wyświetlacz LCD

-Potencjometr

- Przewody (25)

- Złącze Micro USB lub USB

Krok 2: Płytka do krojenia drutu do czujnika temperatury

Płytka do krojenia drutu do czujnika temperatury
Płytka do krojenia drutu do czujnika temperatury

Termistor TMP to rodzaj czujnika temperatury, który mierzy napięcie na czujniku w miarę zmian temperatury otoczenia. Ten konkretny czujnik ma trzy piny - dodatni, masę i sygnał. Czujnik ten jest czujnikiem liniowym, a zmiana temperatury o jeden stopień Celsjusza odpowiada zmianie o 10 miliwoltów na wyjściu czujnika.

Procedura:

1) Podłącz czujnik temperatury, jak pokazano na powyższym rysunku. Środkowy przewód połączy się z A0.

2) Podłącz drugi czujnik temperatury w podobny sposób do pierwszego, a środkowy przewód połączy się z A1.

Krok 3: Brzęczyk piezoelektryczny

Brzęczyk piezoelektryczny
Brzęczyk piezoelektryczny

Brzęczyk Piezo to urządzenie służące do ostrzegania użytkownika, gdy jego system ogrzewania, wentylacji i klimatyzacji nie działa wydajnie. Alarm dźwiękowy informuje użytkownika o problemie.

Procedura:

1) Podłącz brzęczyk do płytki, jak pokazano na powyższym rysunku.

Krok 4: Dodaj przyciski

Dodaj przyciski
Dodaj przyciski

- Przycisk to element, który po naciśnięciu łączy dwa punkty w obwodzie.

- W naszym produkcie przycisk przełącza się między wyświetlaniem temperatury a wydajnością na podstawie danych gromadzonych przez czujniki temperatury.

Procedura

1) Podłącz przycisk tak, jak pokazano na powyższym rysunku.

Krok 5: Podłącz wyświetlacz LCD do oddzielnej płyty chlebowej i do zasilania

Podłącz wyświetlacz LCD do oddzielnej płyty chlebowej i do zasilania
Podłącz wyświetlacz LCD do oddzielnej płyty chlebowej i do zasilania

Wyświetlacz ciekłokrystaliczny LCD to prosty ekran, który informuje użytkownika, kiedy coś jest nie tak z systemami ogrzewania, wentylacji i klimatyzacji w jego domu. Były. nie działa wydajnie, awaria systemu

Dostarczony schemat pomoże w prawidłowym podłączeniu ekranu do tablicy.

Krok 6: Kod

a = arduino('com3', 'uno', 'biblioteki', 'PrzykładowyLCD/LCDAddon'); % tworzy obiekt arduino określając bibliotekę ExampleLCD/LCDAddon.

lcd = addon(a, 'PrzykładowyLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % tworzy obiekt LCD i określa piny skonfigurowane na urządzeniu Arduino.

initializeLCD(lcd, 'Wiersze', 2, 'Kolumny', 16); % inicjuje ekran lcd

setpref('Internet', 'SMTP_Server', 'smtp.gmail.com');

setpref('Internet', 'E_mail', '[email protected]'); % konto pocztowe do wysłania

setpref('Internet', 'SMTP_Nazwa użytkownika', 'bwnanney'); % nadawców nazwa użytkownika

setpref('Internet', 'SMTP_Hasło', 'Morill1204'); Hasło % nadawców

rekwizyty = java.lang. System.getProperties;

props.setProperty('mail.smtp.auth', 'prawda');

props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');

props.setProperty('mail.smtp.socketFactory.port', '465');

b=odczytaj pinezkę cyfrową(a, 'D9'); % odczyta pin cyfrowy (czujnik cyfrowy)

czytanie= odczytaj napięcie(a, 'A0'); % odczytać napięcie na termistorze analogowym podłączonym do pinu A0

czytanie2= odczytajNapięcie(a, 'A2'); % odczytać napięcie na termistorze analogowym podłączonym do pinu A2

podczas gdy true % zapętla istniejącą instrukcję tak długo, jak true

b=odczytaj pinezkę cyfrową(a, 'D9'); % odczyta pin cyfrowy (czujnik cyfrowy)

czytanie= odczytaj napięcie(a, 'A0'); % odczytać napięcie na termistorze analogowym podłączonym do pinu A0

if czytanie>= 0,6 && czytanie< 0,68% warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Temp 64 F'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie>= 0,68 && czytanie<0,69 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Temp 66 F'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie>= 0,69 && czytanie<0,7% warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Temp 68 F'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie>=0,7 && czytanie<0,71 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Temp 70 F'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie>=0,71 && czytanie<0,72 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Temp 72 F'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie>=0,72 && czytanie<0,73 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Temp 74 F'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie>= 0,73 && czytanie<0,74 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Temp 76 F'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie>= 0,74 && czytanie<0,75 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Temp 78 F'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie>= 0,75 && czytanie<0,76 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Temp 80 F'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie>= 0,76 && czytanie<0,77 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Temp 82 F'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie>= 0,77 && czytanie<0,8% warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Temp 84 F'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

playTone(a, 'D10', 880, 0.25) % gra nutę(a, pin, częstotliwość, czas trwania)

pauza (0,3) % pauz po nucie przez ustawiony czas trwania

playTone(a, 'D10', 880, 0.25) % gra nutę(a, pin, częstotliwość, czas trwania)

pauza (0,3) % pauz po nucie przez ustawiony czas trwania

playTone(a, 'D10', 880, 0.25) % odtwarza nutę(a, pin, częstotliwość, czas trwania)

pauza (0,3) % pauz po nucie przez ustawiony czas trwania

playTone(a, 'D10', 880, 0.25) % odtwarza nutę(a, pin, częstotliwość, czas trwania)

pauza (0,3) % pauz po nucie przez ustawiony czas trwania

playTone(a, 'D10', 987, 0,25) % odtwarza nutę(a, pin, częstotliwość, czas trwania)

pauza (0,3) % pauz po nucie przez ustawiony czas trwania

playTone(a, 'D10', 987, 0,25) % odtwarza nutę(a, pin, częstotliwość, czas trwania)

pauza (0,3) % pauz po nucie przez ustawiony czas trwania

playTone(a, 'D10', 880, 0.12) % gra nutę(a, pin, częstotliwość, czas trwania)

pauza (0,1) % pauz po nucie przez ustawiony czas trwania

playTone(a, 'D10', 740, 0,12) % gra nutę(a, pin, częstotliwość, czas trwania)

pauza (0,1) % pauz po nucie przez ustawiony czas trwania

playTone(a, 'D10', 587, 0,25) % odtwarza nutę(a, pin, częstotliwość, czas trwania)

pauza(0.3)

sendmail('[email protected]', 'Urządzenie grzewczo-chłodzące wymaga serwisu!!!', …

„System ogrzewania i chłodzenia działa nieefektywnie. Poproś technika o jak najszybszy serwis urządzenia.') % Wysyła wiadomość e-mail na podane konto e-mail

elseif czytanie>= 0,8 && czytanie<0,85 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Temp 86 F'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie>= 0.85 && czytanie<2% warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'GORĄCE, GORĄCE DZIECKO!!!'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

end % kończy się instrukcją

podczas gdy b==0 % zapętla istniejącą instrukcję, o ile false

b=odczytaj pinezkę cyfrową(a, 'D9'); % odczyta pin cyfrowy (czujnik cyfrowy)

czytanie2= odczytajNapięcie(a, 'A2'); % odczytać napięcie na termistorze analogowym podłączonym do pinu A2

if czytanie2>= 0,6 && czytanie2< 0,68% warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Wydajność 80%'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie2>= 0,68 && czytanie2<0,69 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Wydajność 90%'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie2>= 0,69 && czytanie2<0,7% warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Wydajność 95%'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie2>=0,7 && czytanie2<0,71 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Sprawność 97%'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie2>=0,71 && czytanie2<0,72 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Wydajność 100%'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie2>=0,72 && czytanie2<0,73 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Wydajność 95%'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie2>= 0,73 && czytanie2<0,74 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Wydajność 90%'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie2>= 0,74 && czytanie2<0,75 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Wydajność 85%'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie2>= 0,75 && czytanie2<0,76 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Wydajność 80%'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie2>= 0,76 && czytanie2<0,77 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Wydajność 75%'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie2>= 0,77 && czytanie2<0,8% warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Sprawność 70%'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie2>= 0,8 && czytanie2<0,85 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'Sprawność 65%'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

elseif czytanie2>= 0,85 && czytanie2<2 % warunkowo wykonuje pojedynczy zestaw instrukcji (blok).

clearLCD(lcd) % czyści ekran lcd

printLCD(lcd, 'W OGNIU!!!'); % Wydrukuj ciąg na LCD.

pause(0.5) % pauz przed wykonaniem następnego polecenia

end % end if oświadczenie

end % end while pętla

end % end while pętla

Krok 7: Schemat

Diagram
Diagram

Jest to podstawowa reprezentacja miejsca, w którym czujniki temperatury zostałyby umieszczone na przewodach wylotowych i oparów, aby monitorować temperaturę każdej linii i różnicę między nimi.

Zalecana: