Mục lục:

Lấy số sê-ri của DS18B20 với Arduino: 5 bước
Lấy số sê-ri của DS18B20 với Arduino: 5 bước

Video: Lấy số sê-ri của DS18B20 với Arduino: 5 bước

Video: Lấy số sê-ri của DS18B20 với Arduino: 5 bước
Video: Cảnh báo nhiệt độ - ESP8266 - Cảm biến DS18B20 | Temperature alarm by ESP8266 and DS18B20 sensor 2024, Tháng mười một
Anonim
Nhận số sê-ri của DS18B20 với Arduino
Nhận số sê-ri của DS18B20 với Arduino

Đây là hướng dẫn nhanh về cách lấy số sê-ri riêng của cảm biến nhiệt độ 1 dây DS18B20 của bạn.

Điều này rất tiện lợi cho các dự án yêu cầu nhiều cảm biến.

Những thứ bạn cần:

  • Arduino 5v (UNO, Mega, Pro Mini, v.v.) - Arduino UNO R3 - AliExpress - eBay
  • Cảm biến nhiệt độ DS18B20 - AliExpress - eBay
  • Điện trở 4,7k - 1 / 4w THT - AliExpress - eBay
  • Breadboard - AliExpress - eBay
  • Jumper Wires - Male to Male - AliExpress - eBay
  • Máy tính đã cài đặt Arduino IDE

Bước 1: Thêm Thư viện Bắt buộc vào Arduino IDE

Thêm Thư viện Bắt buộc vào Arduino IDE
Thêm Thư viện Bắt buộc vào Arduino IDE
  1. Mở Arduino IDE (Tôi đang sử dụng 1.8.1)
  2. Nhấp vào "Phác thảo" -> "Bao gồm Thư viện" -> "Quản lý Thư viện…"
  3. Chọn thanh tìm kiếm và nhập "dallas"
  4. Nhấp vào "DallasTempe Heat" và nhấp vào "Cài đặt"

Ngoài ra, bạn có thể tải xuống Thư viện từ đây:

Thư viện này bao gồm Thư viện trực tuyến.

Bước 2: Lên dây DS18B20

Lên dây cho DS18B20
Lên dây cho DS18B20
Lên dây cho DS18B20
Lên dây cho DS18B20

Sử dụng bảng mạch bánh mì kết nối + 5V, GND và Chân kỹ thuật số 2 (Chân 2 đã được đặt trong bản phác thảo ví dụ) từ Arduino bằng cách sử dụng các bộ chuyển tiếp trên bảng mạch từ Nam sang Nam.

Kết nối DS18B20 song song với các dải đầu cuối 3x trên breadboard.

  • Chân 1 (GND) -> GND (Nối đất 0V)
  • Chân 2 (DATA) -> Chân kỹ thuật số 2
  • Chân 3 (Vdd) -> + 5V

Đối với Chế độ nguồn thông thường, hãy kết nối Điện trở 4,7K từ dây + 5V đến Chân số 2 trên bảng mạch.

Liên kết sau đây là nguồn tài liệu tuyệt vời về cảm biến nhiệt độ 1 dây DS18B20.

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

Bước 3: Tải Sketch Ví dụ "Single"

Tải bản phác thảo mẫu
Tải bản phác thảo mẫu
Tải bản phác thảo mẫu
Tải bản phác thảo mẫu

Khi bạn đã có dây, bạn đã sẵn sàng tải SketchOpen Arduino IDE "Đơn" ở nhiệt độ Dallas (Tôi đang sử dụng 1.8.1) Nhấp vào "Tệp" -> "Ví dụ" -> "Nhiệt độ Dallas" -> "Đơn" tôi đã thêm chậm trễ (5000); trên dòng 103 để cho tôi thời gian sao chép số sê-ri Chọn biểu mẫu bảng thích hợp của bạn "Công cụ" -> "Bảng" Chọn cổng thích hợp của bạn "Công cụ" -> "Cổng" Bây giờ "Tải lên" Bản phác thảo "Phác thảo" -> "Tải lên" Nhấp vào "Công cụ" -> "Giám sát nối tiếp" đảm bảo tốc độ truyền khớp của tôi là 9600Nếu bạn phác thảo không tải lên, hãy kiểm tra Bo mạch, Cổng, trình điều khiển USB của bạn, v.v.

Bước 4: Sao chép số sê-ri

Sao chép số sê-ri
Sao chép số sê-ri
Sao chép số sê-ri
Sao chép số sê-ri

Từ "Serial Monitor", bạn sẽ thấy dòng thứ 4 là "Device 0 Address: xxxxxxxxxxxxxxxx"

Đây là số sê-ri của DS18B20

Nếu là "0000000000000000" thì đã xảy ra sự cố khi đọc DS18B20 của bạn.

Đánh dấu nó bằng chuột và nhấn CTRL + C trên bàn phím của bạn, sau đó dán nó vào Notepad

Đối với các dự án khác của tôi, mã của tôi sử dụng một mảng các số này. Tôi đã định dạng lại chuỗi HEX thành định dạng sau.

DeviceAddress tempSensorSerial [9] = {

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

Bước 5: Hoàn thành

Hoàn thành
Hoàn thành

Giờ đây, bạn có thể xác định từng cảm biến nhiệt độ 1 dây DS18B20 riêng lẻ trong mã của mình và sử dụng một chức năng như sau:

float getTempe Heat (byte j) {

cảm biến.requestTempe Nhiệt độByAddress (tempSensorSerial [j]);

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

trả về tempC;

}

Đề xuất: