Isi kandungan:

Penentukuran Sensor DS18B20 Dengan Arduino UNO: 3 Langkah (dengan Gambar)
Penentukuran Sensor DS18B20 Dengan Arduino UNO: 3 Langkah (dengan Gambar)

Video: Penentukuran Sensor DS18B20 Dengan Arduino UNO: 3 Langkah (dengan Gambar)

Video: Penentukuran Sensor DS18B20 Dengan Arduino UNO: 3 Langkah (dengan Gambar)
Video: 🔴Tutorial Arduino Sensor Suhu Waterproof DS18B20 - Bahasa Indonesia🔴 2024, Julai
Anonim
Penentukuran Sensor DS18B20 Dengan Arduino UNO
Penentukuran Sensor DS18B20 Dengan Arduino UNO
Penentukuran Sensor DS18B20 Dengan Arduino UNO
Penentukuran Sensor DS18B20 Dengan Arduino UNO
Penentukuran Sensor DS18B20 Dengan Arduino UNO
Penentukuran Sensor DS18B20 Dengan Arduino UNO

PENAFIAN:

Peranti yang anda lihat dalam gambar digunakan dalam projek lain sebagai Termostat untuk proses pengembangan filem. Anda boleh mendapatkan projek itu di sini. Untuk menentukur sensor, atau lebih daripada satu, anda memerlukan apa yang anda dapati dalam projek ini, tidak lebih dari itu, dan ia juga cukup asas! Mari pergi!

Langkah 1: Sediakan Peranti Anda

Sediakan Peranti Anda
Sediakan Peranti Anda

Berikut adalah senarai perkara yang anda perlukan:

  1. Arduino UNO (atau MEGA)
  2. Sensor DS18B20
  3. Rintangan 4kOhm - 5kOhm (saya menggunakan 5k1Ohm)
  4. Skrin LCD untuk membaca nilai (anda juga dapat menggunakan komputer riba dan hanya membacanya pada monitor bersiri)
  5. Lakaran yang menggunakan sensor dan menunjukkan nilainya

Mula-mula anda harus menyambungkan modul dan sensor anda ke alat kawalan anda. Saya akan meninggalkan bahagian LCD yang rumit untuk anda mencari di laman web, dan saya hanya akan memberitahu anda cara menyambungkan sensor.

Biasanya sensor tersebut dilengkapi dengan tiga wayar berwarna: Hitam, Merah, Kuning. Dua yang pertama adalah untuk tenaga dan yang ketiga adalah untuk data. Sambungkan hitam ke GNN, merah ke Vcc (5V) dan kuning pada input analog, katakan A0.

Sekarang sambungkan rintangan antara kuning dan merah untuk menyelesaikan sambungan.

Pasangkan juga LCD (saya sarankan LCD 16x2 sederhana dengan sambungan i2c untuk menggunakan hanya 4 wayar) dan anda sudah selesai menggunakan wayar dan kabel.

Sekarang lakaran yang sangat mudah:

#sertakan "OneWire.h"

#include "DallasTemperature.h" #tentukan ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); Sensor suhu Dallas1 (& ourWire1); #sertakan "LiquidCrystal_I2C.h"

LiquidCrystal_I2C lcd (0x27, 16, 2); terapung RawValue = 0;

