Mục lục:

Nhiều cảm biến nhiệt độ hồng ngoại - MLX90614: 4 bước
Nhiều cảm biến nhiệt độ hồng ngoại - MLX90614: 4 bước

Video: Nhiều cảm biến nhiệt độ hồng ngoại - MLX90614: 4 bước

Video: Nhiều cảm biến nhiệt độ hồng ngoại - MLX90614: 4 bước
Video: MLX90614 Mạch Cảm Biến Nhiệt Độ -40 → +125°C / MLX90614 Temperature Sensor Module 2024, Tháng sáu
Anonim
Nhiều cảm biến nhiệt độ hồng ngoại - MLX90614
Nhiều cảm biến nhiệt độ hồng ngoại - MLX90614

Đây là hướng dẫn nhanh về cách thiết lập nhiều cảm biến nhiệt độ không tiếp xúc MLX90614B thông qua bus I2C với Arduino una và hiển thị kết quả đọc trên màn hình nối tiếp của Arduino IDE. Tôi đang sử dụng các bo mạch được xây dựng sẵn, nhưng nếu bạn mua cảm biến của chính nó, bạn sẽ cần các điện trở kéo lên cho bus I2C và một tụ điện tách giữa Vdd và Vss.

Tôi thực sự khuyên bạn nên kiểm tra biểu mẫu biểu dữ liệu Melexis vì tôi sẽ không đi sâu vào chi tiết của tất cả các thông số kỹ thuật và dung sai của senor.

Quân nhu

x1 Breadboard

x8 Jumper Wires

x6 Jumper

Cảm biến nhiệt độ không tiếp xúc x3 MLX90614

x1 Arduino UNO R3

(Nếu bạn có MLX90614 mà không có bảng)

x2 (điện trở 4,7k ohm)

x3 (Tụ.01 uf)

Bước 1: Chỉ một dây:

Chỉ một dây
Chỉ một dây

Sơ đồ trên dựa trên các khuyến nghị của bảng dữ liệu cho cảm biến độc lập. Nếu bạn có cảm biến với bo mạch dựng sẵn thì bạn nối dây SLC từ bo mạch đến chân A5 trên Arduino, SDA vào chân A4, Vin vào chân 3.3V và GND đến đầu cuối GND trên Arduino.

Chúng tôi sẽ cần thay đổi địa chỉ của senor nếu chúng tôi muốn sử dụng nhiều cảm biến trên cùng một bus I2C, nhưng bạn chỉ có thể lập trình lại từng cảm biến một

Bước 2: Thay đổi địa chỉ (mã hóa)

Thay đổi địa chỉ (mã hóa)
Thay đổi địa chỉ (mã hóa)

May mắn cho chúng tôi là tất cả nhu cầu viết mã của chúng tôi trong dự án này đều có thư viện cho mỗi bước.

Bạn có thể tìm thấy thư viện sparkfun trong "Quản lý thư viện" dưới các công cụ bằng cách tìm kiếm MLX90614 trong Arduino IDE hoặc bạn có thể sao chép thư mục tôi đã cung cấp trong tệp zip sang "Tài liệu / Arduino / thư viện" trên windows.

Tệp được gọi là "MLX90614_Set_Address.ino" hoặc bạn có thể tìm thấy tệp "set_address" trong danh sách "ví dụ" thả xuống trong IDE. Sau tất cả, địa chỉ mặc định / địa chỉ nhà máy là "0x5A" và sau đó đối với biến "newaddress", bạn có thể thay đổi nó thành bất kỳ địa chỉ nào bạn muốn do các giới hạn của biểu dữ liệu và chỉ cần đảm bảo rằng tất cả chúng đều khác nhau. Tải mã lên Arduino, mở màn hình nối tiếp dưới công cụ và nhập "e" vào màn hình nối tiếp và nhấn enter, nó sẽ nhắc bạn rằng địa chỉ đã thay đổi và ngắt kết nối MLX90614 khỏi nguồn.

Bước 3: Đấu dây tất cả các cảm biến:

Đấu dây tất cả các cảm biến
Đấu dây tất cả các cảm biến

Phương pháp tương tự như lần trước nếu bạn có cảm biến độc lập, hãy làm theo sơ đồ trên, nếu bạn có các bảng thì bạn có thể chuỗi chúng lại với nhau và sau đó kết nối cái cuối cùng như thể nó là một cảm biến duy nhất với Arduino.

Bước 4: Mã hóa cuối cùng:

Mã hóa cuối cùng
Mã hóa cuối cùng

Để thực sự chạy các cảm biến, tôi đã phải sửa đổi thư viện từ Adafruit để chạy nhiều cảm biến, do đó, bạn sẽ cần cài đặt thư viện theo cách thủ công từ tệp zip mà tôi đã cung cấp, tức là di chuyển thư mục "Adafruit_MLX90614_Library" vào thư mục thư viện Arduino của bạn như đã đề cập trong bước 2. Tiếp theo, mở "SiMlx.ino" và đảm bảo các địa chỉ khớp với những địa chỉ bạn đã thay đổi cảm biến của mình, sau đó chuyển các địa chỉ đó một cách riêng biệt và tuần tự qua mẫu "mlx. AddrSet ()" mà tôi đã cung cấp. Tải nó lên Adruino và nó sẽ in ra màn hình nối tiếp như đã thấy ở trên.

Tôi chỉ thiết lập ba, nhưng bạn có thể có nhiều hơn bằng cách sao chép và dán từng khối mã, xác định thêm địa chỉ và thay đổi số lượng cảm biến cho mức trung bình, nếu bạn muốn có mức trung bình hành động.

Tôi thấy các cảm biến khá chính xác miễn là tôi không nối chúng quá xa nhau.

Chúc may mắn.

Đề xuất: