Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
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
- 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
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 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
- 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
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
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.