Spisu treści:
- Krok 1: Wymagane części
- Krok 2: Płytka do krojenia drutu do czujnika temperatury
- Krok 3: Brzęczyk piezoelektryczny
- Krok 4: Dodaj przyciski
- Krok 5: Podłącz wyświetlacz LCD do oddzielnej płyty chlebowej i do zasilania
- Krok 6: Kod
- Krok 7: Schemat
Wideo: Smart-Stat: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
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.
Zalecana:
DIY STEROWANA PRZEZ INTERNET SMART LED MATRIX (ADAFRUIT + ESP8266 + WS2812): 8 kroków (ze zdjęciami)
DIY STEROWANA PRZEZ INTERNET SMART LED MATRIX (ADAFRUIT + ESP8266 + WS2812): Oto moje drugie przejście do projektu, który z radością mogę Wam pokazać. Chodzi o inteligentną matrycę LED DIY, która pozwoli Ci wyświetlać na niej dane, takie jak statystyki YouTube, statystyki inteligentnego domu, takie jak temperatura, wilgotność, może być prostym zegarem lub po prostu pokazać
DIY SMART LED MATRIX (ESP8266 + WS2812 / NeoPixels): 7 kroków (ze zdjęciami)
DIY SMART LED MATRIX (ESP8266 + WS2812 / NeoPixels): Oto moje wprowadzenie do projektu, który z radością pokażę. Chodzi o inteligentną matrycę LED DIY, która pozwoli Ci pokazywać na niej dane, takie jak statystyki YouTube, statystyki inteligentnego domu, takie jak temperatura, wilgotność, może być prostym zegarem lub po prostu
Wykrywanie zombie Smart Security Owl (głębokie uczenie): 10 kroków (ze zdjęciami)
Zombie Detecting Smart Security Owl (Deep Learning): Cześć wszystkim, witamy w T3chFlicks! W tym samouczku na Halloween pokażemy, w jaki sposób wprowadziliśmy niezwykle upiorny akcent do przyziemnego klasyka gospodarstwa domowego: kamery bezpieczeństwa. Jak?! Stworzyliśmy sowę noktowizyjną, która wykorzystuje przetwarzanie obrazu do śledzenia ludzi
Micro:bit Smart Watch: 9 kroków
Micro:bit Smart Watch: Mam zestaw micro:bit smart home na Boże Narodzenie. Pomyślałem więc, że mógłbym stworzyć inteligentny zegarek, który będzie działał jako budzik, zegarek, odtwarzacz muzyki, ale nawet jako krokomierz i kalkulator. W końcu spisałem się świetnie i dlatego mogę napisać Ci instrukcje h
Smart Booy [GPS, radio (NRF24) i moduł karty SD]: 5 kroków (ze zdjęciami)
Smart Buoy [GPS, Radio (NRF24) i moduł karty SD]: Ta seria Smart Buoy przedstawia naszą (ambitną) próbę zbudowania naukowej boi, która może dokonywać znaczących pomiarów morza przy użyciu gotowych produktów. To jest samouczek dwa z czterech - upewnij się, że jesteś na bieżąco, a jeśli potrzebujesz szybkiego w