batal persediaan () {lcd.init (); lcd.backlight (); sensor1.begin (); sensor1.setResolution (11); } gelung void () {sensor1.requestTemperatures (); terapung RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Sens. 1"); lcd.print (RawValue, 1); }

Seperti yang anda lihat, kami menggunakan perpustakaan Suhu Dallas dan layar LCD dengan sambungan i2c.

Dalam penyediaan, kami menyalakan LCD dan sensor dan dalam gelung, kami hanya meminta suhu dan menyimpan nilai di dalam RawValue pemboleh ubah untuk menunjukkannya pada LCD.

Sekiranya anda ingin menjadikannya lebih mudah, gunakan monitor bersiri dengan lakaran berikut

#include "Wire.h" #include "OneWire.h" #include "DallasTemperature.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); Sensor suhu Dallas1 (& ourWire1);

terapung RawValue = 0;

batal persediaan () {

kelewatan (1000); Serial.begin (9600); sensor1.begin (); sensor1.setResolution (11);

}

gelung kosong () {sensor1.requestTemperatures (); terapung RawValue = sensor1.getTempCByIndex (0); Cetakan bersiri ("Sens. 1"); Serial.println (RawValue, 1); }

Sekarang ikuti saya dalam inti projek untuk menentukur sensor.

Langkah 2: Penentukuran Dua Titik

Penentukuran Dua Titik
Penentukuran Dua Titik
Penentukuran Dua Titik
Penentukuran Dua Titik
Penentukuran Dua Titik
Penentukuran Dua Titik

Sesuatu yang perlu diketahui terlebih dahulu

Untuk menentukur sensor termo, anda mesti mengukur sesuatu yang anda tahu suhunya. Cara mudah untuk melakukannya di rumah adalah menggunakan air mendidih dan mandi ais lebur, juga disebut mandi "triple-point". Dalam kes tersebut kita tahu bahawa air mendidih pada suhu 100 ° C di permukaan laut. Perlu diingat bahawa untuk membuat pengukuran yang tepat, anda harus mengetahui ketinggian anda dan mengira suhu didih yang tepat di sana.

Anda boleh menyemaknya di sini!

Sejujurnya anda harus memeriksa tekanan atmosfera dan bukan ketinggian. Tetapi cara itu cukup tepat.

Mandi tiga titik, atau mandi ais, adalah suhu di mana air wujud di tiga keadaan pepejal, cair dan gas, suhu itu adalah 0, 01 ° C. Kami akan menggunakan, untuk mempermudah, 0 ° C.

Mengetahui nilai yang dibaca oleh sensor dan nilai yang sepatutnya, kita dapat mengubah nilai mentah DS18B20 menjadi sesuatu yang lebih betul.

CATATAN: anda juga boleh menggunakan suhu lebih banyak untuk menentukur sensor dengan memasukkannya ke dalam bahan lain yang anda tahu takat didihnya seperti Ether (35 ° C), Pentane (36, 1 ° C), Acetone (56 ° C) atau Etanol (78, 37 ° C), tetapi bahan mendidih menghasilkan gas mudah terbakar! Jadi, jangan buat!

Air mendidih:

Masukkan sedikit air ke dalam periuk dan panaskan hingga mendidih (gelembung gas sedang berkembang dan air itu menggegarkan sendiri). Letakkan sensor anda di mana ia tidak menyentuh apa-apa selain air. Tunggu beberapa minit dan baca lcd atau monitor bersiri

Suhu hendaklah tetap sama sekurang-kurangnya satu minit. Sekiranya ada, tuliskan nilai tersebut. Itulah anda: Nilai RawHigh.

Mandi tiga titik:

Sekarang ambil gelas besar (anda tidak memerlukan barang besar atau periuk) dan isikan ke sempadan dengan ketulan ais. Cuba gunakan ketulan ais bersaiz kecil. Sekarang isi 80% gelas dengan air sejuk. Isi semula dengan ais jika tuas cuba turun.

Sekarang letakkan sensor anda di dalam air / ais dan tunggu satu setengah minit. Bacalah suhu yang seharusnya tetap sama selama 30 saat sekurang-kurangnya. Sekiranya ya, tuliskan bahawa ia adalah nilai RawLow anda.

Langkah 3: Gunakan Nilai yang Anda Dapatkan dengan Cara yang Betul

Jadi, sekarang anda mendapat beberapa nilai penting:

  • RawHigh
  • RawLow
  • RujukanTinggi
  • Rujukan Rendah

Nilai rujukan jelas 99.9 ° C untuk air mendidih (pada ketinggian saya 22m), dan 0 ° C untuk mandi ais lebur. Sekarang hitung julat untuk nilai tersebut:

  • RawRange = RawHigh - RawLow
  • RujukanRange = ReferenceHigh - ReferenceLow

Sekarang anda sudah bersedia untuk menggunakan sensor tersebut dalam projek lain yang pasti bahawa ia akan memberi anda ukuran yang tepat. Bagaimana? Menggunakan nilai yang anda dapat di sini dalam projek yang akan anda hasilkan dengan sensor itu.

Dalam projek masa depan anda, anda mesti menggunakan nilai yang anda baca dalam satu ini dan saya cadangkan untuk melakukannya menggunakan nama yang sama seperti yang saya gunakan di sini.

Menyatakan pemboleh ubah sebelum bahagian persediaan kosong () seperti ini:

float RawHigh = 99.6; float RawLow = 0.5; float ReferenceHigh = 99.9; apungan ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;

Daripada itu, setiap kali anda menggunakan sensor, anda boleh menggunakan formula berikut untuk mengira Nilai yang Dibetulkan:

float CorrectedValue = (((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;

RawValue jelas membaca sensor.

Itu sahaja!

Sekarang anda tahu bagaimana menentukur sensor DS18B20 anda atau sensor lain yang akan anda gunakan! Berseronok!

Disyorkan: