Daftar Isi:

Dapatkan Nomor Seri DS18B20 Dengan Arduino: 5 Langkah
Dapatkan Nomor Seri DS18B20 Dengan Arduino: 5 Langkah

Video: Dapatkan Nomor Seri DS18B20 Dengan Arduino: 5 Langkah

Video: Dapatkan Nomor Seri DS18B20 Dengan Arduino: 5 Langkah
Video: Baca Nilai Sensor Suhu DS18B20 Tampil di Serial Monitor - Arduino DS18B20 Tutorial 2024, November
Anonim
Dapatkan Nomor Seri DS18B20 Dengan Arduino
Dapatkan Nomor Seri DS18B20 Dengan Arduino

Ini adalah panduan singkat tentang cara mendapatkan nomor seri individual dari sensor suhu 1-kawat DS18B20 Anda.

Ini berguna untuk proyek yang membutuhkan banyak sensor.

Hal-hal yang Anda butuhkan:

  • Arduino 5v (UNO, Mega, Pro Mini dll) - Arduino UNO R3 - AliExpress
  • Sensor Suhu DS18B20 - AliExpress
  • 4.7k - 1/4w Resistor THT - AliExpress
  • Papan tempat memotong roti - AliExpress - eBay
  • Kabel Jumper - Pria ke Pria - AliExpress
  • Komputer dengan Arduino IDE terpasang

Langkah 1: Tambahkan Perpustakaan yang Diperlukan ke Arduino IDE

Tambahkan Perpustakaan yang Diperlukan ke Arduino IDE
Tambahkan Perpustakaan yang Diperlukan ke Arduino IDE
  1. Buka Arduino IDE (saya menggunakan 1.8.1)
  2. Klik "Sketsa" -> "Sertakan Perpustakaan" -> "Kelola Perpustakaan…"
  3. Pilih bilah pencarian dan ketik "dallas"
  4. Klik "DallasTemperature" dan klik "Instal"

Atau Anda dapat mengunduh Perpustakaan dari sini:

Pustaka ini mencakup Pustaka OnWire.

Langkah 2: Hubungkan DS18B20

Hubungkan DS18B20
Hubungkan DS18B20
Hubungkan DS18B20
Hubungkan DS18B20

Menggunakan papan roti menghubungkan +5V, GND dan Digital Pin 2 (Pin 2 sudah diatur dalam sketsa contoh) dari Arduino menggunakan jumper papan tempat memotong roti Male to Male.

Hubungkan paralel DS18B20 ke strip terminal 3x pada papan tempat memotong roti.

  • Pin 1 (GND) -> GND (Ground 0V)
  • Pin 2 (DATA) -> Pin Digital 2
  • Pin 3 (Vdd) -> +5V

Untuk Mode Daya Normal, sambungkan Resistor 4.7K dari +5V ke kabel Digital Pin 2 pada papan tempat memotong roti.

Tautan berikut adalah sumber yang bagus untuk sensor suhu 1-kawat DS18B20.

www.tweaking4all.com/hardware/arduino/ardu…

Langkah 3: Muat Contoh Sketsa "Single"

Muat Contoh Sketsa
Muat Contoh Sketsa
Muat Contoh Sketsa
Muat Contoh Sketsa

Setelah Anda memasangnya, Anda siap untuk memuat Sketsa "Tunggal" Suhu DallasBuka Arduino IDE (Saya menggunakan 1.8.1)Klik "File" -> "Contoh" -> "Suhu Dallas" -> "Tunggal"Saya menambahkan dalam penundaan(5000); pada baris 103 untuk memberi saya waktu untuk menyalin nomor seriPilih formulir papan yang sesuai "Alat" -> "Papan" Pilih port yang sesuai "Alat" -> "Port"Sekarang "Unggah" Sketsa "Sketsa" -> "Unggah" Klik "Tools" -> "Serial Monitor" pastikan baud rate cocok dengan milik saya adalah 9600Jika sketsa Anda tidak diunggah, periksa Board, Port, driver USB, dll.

Langkah 4: Salin Nomor Seri

Salin Nomor Seri
Salin Nomor Seri
Salin Nomor Seri
Salin Nomor Seri

Dari "Serial Monitor" Anda akan melihat baris ke-4 adalah "Device 0 Address: xxxxxxxxxxxxxxxx"

Ini adalah Nomor Seri DS18B20

Jika "0000000000000000" maka ada masalah saat membaca DS18B20 Anda.

Sorot dengan mouse Anda dan tekan CTRL + C pada keyboard Anda lalu lewati di Notepad

Untuk proyek saya yang lain, kode saya menggunakan larik angka-angka ini. Saya memformat ulang string HEX ke format berikut.

DeviceAddress tempSensorSerial[9]= {

{0x28, 0xFF, 0x07, 0xA6, 0x70, 0x17, 0x04, 0xB5}, {0x28, 0xFF, 0xB2, 0xA6, 0x70, 0x17, 0x04, 0x28}, {0x28, 0xFF, 0x42, 0x98, 0x70, 0x17, 0xD3}, {0x28, 0xFF, 0x86, 0xA8, 0x70, 0x17, 0x04, 0xA6}, {0x28, 0xFF, 0x2B, 0x65, 0x71, 0x17, 0x04, 0x76}, {0x28, 0xFF, 0x66, 0x62, 0x62, 0x17, 0x04, 0xF5}, {0x28, 0xFF, 0xD9, 0x9B, 0x70, 0x17, 0x04, 0x9C}, {0x28, 0xFF, 0x98, 0x6A, 0x71, 0x17, 0x04, 0xED}, {0x28, 0xFF,, 0x42, 0x71, 0x17, 0x04, 0x4C} };

Langkah 5: Selesai

Selesai
Selesai

Sekarang Anda dapat mengidentifikasi masing-masing sensor suhu 1-kawat DS18B20 dalam kode Anda dan menggunakan fungsi seperti ini:

float getTemperature(byte j){

sensor.requestTemperaturesByAddress(tempSensorSerial[j]);

float tempC = sensor.getTempC(tempSensorSerial[j]);

kembalikan suhu;

}

Direkomendasikan: