Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Məhsulumuz, fərdlərin daxil olan və gedən freonun istiliyini sadə və real bir proseslə ölçərək evlərində istilik və kondisioner sistemlərinin səmərəliliyini yoxlamağa imkan verir. Bu ağıllı cihaz, insanları istilik və soyutma sistemləri ilə daha enerjiyə qənaət edən qərarlar verməyə təşviq edəcək.
Addım 1: Lazım olan hissələr
- Arduino Uno
- Çörək paneli (4)
- Termistor (2)
- 10K Rezistorlar (2)
- Düyməni basın
- Piezo Buzzer
- LCD Ekran
- Potansiyometr
- Tellər (25)
- Mikro USB və ya USB Konnektoru
Addım 2: Temperatur Sensoru üçün Tel Breadboard
TMP termistoru, ətraf mühitin temperaturu dəyişdikcə sensordakı gərginliyi ölçən bir temperatur sensoru növüdür. Bu xüsusi sensorun üç sancağı var - müsbət, torpaq və siqnal. Bu sensor xətti bir sensordur və bir dərəcə Celcius temperaturunun dəyişməsi sensor çıxışında 10 millivolt dəyişikliyinə bərabərdir.
Prosedur:
1) İstilik sensörünüzü yuxarıdakı şəkildə göstərildiyi kimi bağlayın. Orta tel A0 -a bağlanacaq.
2) İkinci temperatur sensörünüzü birincisinə bənzər şəkildə bağlayın və orta tel A1 -ə qoşulacaq.
Addım 3: Piezo Buzzer
Piezo səs siqnalı, isitmə havalandırma və kondisioner sistemi səmərəli işləmədikdə istifadəçini xəbərdar etmək üçün istifadə olunan bir cihazdır. Səsli siqnal istifadəçiyə problem olduğunu bildirir.
Prosedur:
1) Səs siqnalını yuxarıdakı şəkildə göstərildiyi kimi lövhəyə qoşun.
Addım 4: Düymələr əlavə edin
- Düymə, düyməni basdığınız zaman bir dövrədə iki nöqtəni birləşdirən bir komponentdir.
- Məhsulumuzda düymə, temperatur sensörlərinin topladığı məlumatlardan temperaturun və səmərəliliyin göstərilməsi arasında dövr edir.
Prosedur
1) Düyməni yuxarıdakı şəkildə göstərildiyi kimi bağlayın.
Addım 5: LCD -ni Ayrı Breadboard -a və Gücə qoşun
LCD, maye kristal ekran, istifadəçiyə evinin isitmə, havalandırma və kondisioner sistemlərində bir şeyin səhv olduğunu bildirə bilən sadə bir ekrandır. Məsələn səmərəli işləmir, sistem nasazlığı
Verilən diaqram, ekranı lövhəyə düzgün bağlamanıza kömək edəcək.
Addım 6: Kod
a = arduino ('com3', 'uno', 'kitabxanalar', 'ExampleLCD/LCDAddon'); %, ExampleLCD/LCDAddon kitabxanasını ifadə edən bir arduino obyekti yaradır.
lcd = addon (a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % LCD obyekti yaradır və Arduino cihazında konfiqurasiya edilmiş sancaqları göstərir.
initializeLCD (lcd, 'Satırlar', 2, 'Sütunlar', 16); % lcd ekranını işə salır
setpref ('İnternet', 'SMTP_Server', 'smtp.gmail.com');
setpref ('İnternet', 'E_mail', '[email protected]'); göndərmək üçün % poçt hesabı
setpref ('İnternet', 'SMTP_Username', 'bwnanney'); % göndərən istifadəçi adı
setpref ('İnternet', 'SMTP_Password', 'Morill1204'); % göndərən parol
rekvizit = java.lang. System.getProperties;
props.setProperty ('mail.smtp.auth', 'doğru');
props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');
props.setProperty ('mail.smtp.socketFactory.port', '465');
b = readDigitalPin (a, 'D9'); rəqəmsal pin oxuyur (rəqəmsal sensor)
oxu = readVoltage (a, 'A0'); A0 pininə qoşulan analoq termistordakı gərginliyi oxuyun
oxu2 = readVoltage (a, 'A2'); A2 pininə qoşulan analoq termistordakı gərginliyi oxuyun
doğru %, doğru olduğu müddətcə mövcud ifadəni döndərir
b = readDigitalPin (a, 'D9'); rəqəmsal pin oxuyur (rəqəmsal sensor)
oxu = readVoltage (a, 'A0'); A0 pininə qoşulan analoq termistordakı gərginliyi oxuyun
oxumaq> = 0.6 və & oxu <0.68 % şərti olaraq bir ifadələr dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Temp 64 F'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri yerinə yetirməzdən əvvəl durur
elseif oxu> = 0.68 && oxumaq <0.69 % şərti olaraq bir ifadələr dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Temp 66 F'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri yerinə yetirməzdən əvvəl durur
elseif oxu> = 0.69 && oxumaq <0.7 % şərti olaraq bir ifadələr dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Temp 68 F'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri yerinə yetirməzdən əvvəl durur
elseif oxu> = 0.7 && oxumaq <0.71 % şərti olaraq bir bəyanat dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Temp 70 F'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif oxu> = 0.71 && oxumaq <0.72 % şərti olaraq bir ifadələr dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Temp 72 F'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif oxu> = 0.72 && oxumaq <0.73 % şərti olaraq bir ifadələr dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Temp 74 F'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif oxu> = 0.73 && oxumaq <0.74 % şərti olaraq bir ifadələr dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Temp 76 F'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri yerinə yetirməzdən əvvəl durur
elseif oxu> = 0.74 && oxumaq <0.75 % şərti olaraq bir bəyanat dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Temp 78 F'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif oxu> = 0.75 && oxumaq <0.76 % şərti olaraq tək bir ifadə dəstini (bir blok) icra edir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Temp 80 F'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif oxu> = 0.76 && oxumaq <0.77 % şərti olaraq bir ifadələr dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Temp 82 F'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri yerinə yetirməzdən əvvəl durur
elseif oxu> = 0.77 && oxumaq <0.8 % şərti olaraq bir ifadələr dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Temp 84 F'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
playTone (a, 'D10', 880, 0.25) % bir not oynayır (a, pin, tezlik, müddət)
fasilə (0.3) % müəyyən müddət üçün qeyddən sonra fasilə verir
playTone (a, 'D10', 880, 0.25) % bir not oynayır (a, pin, tezlik, müddət)
fasilə (0.3) % müəyyən müddət üçün qeyddən sonra durur
playTone (a, 'D10', 880, 0.25) % bir not oynayır (a, pin, tezlik, müddət)
fasilə (0.3) % müəyyən müddət üçün qeyddən sonra durur
playTone (a, 'D10', 880, 0.25) % bir not oynayır (a, pin, tezlik, müddət)
fasilə (0.3) % müəyyən müddət üçün qeyddən sonra durur
playTone (a, 'D10', 987, 0.25) % bir not oynayır (a, pin, tezlik, müddət)
fasilə (0.3) % müəyyən müddət üçün qeyddən sonra durur
playTone (a, 'D10', 987, 0.25) % bir not oynayır (a, pin, tezlik, müddət)
fasilə (0.3) % müəyyən müddət üçün qeyddən sonra durur
playTone (a, 'D10', 880, 0.12) % bir not oynayır (a, pin, tezlik, müddət)
fasilə (0.1) % müəyyən müddət üçün qeyddən sonra durur
playTone (a, 'D10', 740, 0.12) % bir not oynayır (a, pin, tezlik, müddət)
fasilə (0.1) % müəyyən müddət üçün qeyddən sonra durur
playTone (a, 'D10', 587, 0.25) % bir not oynayır (a, pin, tezlik, müddət)
fasilə (0.3)
sendmail ('[email protected]', 'Xidmətə Ehtiyac Olan İstilik və Soyutma Birimi !!!',…
'İstilik və soyutma sistemi səmərəsiz işləyir. Zəhmət olmasa ən qısa müddətdə bir texnikə xidmət göstərin. ') % Göstərilən e -poçt hesabına bir e -poçt göndərir
elseif oxu> = 0.8 && oxumaq <0.85 % şərti olaraq tək bir ifadə dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Temp 86 F'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif oxu> = 0.85 && oxumaq <2 % şərti olaraq bir bəyanat dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'SICAK BABY !!!'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
end % ifadəsi bitər
b == 0 % yalan olduğu müddətcə mövcud ifadəni döndərir
b = readDigitalPin (a, 'D9'); rəqəmsal pin oxuyur (rəqəmsal sensor)
oxu2 = readVoltage (a, 'A2'); A2 pininə qoşulan analoq termistordakı gərginliyi oxuyun
əgər oxu2> = 0.6 && oxuma2 <0.68 % şərti olaraq bir bəyanat dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Effektivlik 80%'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri yerinə yetirməzdən əvvəl durur
elseif oxu2> = 0.68 && oxu2 <0.69 % şərti olaraq bir bəyanat dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Effektivlik 90%'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri yerinə yetirməzdən əvvəl durur
elseif oxu2> = 0.69 && oxu2 <0.7 % şərti olaraq bir bəyanat dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Effektivlik 95%'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri yerinə yetirməzdən əvvəl durur
elseif oxu2> = 0.7 && oxu2 <0.71 % şərti olaraq tək bir ifadə dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Effektivlik 97%'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif oxu2> = 0.71 && oxu2 <0.72 % şərti olaraq bir bəyanat dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Effektivlik 100%'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif oxu2> = 0.72 && oxu2 <0.73 % şərti olaraq bir bəyanat dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Effektivlik 95%'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif oxu2> = 0.73 && oxuma2 <0.74 % şərti olaraq tək bir ifadə dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Effektivlik 90%'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif oxu2> = 0.74 && oxu2 <0.75 % şərti olaraq bir bəyanat dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Effektivlik 85%'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif oxu2> = 0.75 && oxuma2 <0.76 % şərti olaraq tək bir ifadə dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Effektivlik 80%'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif reading2> = 0.76 && reading2 <0.77 % şərti olaraq tək bir ifadə dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Effektivlik 75%'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif oxu2> = 0.77 && oxu2 <0.8 % şərti olaraq tək bir ifadə dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Effektivlik 70%'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri yerinə yetirməzdən əvvəl fasilə verir
elseif oxu2> = 0.8 && oxu2 <0.85 % şərti olaraq bir bəyanat dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'Effektivlik 65%'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
elseif reading2> = 0.85 && reading2 <2 % şərti olaraq tək bir ifadə dəstini (blok) yerinə yetirir.
clearLCD (lcd) % lcd ekranını təmizləyir
printLCD (lcd, 'YANGINDA !!!'); LCD -yə bir simli yazdırın.
pause (0.5) % növbəti əmri icra etməzdən əvvəl durur
end % end if ifadəsi
son % loop isə loop
son % loop isə loop
Addım 7: Diaqram
Bu, hər bir xəttin temperaturunu və aralarındakı fərqi izləmək üçün temperatur sensörlərinin axıdılması və buxar xətlərinə yerləşdiriləcəyi yerin əsas nümayəndəsidir.