İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Ürünümüz, basit ve gerçekçi bir işlemle, gelen ve giden freonun sıcaklığını ölçerek bireylerin evlerindeki ısıtma ve iklimlendirme sistemlerinin verimliliğini kontrol etmelerini sağlar. Bu akıllı cihaz, insanları ısıtma ve soğutma sistemleriyle daha enerji verimli kararlar almaya teşvik edecek.
Adım 1: Gerekli Parçalar
-Arduino Uno
- Ekmek tahtası (4)
- Termistör (2)
- 10K Dirençler (2)
- Butona basınız
- Piezo Zil
- LCD ekran
- Potansiyometre
- Teller (25)
- Mikro USB veya USB Konektörü
Adım 2: Sıcaklık Sensörü için Tel Breadboard
Bir TMP termistörü, ortam sıcaklığı değiştikçe sensördeki voltajı ölçen bir tür sıcaklık sensörüdür. Bu özel sensörün üç pimi vardır - pozitif, toprak ve sinyal. Bu sensör doğrusal bir sensördür ve sıcaklıktaki bir derecelik değişim, sensör çıkışındaki 10 milivoltluk değişime eşdeğerdir.
Prosedür:
1) Sıcaklık sensörünüzü yukarıdaki şekilde gösterildiği gibi bağlayın. Orta tel A0'a bağlanacaktır.
2) İkinci sıcaklık sensörünüzü birincisine benzer şekilde bağlayın, ortadaki kablo A1'e bağlanacaktır.
Adım 3: Piezo Buzzer
Piezo buzzer, ısıtma havalandırması ve klima sistemi verimli bir şekilde çalışmadığında kullanıcıyı uyarmak için kullanılan bir cihazdır. Sesli alarm, kullanıcıya bir sorun olduğunu bildirir.
Prosedür:
1) Buzzer'ı yukarıdaki şekilde gösterildiği gibi karta bağlayın.
4. Adım: Düğme Ekle
- Basma düğmesi, bastığınızda devredeki iki noktayı birbirine bağlayan bir bileşendir.
- Ürünümüzde, sıcaklık sensörlerinin topladığı verilerden sıcaklık ve verimliliğin görüntülenmesi arasında düğme geçişi yapılır.
prosedür
1) Düğmeyi yukarıdaki şekilde gösterildiği gibi bağlayın.
Adım 5: LCD'yi Ayrı Breadboard'a ve Güç'e bağlayın
LCD, sıvı kristal ekran, kullanıcıya evinin ısıtma, havalandırma ve klima sistemlerinde bir sorun olduğunda bunu söyleyebilen basit bir ekrandır. Eski. verimli çalışmıyor, sistem arızası
Sağlanan şema, ekranı panoya doğru şekilde bağlamanıza yardımcı olacaktır.
6. Adım: Kod
a = arduino('com3', 'uno', 'kütüphaneler', 'ÖrnekLCD/LCDAddon'); %, ExampleLCD/LCDAddon kitaplığını belirten bir arduino nesnesi oluşturur.
lcd = addon(a, 'ÖrnekLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % LCD nesnesini oluşturur ve Arduino cihazında yapılandırılan pinleri belirtir.
initializeLCD(lcd, 'Satırlar', 2, 'Sütunlar', 16); % lcd ekranı başlatır
setpref('İnternet', 'SMTP_Sunucusu', 'smtp.gmail.com');
setpref('İnternet', 'E_mail', '[email protected]'); Gönderilecek % posta hesabı
setpref('İnternet', 'SMTP_Kullanıcı Adı', 'bwnanney'); % gönderen kullanıcı adı
setpref('İnternet', 'SMTP_Parola', 'Morill1204'); % gönderen şifresi
sahne = 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'); % dijital pin okuma (dijital sensör)
okuma= readVoltage(a, 'A0'); % A0 pinine bağlı analog termistördeki voltajı okuyun
read2= readVoltage(a, 'A2'); % A2 pinine bağlı analog termistördeki voltajı okuyun
true %, mevcut ifadede true olduğu sürece dolaşır
b=readDigitalPin(a, 'D9'); % dijital pin okuma (dijital sensör)
okuma= readVoltage(a, 'A0'); % A0 pinine bağlı analog termistördeki voltajı okuyun
if okuma>= 0,6 && okuma< 0,68 % koşullu olarak tek bir ifade kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Sıcaklık 64 F'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif okuma>= 0,68 && okuma<0,69 % koşullu olarak tek bir ifade kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Sıcaklık 66 F'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read>= 0.69 && okuma<0.7 % koşullu olarak tek bir deyim kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Sıcaklık 68 F'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif okuma>=0.7 && okuma<0.71 % koşullu olarak tek bir ifade kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Sıcaklık 70 F'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif okuma>=0.71 && okuma<0.72 % koşullu olarak tek bir ifade kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Sıcaklık 72 F'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif okuma>=0.72 && okuma<0.73 % koşullu olarak tek bir ifade kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Sıcaklık 74 F'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif okuma>= 0,73 && okuma<0,74 % koşullu olarak tek bir ifade kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Sıcaklık 76 F'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif okuma>= 0,74 && okuma<0,75 % koşullu olarak tek bir ifade kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Sıcaklık 78 F'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif okuma>= 0,75 && okuma<0,76 % koşullu olarak tek bir ifade kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Sıcaklık 80 F'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif okuma>= 0.76 && okuma<0.77 % koşullu olarak tek bir ifade kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Sıcaklık 82 F'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif okuma>= 0,77 && okuma<0,8 % koşullu olarak tek bir ifade kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Sıcaklık 84 F'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
playTone(a, 'D10', 880, 0.25) % bir nota çalar(a, pin, frekans, süre)
duraklama(0.3) Ayarlanan süre için nottan sonra % duraklama
playTone(a, 'D10', 880, 0.25) % bir nota çalar(a, pin, frekans, süre)
duraklama(0.3) Ayarlanan süre için nottan sonra % duraklama
playTone(a, 'D10', 880, 0.25) % bir nota çalar(a, pin, frekans, süre)
duraklama(0.3) Ayarlanan süre için nottan sonra % duraklama
playTone(a, 'D10', 880, 0.25) % bir nota çalar(a, pin, frekans, süre)
duraklama(0.3) Ayarlanan süre için nottan sonra % duraklama
playTone(a, 'D10', 987, 0.25) % bir nota çalar(a, pin, frekans, süre)
duraklama(0.3) Ayarlanan süre için nottan sonra % duraklama
playTone(a, 'D10', 987, 0.25) % bir nota çalar(a, pin, frekans, süre)
duraklama(0.3) Ayarlanan süre için nottan sonra % duraklama
playTone(a, 'D10', 880, 0.12) % bir nota çalar(a, pin, frekans, süre)
duraklama(0.1) Ayarlanan süre için nottan sonra % duraklama
playTone(a, 'D10', 740, 0.12) % bir nota çalar(a, pin, frekans, süre)
duraklama(0.1) Ayarlanan süre için nottan sonra % duraklama
playTone(a, 'D10', 587, 0.25) % bir nota çalar(a, pin, frekans, süre)
duraklat(0.3)
sendmail('[email protected]', 'Isıtma ve Soğutma Ünitesinin Servise İhtiyacı Var!!!', …
'Isıtma ve soğutma sistemi verimsiz çalışıyor. Lütfen üniteyi mümkün olan en kısa sürede bir teknisyene servis ettirin.') % Belirtilen e-posta hesabına bir e-posta gönderir
elseif okuma>= 0,8 && okuma<0,85 % koşullu olarak tek bir ifade kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Sıcaklık 86 F'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif okuma>= 0.85 && okuma<2 % koşullu olarak tek bir deyim kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'SICAK SICAK BEBEK!!!'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
end % if ifadesi biter
while b==0 % false olduğu sürece var olan ifadede dolaşır
b=readDigitalPin(a, 'D9'); % dijital pin okuma (dijital sensör)
read2= readVoltage(a, 'A2'); % A2 pinine bağlı analog termistördeki voltajı okuyun
if read2>= 0,6 && read2< 0,68 % koşullu olarak tek bir deyim kümesi (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Verimlilik %80'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read2>= 0,68 && read2<0,69 % koşullu olarak tek bir deyim kümesi (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Verimlilik %90'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read2>= 0.69 && read2<0.7 % koşullu olarak tek bir deyim kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Verimlilik %95'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read2>=0.7 && read2<0.71 % koşullu olarak tek bir deyim kümesini (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Verimlilik %97'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read2>=0.71 && read2<0.72 % koşullu olarak tek bir deyim kümesi (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Verimlilik %100'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read2>=0.72 && read2<0.73 % koşullu olarak tek bir deyim kümesi (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Verimlilik %95'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read2>= 0.73 && read2<0.74 % koşullu olarak tek bir deyim kümesi (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Verimlilik %90'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read2>= 0.74 && read2<0.75 % koşullu olarak tek bir deyim kümesi (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Verimlilik %85'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read2>= 0.75 && read2<0.76 % koşullu olarak tek bir deyim kümesi (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Verimlilik %80'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read2>= 0.76 && read2<0.77 % koşullu olarak tek bir deyim kümesi (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Verimlilik %75'); % LCD'ye bir dize yazdırın.
duraklatma(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read2>= 0.77 && read2<0.8 % koşullu olarak tek bir deyim kümesi (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Verimlilik %70'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read2>= 0,8 && read2<0,85 % koşullu olarak tek bir deyim kümesi (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'Verimlilik %65'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
elseif read2>= 0.85 && read2<2 % koşullu olarak tek bir deyim kümesi (bir blok) yürütür.
clearLCD(lcd) % lcd ekranı temizler
printLCD(lcd, 'YANGINDA!!!'); % LCD'ye bir dize yazdırın.
duraklama(0.5) % sonraki komutu çalıştırmadan önce duraklar
end % end if ifadesi
bitiş % bitiş while döngüsü
bitiş % bitiş while döngüsü
7. Adım: Diyagram
Bu, her bir hattın sıcaklığını ve aralarındaki farkı izlemek için sıcaklık sensörlerinin tahliye ve buhar hatlarında nereye yerleştirileceğinin temel bir temsilidir.