Mục lục:
- Bước 1: Chuẩn bị thiết bị của bạn
- Bước 2: Hiệu chuẩn hai điểm
- Bước 3: Sử dụng các giá trị bạn nhận được một cách đúng đắn
Video: Hiệu chuẩn cảm biến DS18B20 với Arduino UNO: 3 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
TUYÊN BỐ TỪ CHỐI:
Thiết bị bạn nhìn thấy trong ảnh được sử dụng trong một dự án khác làm Bộ điều nhiệt cho quá trình phát triển phim. Bạn có thể tìm thấy dự án đó ở đây. Để hiệu chỉnh một cảm biến, hoặc nhiều hơn một cảm biến, bạn sẽ chỉ cần những gì bạn tìm thấy trong dự án này, không cần thêm gì nữa và nó cũng khá cơ bản! Đi nào!
Bước 1: Chuẩn bị thiết bị của bạn
Đây là danh sách những thứ bạn cần:
- Arduino UNO (hoặc MEGA)
- (Các) cảm biến DS18B20
- 4kOhm - kháng 5kOhm (tôi đã sử dụng 5k1Ohm)
- Màn hình LCD để đọc các giá trị (bạn cũng có thể sử dụng máy tính xách tay và chỉ cần đọc chúng trên màn hình nối tiếp)
- Bản phác thảo sử dụng cảm biến và hiển thị bằng cách nào đó các giá trị
Trước hết, bạn phải kết nối các mô-đun và cảm biến với bộ điều khiển của mình. Tôi sẽ để lại phần phức tạp của màn hình LCD cho bạn tìm kiếm trên web và tôi sẽ chỉ cho bạn cách kết nối cảm biến.
Thông thường những cảm biến đó đi kèm với ba màu dây: Đen, Đỏ, Vàng. Hai cái đầu tiên dành cho năng lượng và cái thứ ba dành cho dữ liệu. Kết nối màu đen với GNN, màu đỏ với Vcc (5V) và màu vàng trên đầu vào tương tự, giả sử A0.
Bây giờ kết nối điện trở giữa màu vàng và màu đỏ để hoàn thành các kết nối.
Cắm luôn cả màn hình LCD (tôi đề xuất một màn hình LCD 16x2 đơn giản với kết nối i2c để chỉ sử dụng tổng cộng 4 dây) và bạn đã hoàn tất việc lắp dây và cáp.
Bây giờ bản phác thảo siêu đơn giản:
#include "OneWire.h"
#include "DallasTempeosystem.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); Cảm biến nhiệt độ Dallas1 (& ourWire1); #include "LiquidCrystal_I2C.h"
Màn hình LCD LiquidCrystal_I2C (0x27, 16, 2); float RawValue = 0;
void setup () {lcd.init (); LCD đèn nền(); sensor1.begin (); sensor1.setResolution (11); } void loop () {sensor1.requestTempe Nhiệt độ (); float RawValue = sensor1.getTempCByIndex (0); lcd.setCursor (0, 0); lcd.print ("Cảm biến 1"); lcd.print (RawValue, 1); }
Như bạn có thể thấy, chúng tôi sử dụng thư viện Nhiệt độ Dallas và màn hình LCD có kết nối i2c.
Trong quá trình thiết lập, chúng tôi loại bỏ màn hình LCD và cảm biến và trong vòng lặp, chúng tôi chỉ cần yêu cầu nhiệt độ và lưu trữ giá trị bên trong biến RawValue để hiển thị trên màn hình LCD.
Nếu bạn muốn đơn giản hơn, chỉ cần sử dụng màn hình nối tiếp với bản phác thảo sau
#include "Wire.h" #include "OneWire.h" #include "DallasTempeosystem.h" #define ONE_WIRE_BUS_1 A0 OneWire ourWire1 (ONE_WIRE_BUS_1); Cảm biến nhiệt độ Dallas1 (& ourWire1);
float RawValue = 0;
void setup () {
chậm trễ (1000); Serial.begin (9600); sensor1.begin (); sensor1.setResolution (11);
}
void loop () {sensor1.requestTempe Nhiệt độ (); float RawValue = sensor1.getTempCByIndex (0); Serial.print ("Sens. 1"); Serial.println (RawValue, 1); }
Bây giờ hãy theo tôi vào cốt lõi của dự án để hiệu chỉnh cảm biến.
Bước 2: Hiệu chuẩn hai điểm
Những điều cần biết trước
Để hiệu chỉnh cảm biến nhiệt, bạn phải đo một thứ mà bạn biết nhiệt độ. Cách thực hiện đơn giản tại nhà là dùng nước sôi và một bồn nước đá tan hay còn gọi là tắm “tam thất”. Trong những trường hợp đó, chúng ta biết rằng nước sôi ở 100 ° C trên mực nước biển. Hãy nhớ rằng để thực hiện một phép đo chính xác, bạn nên biết độ cao của mình và tính toán nhiệt độ sôi thích hợp ở đó.
Bạn có thể kiểm tra nó ở đây!
Thành thật mà nói, bạn nên kiểm tra áp suất khí quyển chứ không phải độ cao. Nhưng cách đó là đủ chính xác.
Bể ba điểm hay còn gọi là bể nước đá là nhiệt độ mà nước tồn tại ở ba trạng thái rắn, lỏng và khí, nhiệt độ đó là 0, 01 ° C. Chúng tôi sẽ sử dụng, để đơn giản hóa, 0 ° C.
Biết giá trị mà cảm biến đọc và giá trị phải có, chúng tôi có thể sửa đổi giá trị thô của DS18B20 thành một giá trị chính xác hơn.
LƯU Ý: bạn cũng có thể sử dụng nhiều nhiệt độ hơn để hiệu chỉnh cảm biến chỉ cần đặt nó vào một số chất khác mà bạn biết điểm sôi như Ether (35 ° C), Pentane (36, 1 ° C), Acetone (56 ° C) hoặc Ethanol (78, 37 ° C), nhưng những chất sôi đó tạo ra khí rất dễ cháy! Vì vậy, đừng làm điều đó!
Nước sôi:
Cho một ít nước vào nồi và đun đến khi sôi (bọt khí phát triển và nước tự sôi). Đặt cảm biến của bạn ở nơi nó không chạm vào bất cứ thứ gì ngoài nước. Chờ một vài phút và đọc màn hình LCD hoặc màn hình nối tiếp
Nhiệt độ phải giữ nguyên trong ít nhất một phút. Nếu vậy, hãy ghi giá trị đó xuống. Đó là giá trị: RawHigh của bạn.
Phòng tắm ba điểm:
Bây giờ lấy một cái ly lớn (bạn không cần bất cứ thứ gì lớn cũng như không cần chậu) và đổ đầy đá đến đường viền. Cố gắng sử dụng đá viên có kích thước nhỏ. Bây giờ đổ nước lạnh vào 80% ly. Đổ đầy đá nếu cần gạt cố gắng đi xuống.
Bây giờ, hãy đặt cảm biến của bạn vào bên trong vật chứa nước / đá và đợi một phút rưỡi. Đọc nhiệt độ phải giữ nguyên ít nhất trong 30 giây. Nếu vậy, hãy viết nó ra, rằng đó là giá trị RawLow của bạn.
Bước 3: Sử dụng các giá trị bạn nhận được một cách đúng đắn
Vì vậy, bây giờ bạn đã có một số giá trị quan trọng:
- RawHigh
- RawLow
- Tham khảo
- ReferenceLow
Giá trị tham chiếu rõ ràng là 99,9 ° C đối với nước sôi (ở độ cao của tôi là 22m) và 0 ° C đối với bể nước đá đang tan chảy. Bây giờ hãy tính toán các phạm vi cho các giá trị đó:
- RawRange = RawHigh - RawLow
- ReferenceRange = ReferenceHigh - ReferenceLow
Bây giờ bạn đã sẵn sàng sử dụng cảm biến đó trong bất kỳ dự án nào khác và chắc chắn rằng nó sẽ cung cấp cho bạn một phép đo phù hợp. Thế nào? Sử dụng giá trị bạn có được ở đây trong dự án mà bạn sẽ tạo ra với cảm biến đó.
Trong dự án tương lai của bạn, bạn sẽ phải sử dụng các giá trị mà bạn đọc được trong dự án này và tôi khuyên bạn nên làm điều đó bằng cách sử dụng các tên giống như tôi đã sử dụng ở đây.
Khai báo các biến trước phần void setup () giống như sau:
float RawHigh = 99,6; float RawLow = 0,5; float ReferenceHigh = 99,9; float ReferenceLow = 0; float RawRange = RawHigh - RawLow; float ReferenceRange = ReferenceHigh - ReferenceLow;
Hơn nữa, mỗi khi bạn sử dụng cảm biến, bạn có thể sử dụng công thức sau để tính Giá trị sửa chữa:
float CoriledValue = (((RawValue - RawLow) * ReferenceRange) / RawRange) + ReferenceLow;
RawValue rõ ràng là giá trị đọc của cảm biến.
Đó là nó!
Bây giờ bạn đã biết cách hiệu chỉnh cảm biến DS18B20 của mình hoặc bất kỳ cảm biến nào khác mà bạn sẽ sử dụng! Chúc vui vẻ!
Đề xuất:
Hiệu chuẩn cảm biến độ ẩm của đất: 5 bước
Hiệu chỉnh độ ẩm của đất: Có rất nhiều thiết bị đo độ ẩm của đất trên thị trường để giúp người làm vườn quyết định thời điểm tưới cây của họ. Thật không may, việc lấy một nắm đất và kiểm tra màu sắc và kết cấu cũng đáng tin cậy như nhiều thiết bị này! Một số đầu dò thậm chí còn đăng ký
Cách chế tạo máy cân trẻ em bằng Arduino Nano, cảm biến lực HX-711 và OLED 128X64 -- Hiệu chuẩn HX-711: 5 bước
Cách chế tạo máy cân trẻ em bằng Arduino Nano, Cảm biến lực HX-711 và OLED 128X64 || Hiệu chuẩn HX-711: Xin chào những người hướng dẫn, Cách đây vài ngày, tôi đã trở thành cha của một đứa bé dễ thương ?. Khi tôi nằm viện, tôi thấy rằng cân nặng của em bé là rất quan trọng để theo dõi sự phát triển của em bé. Vì vậy, tôi có một ý tưởng? để tự làm một chiếc máy tập cân cho em bé. trong Tài liệu hướng dẫn này, tôi
Tự làm cảm biến hơi thở với Arduino (Cảm biến kéo giãn dệt kim dẫn điện): 7 bước (có hình ảnh)
Cảm biến hơi thở tự làm với Arduino (Cảm biến kéo giãn dệt kim dẫn điện): Cảm biến tự làm này sẽ có dạng một cảm biến kéo giãn dệt kim dẫn điện. Nó sẽ quấn quanh ngực / dạ dày của bạn và khi ngực / dạ dày của bạn giãn ra và co lại, cảm biến cũng sẽ như vậy, và do đó, dữ liệu đầu vào được cung cấp cho Arduino. Vì thế
Hiệu chuẩn cảm biến độ ẩm: 7 bước
Hiệu chỉnh cảm biến độ ẩm: Tôi có 3 cảm biến có thể đo độ ẩm tương đối của không khí: BME280, SHT21, DHT22. Họ cho biết khả năng đo với độ chính xác +/- 3% trong phạm vi 20 đến 80% Tuy nhiên, khi thử nghiệm trong cùng một điều kiện cho 3 cảm biến, tôi nhận được 3 kết quả khác nhau. Có lẽ o
Nhận dạng màu sắc Cảm biến W / TCS230 và Arduino [Bao gồm mã hiệu chuẩn]: 12 bước
Cảm biến W / TCS230 nhận dạng màu sắc và Arduino [Bao gồm mã hiệu chuẩn]: Tổng quan Trong hướng dẫn này, bạn sẽ tìm hiểu về cảm biến TCS230 và cách sử dụng cảm biến này với Arduino để nhận dạng màu sắc. Ở phần cuối của hướng dẫn này, bạn sẽ tìm thấy một ý tưởng hấp dẫn để tạo ra một chiếc bút chọn màu. Với chiếc bút này, bạn có thể quét các màu của th