Isi kandungan:

Dapatkan Nombor Siri DS18B20 Dengan Arduino: 5 Langkah
Dapatkan Nombor Siri DS18B20 Dengan Arduino: 5 Langkah

Video: Dapatkan Nombor Siri DS18B20 Dengan Arduino: 5 Langkah

Video: Dapatkan Nombor Siri DS18B20 Dengan Arduino: 5 Langkah
Video: FLProg10: Penderia Suhu DS18B20 | ESP32 NodeMCU | Pengaturcaraan Terbenam Visual Arduino 2024, November
Anonim
Dapatkan Nombor Siri DS18B20 Bersama Arduino
Dapatkan Nombor Siri DS18B20 Bersama Arduino

Ini adalah panduan ringkas bagaimana mendapatkan nombor siri individu sensor suhu 1-wayar DS18B20 anda.

Ini berguna untuk projek yang memerlukan pelbagai sensor.

Perkara yang anda perlukan:

  • Arduino 5v (UNO, Mega, Pro Mini dll) - Arduino UNO R3 - AliExpress - eBay
  • Sensor Temp DS18B20 - AliExpress - eBay
  • 4.7k - 1 / 4w Perintang THT - AliExpress - eBay
  • Papan Roti - AliExpress - eBay
  • Jumper Wires - Lelaki ke Lelaki - AliExpress - eBay
  • Komputer dengan Arduino IDE dipasang

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" -> "Urus Perpustakaan …"
  3. Pilih bar carian dan taip "dallas"
  4. Klik "DallasTemperature" dan klik "Pasang"

Sebagai alternatif anda boleh memuat turun Perpustakaan dari sini:

Perpustakaan ini merangkumi Perpustakaan OnWire.

Langkah 2: Wire Up DS18B20

Wire Up DS18B20
Wire Up DS18B20
Wire Up DS18B20
Wire Up DS18B20

Dengan menggunakan papan roti sambung + 5V, GND dan Digital Pin 2 (Pin 2 sudah ditetapkan dalam lakaran contoh) dari Arduino menggunakan jumper papan roti Male ke Male.

Sambungkan DS18B20 selari dengan jalur terminal 3x di papan roti.

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

Untuk Mod Kuasa Normal sambungkan Perintang 4.7K dari + 5V ke wayar Digital Pin 2 pada papan roti.

Pautan berikut adalah sumber yang baik untuk sensor suhu 1-wayar DS18B20.

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

Langkah 3: Muatkan Lakaran Contoh "Single"

Muatkan Lakaran Contoh
Muatkan Lakaran Contoh
Muatkan Lakaran Contoh
Muatkan Lakaran Contoh

Sebaik sahaja anda memasangnya, anda sudah siap memuatkan Dallas Temperature "Single" SketchOpen Arduino IDE (saya menggunakan 1.8.1) Klik "File" -> "Contoh" -> "Dallas Temperature" -> "Single" saya tambah dalam kelewatan (5000); di talian 103 untuk memberi saya masa untuk menyalin nombor siri Pilih borang papan yang sesuai "Alat" -> "Papan" Pilih port yang sesuai "Alat" -> "Pelabuhan" Sekarang "Muat naik" Lakaran "Lakaran" -> "Muat naik" Klik "Tools" -> "Serial Monitor" pastikan kadar baud sesuai dengan 9600Jika anda membuat sketsa tidak memuat naik periksa Board, Port, USB driver dll.

Langkah 4: Salin Nombor Siri

Salin Nombor Siri
Salin Nombor Siri
Salin Nombor Siri
Salin Nombor Siri

Dari "Monitor Bersiri" anda akan melihat baris ke-4 adalah "Peranti 0 Alamat: xxxxxxxxxxxxxxxx"

Ini ialah Nombor Siri DS18B20

Sekiranya ia adalah "0000000000000000", maka terdapat masalah semasa membaca DS18B20 anda.

Sorotnya dengan tetikus anda dan tekan CTRL + C pada papan kekunci anda kemudian lekatkan di Notepad

Untuk projek lain, kod saya menggunakan pelbagai nombor ini. Saya memformat semula rentetan 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, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0xD3}, {0x28, 0xFF, 0x86, 0xA8, 0x70, 0x17, 0x04, 0xA6}, {0x28, 0xFF, 0x2B, 0x65, 0x71, 0x17, 0x04, 0x76}, {0x28, 0xFF, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x17, 0x04, 0xF5}, {0x28, 0xFF, 0xD9, 0x9B, 0x70, 0x17, 0x04, 0x9C}, {0x28, 0xFF, 0x98, 0x6A, 0x71, 0x17, 0x04, 0xED}, {0x28, 0F28, 0F28, 0F28, 0F28, 0F28, 0F28, 0F28, 0F28, 0F28, 0x42, 0x71, 0x17, 0x04, 0x4C}};

Langkah 5: Selesai

Selesai
Selesai

Kini anda dapat mengenal pasti setiap sensor suhu 1-wayar DS18B20 individu dalam kod anda dan menggunakan fungsi seperti ini:

float getTemperature (bait j) {

sensor.requestTemperaturesByAddress (tempSensorSerial [j]);

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

pulangkan tempC;

}

Disyorkan: