Arama butonu
Bu konudaki kullanıcılar: 1 misafir
7
Cevap
2315
Tıklama
0
Öne Çıkarma
LM35 Kafasına Göre Sıcaklık Verme Sorunu
F
5 yıl
Er
Konu Sahibi

Arduino R3 üstünde gayet basit bir devre kurdum, 5V, GND ve Analog In kısmına 3 bacağı doğru şekilde yerleştirdim daha sonra Serial modulü ile basit bir sıcaklık okuması yapmaya çalışıyorum ancak çok kararsız değerler veriyor. Basit bir çıktı koyuyorum:

20:29:31.986 -> 18.57
20:29:32.189 -> 18.57
20:29:32.393 -> 19.06
20:29:32.599 -> 19.06
20:29:32.804 -> 19.55
20:29:33.011 -> 20.04
20:29:33.181 -> 21.02
20:29:33.386 -> 21.51
20:29:33.592 -> 22.48
20:29:33.799 -> 22.97
20:29:33.999 -> 23.95
20:29:34.201 -> 24.93
20:29:34.402 -> 24.93

Acaba direnç eklemem gereken bir yer mi var, sensör açıklama kısmında belirtmemiş ancak olabilir belki.
Şu Kod kısmı:
#define lm35pin A0
#define m_led 8
#define r_led 7
#define buzzer 3

int time= 100;
int val = 0;
float temp_volt = 0.0;
float temp = 0;

void setup() { 
   
   pinMode(m_led, OUTPUT);
   pinMode(r_led, OUTPUT);
   pinMode(buzzer, OUTPUT);
   Serial.begin(9600);
}

void loop() {
 val = analogRead(lm35pin);
 temp_volt = (5000.0 / 1023.0)* val;
 temp = temp_volt / 10;
 Serial.println(temp);
 delay(200);
 if(temp >= 30){
  digitalWrite(r_led, HIGH);
  digitalWrite(buzzer, HIGH);
  delay(time);
  digitalWrite(r_led, LOW);
  digitalWrite(buzzer, LOW);
  delay(time);
 }
 else{
  digitalWrite(r_led, LOW);
  digitalWrite(buzzer, LOW); 
 }

}
 

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



S
5 yıl
Yarbay

https://maker.robotistan.com/arduino-ile-lm35-sicaklik-sensoru-kullanimi//
bu linke bir göz atın

Edit: sanırım sizde buraya bakarak yaptınız. Led buzzer vs olmadan bir deneyin isterseniz.
ayırca ilk gözüme çarpan
int time= 100;
kısmını int zaman yada int timee olarak değiştirebilirsiniz. time yazıldığı zaman turuncuya dönüyor o yüzden.

aşağıdaki kodu bir deneyin en azından lm35in doğru çalışıp çalışmadğını anlarsınız

#define lm35pin A0
int val = 0;
float temp_volt = 0.0;
float temp = 0;

void setup() {
 Serial.begin(9600);
}
void loop() {
 val = analogRead(lm35pin);
 temp_volt = (5000.0 / 1023.0) * val;
 temp = temp_volt / 10;
 Serial.println(temp);
 delay(200);
}





< Bu mesaj bu kişi tarafından değiştirildi saasc -- 27 Aralık 2020; 1:54:53 >
Bu mesaja 1 cevap geldi.
O
5 yıl
Binbaşı

1) Lm35'e direnç ekleyemezsiniz, orda onun adc'den gerilimi ölçüyoruz ve direnç gerilimi bozar buda değerlerin daha sapıtlamasına yol açar. Bağlantıda bi sıkıntı yok.
2) Niye diyotlarla uğraşıyorsunuz ki ? Piyasa çok ucuza bulanabilen dht11 sensörü alternatifini denemenizi öneririm.
3) Basit çıktıda ben sorun bulamadım. Odanızın 18 derece olmadığını varsayarsak aslında burda diyotun sıcaklığı git gide normal değerine yaklaşmış. Sistemi çalıştırdıktan sonra bi 3 5 dk bekleyip tekrar sonuçları kontrol edin.
4) Yinede kod kısmında hata olabilir mi acaba diye düşündüm.

temp_volt = (5000.0 / 1023.0)* val;
temp = temp_volt / 10;

kısımını;

temp_volt = (val/1024.0)*5000;
temp = temp_volt/10;

ile değiştirip bi deneyebilir misiniz.


Bu mesaja 1 cevap geldi.
D
5 yıl
Yarbay

ölçme başlı başına bir bilimdir. pekçok etken, ölçme sonucunu etkileyebilir. mesela bir ışık bariyeri yapmaya çalışırsın ama, ortam ışığı yüzünden, istediğin sonucu elde edemezsin. sadece bağlantıyı yapmak, sensörleri kullanmak için yeterli değildir. burada ortam sıcaklığını ölçmeye çalışıyorsan, lm35'i konumlandırdığı yerden odadak, nem oranı vesıcaklık kaynaklarına kadar bir çok parametre, sonuçları etkileyebilir. tabi odadaki sıcaklık dağılımının stabil ve homojen olmama gibi etkenleri de işe katmalısın.


Bu mesaja 1 cevap geldi.
F
4 yıl
Er
Konu Sahibi

Tamamdır deneyip editlerim. Teşekkürler




Bu mesajda bahsedilenler: @saasc
F
4 yıl
Er
Konu Sahibi

Hocam biliyorum, aslında ben doğruluğundan ziyade 1 saniye içindeki büyük değişimler için açmıştım. Teşekkür ederim ayrıca cevap için




Bu mesajda bahsedilenler: @dergul
F
4 yıl
Er
Konu Sahibi

1- O zamanlar baya yeniydim de biraz görerek yapıyorum şimdi anlıyorum ne demek istediğinizi, teşekkürler.
2- DHT11'e geçtim şu an zaten
3- Evet bunu daha sonra ben de okudum forumlarda, ilk birkaç dakikadan sonra galiba gerçek değere yaklaşıyor.
4- Deneyip editlerim hocam. Teşekkürler cevabınız için.




Bu mesajda bahsedilenler: @oKsyqeN
K
4 yıl
Çavuş

Merhaba. Size tavsiyem ölçümleri bir for döngüsü içinde yapıp ortalama hesaplamanız. Bu şekilde dalgalanmayı bir miktar alabilirsiniz. Diğer bir yöntem ise sensörün dönüş uçlarına küçük kapasiteli paralel bir kondansatör bağlamanız. Ancak en önemli nokta tabi ki sensörün stabilitesidir.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.