CẢM BIẾN NHIỆT ĐỘ DS18B20 ARDUINO

Share:

1. Cảm đổi mới ánh sáng DS18B20

Chuẩn giao tiếp One Wire

(Nguồn tham mê khảo: https://vi.wikipedia.org/wiki/1-Wire)

DS18B20

(Nguồn tsi mê khảo: http://codientu.org/threads/5207/)

DS18Btrăng tròn là IC cảm biến nhiệt độ, chỉ bao gồm 3 chân, gói gọn dạng TO-92 3 chân nhỏ dại gọn.

Bạn đang đọc: Cảm biến nhiệt độ ds18b20 arduino

điểm sáng thiết yếu của DS18Bđôi mươi như sau:

Lấy ánh nắng mặt trời theo giao thức 1 dây (1wire)

Cung cung cấp ánh nắng mặt trời cùng với độ phân giải config 9,10,11,12 bit, phụ thuộc vào sử dụng. Trong ngôi trường thích hợp ko config thì nó tự động làm việc cơ chế 12 bit.Thời gian chuyển đổi ánh nắng mặt trời về tối nhiều là 750ms cho mã hóa 12 bit​

+Có thể đo ánh nắng mặt trời trong vòng -55 -> +125°C. Với khoảng nhiệt độ là -10°C lớn +85°C thì độ đúng mực ±0.5°C,±0.25°C ,±0.125°C,±0.0625°C. theo số đậy config.

Có công dụng lưu ý nhiệt độ Khi ánh sáng quá ngưỡng được cho phép. Người dùng rất có thể xây dựng công dụng này mang đến DS18B20. Bộ ghi nhớ ánh sáng lưu ý vẫn tồn tại khi mất mối cung cấp vì chưng nó có một mã định danh tốt nhất 64 bit đựng vào bộ nhớ lưu trữ ROM trên chip (on chip), giá trị nhị phân được khắc bởi tia tia laze.

Cảm biến chuyển ánh sáng DS18B20 có mã nhận diện lên đến mức 64-bit, bởi vậy bạn cũng có thể đánh giá ánh sáng với khá nhiều IC DS18Btrăng tròn mà lại chỉ cần sử dụng 1 dây dẫn tuyệt nhất nhằm giao tiếp với những IC này.

Xem thêm: Xem Ngay 50+ Mẫu Bộ Bàn Ghế Phòng Khách Đẹp Xu Hướng 2020 &Ndash; Dongsuh Furniture

Với DS18B20 chúng ta hoàn toàn rất có thể làm cho mình mạch cảm ứng nhiệt độ theo nhu cầu.

Điện áp áp dụng : 3 – 5.5 V​

Dòng tiêu trúc tại chế độ nghỉ khôn xiết bé dại.​

2. Thư viện DS18Btrăng tròn đến VBLUno51

Trên Adruino, nhằm bo mạch VBLUno51 tinh chỉnh, gọi giá trị ánh sáng từ cảm biến DS18B20, ta buộc phải thực hiện các thỏng viện sau:

OneWire

Thư viện mức tốt, hỗ trợ vi điều khiển và tinh chỉnh giao tiếp cùng với các IC qua chuẩn OneWire

Đã sửa để gia công câu hỏi tốt bên trên những bo mạch VBLUno của VNG

Arduino-Temperature-Control-Library

Có áp dụng thỏng viện OneWire làm cho tlỗi viện cơ sở

Các thư viện hiển thị lên màn hình hiển thị OLED

3. Kết nối phần cứng

TT Chân của DS18Btrăng tròn Kết nối với mạch VBLUno51
1 GND GND
2 DQ D2
3 VDD +3.3V

Mắc một năng lượng điện trlàm việc 4.7KOhm thân DQ(2) cùng VDD(3).

*

4. Mã nguồn

Mã mối cung cấp Arduino sau đây thực hiện câu hỏi đo ánh nắng mặt trời từ cảm biến ánh nắng mặt trời số DS18Btrăng tròn, sau đó hiển thị giá trị lên màn hình hiển thị OLED I2C với gửi lên máy tính qua cổng Serial.


//Onewire sensor library#include #include //I2C OLED SSD1306 screen library#include #include #include #define ONE_WIRE_BUS 2 // Data wire is plugged inlớn port 2 on the ArduinoOneWire oneWire(ONE_WIRE_BUS); // Setup a oneWire instance to lớn communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)DallasTemperature sensors(&oneWire); // Pass our oneWire reference to lớn Dallas Temperature.#define OLED_RESET 4Adafruit_SSD1306 oled(OLED_RESET);/* * The thiết lập function. We only start the sensors here */void setup(void) // start serial port Serial.begin(115200); Serial.println("------------------------------------------"); Serial.println("Example for VBLUno51 board"); Serial.println("Dallas Temperature IC Control Library Demo"); //start oled oled.begin(SSD1306_SWITCHCAPVCC, 0x3C); oled.clearDisplay(); oled.setTextSize(1); oled.setTextColor(WHITE); oled.setCursor(0,0); oled.println("VBLUno51 board:"); oled.display(); // Start up the library sensors.begin(); delay(1000);/* * Main function, get và show the temperature */ double temp = 0.0f;void loop(void) // Điện thoại tư vấn sensors.requestTemperatures() to issue a global temperature // request khổng lồ all devices on the bus Serial.print("Requesting temperatures..."); sensors.requestTemperatures(); // Skết thúc the commvà lớn get temperatures Serial.println("DONE"); // After we got the temperatures, we can print them here. // We use the function ByIndex, & as an example get the temperature from the first sensor only. Serial.print("Temperature for the device 1 (index 0) is: "); temp = sensors.getTempCByIndex(0); Serial.println(temp); oled.clearDisplay(); oled.setCursor(0,0); oled.println("Temperature (C): "); oled.println(temp); oled.display(); delay(1000);

Bài viết liên quan