İçindekiler:

Arduino + Sıcaklık + Nem: 4 Adım
Arduino + Sıcaklık + Nem: 4 Adım

Video: Arduino + Sıcaklık + Nem: 4 Adım

Video: Arduino + Sıcaklık + Nem: 4 Adım
Video: Arduino İle Nem ve Sıcaklık Ölçer 2024, Kasım
Anonim
Arduino + Sıcaklık + Nem
Arduino + Sıcaklık + Nem
Arduino + Sıcaklık + Nem
Arduino + Sıcaklık + Nem
Arduino + Sıcaklık + Nem
Arduino + Sıcaklık + Nem

Bir LM35 Hassas Sıcaklık Sensörü, Nem Sensörü ve Arduino kullanan basit bir sıcaklık sensörü, böylece gelecekteki projelerinizi bağlayabilirsiniz. Devre, bilgisayarınızda kullanabilmeniz için sıcaklık ve nem hakkında seri bilgiler gönderecektir. Kompostumdan veri aldım. Proje, herkesin evde mutfak atıklarını kompost haline getirebileceği mevcut bir günlük ürün dökümü ile ilgilidir. Ürünle ilgili daha fazla ayrıntı için https://www.dailydump.org/content/ adresine gidin. Digicompost, çöplükte meydana gelen değişiklikleri (sıcaklık, nem değişikliği) görüntüler

Adım 1: Malzemeler

Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler

- Arduino (Başka bir mikrodenetleyici kullanabilirsiniz, ancak daha sonra kodu değiştirmeniz gerekecektir). - LM35 Hassas Santigrat Sıcaklık Sensörünü herhangi bir elektronik mağazadan temin edebilirsiniz. İşte VERİ FORMU.- BreadBoard.- Nem Sensörü.- Teller.

Adım 2: Arduino + Sıcaklık Ayarı

Arduino + Sıcaklık Ayarı
Arduino + Sıcaklık Ayarı
Arduino + Sıcaklık Ayarı
Arduino + Sıcaklık Ayarı
Arduino + Sıcaklık Ayarı
Arduino + Sıcaklık Ayarı

Arduino, esnek, kullanımı kolay donanım ve yazılıma dayalı açık kaynaklı bir elektronik prototipleme platformudur. Sanatçılar, tasarımcılar, hobiler ve etkileşimli nesneler veya ortamlar oluşturmakla ilgilenen herkes için tasarlanmıştır. Daha fazla bilgi için oturum açın (https://www.arduino.cc)Bir sıcaklık sensörünün bağlanması:LM35'in üç ayağı vardır ve bir transistöre benzer. İki dış ayak +5v ve Toprak'tır ve orta ayak örnek voltajını geliştirir. Analogdan Dijitale Dönüştürücü (ADC), analog değerleri ADC Değeri = örnek * 1024 / referans voltajı (+5v) formülüne dayalı olarak dijital bir yaklaşıma dönüştürür.. Yani +5 voltreferans ile, dijital yaklaşım = giriş voltajı * 205 olacaktır. (Ör. 2.5v * 205 = 512.5) LM35, santigrat derece başına 10mv sağlayan hassas bir lineer sıcaklık sensörüdür. Bu, 15 santigrat derece anlamına gelir..150v veya 150 milivoltluk bir okuma üretecektir. Bu değeri ADC dönüşümümüze (.15v * 205 = 30.75) koyarak, dijital giriş sayısını 2'ye bölerek Santigrat sıcaklığına yakın bir tahminde bulunabiliriz. farklı bir referans voltajı (9v veya 12v) farklı bir dönüştürme yöntemi kullanmamız gerekir. Bu devre için 2'ye bölmek işe yarar.

Adım 3: Nem Sensörünün Bağlanması

Nem Sensörünün Bağlanması
Nem Sensörünün Bağlanması
Nem Sensörünün Bağlanması
Nem Sensörünün Bağlanması

Nem sensörü üzerinde, biri topraklama için, diğeri ise pin 3'ü arduino'ya bağlayan iki pin vardır. Nemi/nemi test etmek için yerel bir sensör kullandım, ancak hem sıcaklık hem de neme sahip olan SHT15'e gidilebilir.

Adım 4: Kodu Ayarlama!!

Kodu Ayarlama!!!
Kodu Ayarlama!!!

Arduino'nuzu bilgisayara takın, uygulamayı açın, uygun bağlantı noktasını ve model numarasını seçin. herhangi bir kodlamaya başlamadan önce. Her şey bittikten sonra aşağıdaki kodu yazın:int pin = 5; // analog pinint putPin = 3; // nemint tempc = 0, tempf=0; // sıcaklık değişkenleriint örnekler[8]; // daha iyi bir kesinlik elde etmek için değişkenlerint maxi = -100, mini = 100; // max/min'i başlatmak için sıcaklıkint i;float humi = 0;float prehum = 0;float humconst = 0;float truehum = 0;float pretruehum = 0; uzun pretruehumconst = 0; uzun valb = 0;void setup(){ Serial.begin(9600); // seri iletişimi başlat}void loop(){for(i = 0;i<=7;i++){ örnekler = (5.0 * analogRead(pin) * 100.0) / 1024.0; tempc = tempc + örnekler; gecikme(1000);}tempc = tempc/8.0; tempf = (tempc * 9)/ 5 + 32;valb = analogRead(putPin); // nem hesaplamaprehum = (valb/5);humconst = (0.16/0.0062);humi = prehum - humconst;pretruehumconst = 0.00216*tempc;pretruehum = 1.0546-pretruehumconst;truehum = humi/pretruehum;delay(1000);Seri. print(tempc, DEC);Serial.print(" Celsius, ");Serial.print ("Nem: ");Serial.print ((uzun)truehum);Serial.println ("% ");tempc = 0; gecikme(1000); // gecikmeden önce döngü}Her şey yapıldıktan sonra, yüklenmesi biraz zaman alacak olan yükleme düğmesine tıklayın ve yükleme tamamlandığında, sensörden okumaları almak için Seri İletişim'e tıkladığınızdan emin olun !!!

Önerilen: