İçindekiler:

Arduino ve DS18B20 ile Dijital Termometre: 7 Adım
Arduino ve DS18B20 ile Dijital Termometre: 7 Adım

Video: Arduino ve DS18B20 ile Dijital Termometre: 7 Adım

Video: Arduino ve DS18B20 ile Dijital Termometre: 7 Adım
Video: LM35 ve LCD ile Arduino Termometre 2024, Kasım
Anonim
Arduino ve DS18B20 ile Dijital Termometre
Arduino ve DS18B20 ile Dijital Termometre
Arduino ve DS18B20 ile Dijital Termometre
Arduino ve DS18B20 ile Dijital Termometre

LCD ekranda size mevcut oda sıcaklığını söyleyebilecek bir dijital termometre oluşturmanız yeterlidir. Bu bir başlangıç projesidir. İhtiyacınız olan aparat: 1. Arduino UNO R3 2. DS18B20 sıcaklık sensörü. 3. 16X2 LCD ekran. 4. Bağlantı kabloları. 5. Proje panosu. Şimdi dijital termometre yapalım….. Bu, arduino için bir Atmega168 pin çıkışı. Bu termometreyi arduino'nuzla yapmak istiyorsanız bunu atlayın.

Adım 1: Arduino'yu Breadboard'da yapın

Arduino'yu Breadboard'da yapın
Arduino'yu Breadboard'da yapın

Bir breaboard üzerinde arduino oluşturmak çok kolaydır. Şimdi adım adım kablolama prosedürü aşağıda verilmiştir: 1. Pin 7 -> +5V 2. Pin8 -> GND 3. Pin9 -> Kristal -> 22pF kapasitör -> GND 4. Pin10-> Kristal -> 22pF kapasitör -> GND 5. pin 22 -> GND 6. Pin21 & Pin20 -> +5V 7. Pin1-> GND'ye 10K kaydedici + +5V'ye buton Artık hazırsınız……………..

Adım 2: LCD'yi Bağlama

LCD'yi bağlama
LCD'yi bağlama

Adım 3: DS18B20 Sıcaklık Sensörünün Bağlanması

DS18B20 Sıcaklık Sensörünün Bağlanması
DS18B20 Sıcaklık Sensörünün Bağlanması

Adım 4: Devrenin Hazırlanması

Devrenin Hazırlanması
Devrenin Hazırlanması

LCD'yi arduino IDE'deki varsayılan LCD örneğine göre atmega veya arduino ile bağlayın. Şimdi DS1307 DATA bus'ı DIGITAL PIN 7'ye (Atmega pin 13) bağlayın

Adım 5: Arduino KODU

#include #include #include int DS18S20_Pin = 7; // DS18S20 Dijital 7'de rahulmitra LiquidCrystal lcd (12, 11, 5, 4, 3, 2); //Sıcaklık çipi i/o OneWire ds(DS18S20_Pin); // dijital pin 7'de rahulmitra void setup(void) { Serial.begin(9600); lcd.başla(16, 2); // LCD'ye bir mesaj yazdırın. lcd.print("Rahul Mitra"); } void loop(void) { float sıcaklık = getTemp(); Seri.println(sıcaklık); lcd.setCursor(0, 1); lcd.print("Sıcaklık: "); lcd.print(sıcaklık); lcd.print(" *C"); gecikme(100); //burada çıktıyı yavaşlatmak için okuması daha kolay } float getTemp(){ //bir DS18S20'den sıcaklığı DEG Celsius bayt verisinde döndürür[12]; bayt adresi[8]; if (!ds.search(addr)) { //zincirde başka sensör yok, aramayı sıfırla ds.reset_search(); dönüş -1000; } if (OneWire::crc8(addr, 7) != adr[7]) { Serial.println("CRC geçerli değil!"); dönüş -1000; } if (addr[0] != 0x10 && addr[0] != 0x28) { Serial.print("Aygıt tanınmadı"); dönüş -1000; } ds.reset(); ds.select(adr); ds.write(0x44, 1); // dönüştürmeyi başlat, bitin sonunda parazit gücü açık olarak mevcut = ds.reset(); ds.select(adr); ds.write(0xBE); // Scratchpad for (int i = 0; i < 9; i++) { // 9 bayt veriye ihtiyacımız var = ds.read(); } ds.reset_search(); bayt MSB = veri[1]; bayt LSB = veri[0]; float tempRead = ((MSB << 8) | LSB); //ikinin tamamlayıcı değişkeni kullanılarak SıcaklıkSum = tempRead / 16; dönüş Sıcaklık Toplamı; }

Adım 6: Sonunda Yaptınız

Sonunda Yaptın
Sonunda Yaptın
Sonunda Yaptın
Sonunda Yaptın

7. Adım: CANLI Bkz

www.youtube.com/watch?v=7718FODdtio&list=UUY916I6z4Y3QQhzjHsIhR8w

Önerilen: