Mục lục:

Đo nhiệt độ bằng XinaBox và nhiệt điện trở: 8 bước
Đo nhiệt độ bằng XinaBox và nhiệt điện trở: 8 bước

Video: Đo nhiệt độ bằng XinaBox và nhiệt điện trở: 8 bước

Video: Đo nhiệt độ bằng XinaBox và nhiệt điện trở: 8 bước
Video: [Microbit IoT] Kết nối vạn vật với Microbit - Tạo kênh dữ liệu ThingSpeak 2024, Tháng bảy
Anonim
Đo nhiệt độ bằng XinaBox và nhiệt điện trở
Đo nhiệt độ bằng XinaBox và nhiệt điện trở

Đo nhiệt độ của chất lỏng bằng đầu vào tương tự xChip từ XinaBox và một đầu dò nhiệt điện trở.

Bước 1: Những thứ được sử dụng trong dự án này

Các thành phần phần cứng

  • Cảm biến đầu vào tương tự XinaBox SX02 x 1 xChip với ADC
  • XinaBox CC01 x 1 phiên bản xChip của Arduino Uno dựa trên ATmega328P
  • Điện trở 10k ohm x 1 điện trở 10k cho mạng phân áp
  • Đầu dò nhiệt điện trở x 1 10k ở 25 ° C Đầu dò nhiệt điện trở không thấm nước NTC
  • XinaBox IP01 x 1 xChip USB Programmer dựa trên FT232R From FTDI Limited
  • Màn hình OLED XinaBox OD01 x 1 xChip 128x64 Pixel
  • Đầu nối bus XinaBox XC10 x 4 xChip
  • Bộ cấp nguồn XinaBox PU01 x 1 xChip USB (Loại A)
  • Nguồn điện 5V USB x 1 Ngân hàng điện hoặc tương tự

Ứng dụng phần mềm và dịch vụ trực tuyến

Arduino IDE

Dụng cụ cầm tay và máy chế tạo

Tuốc nơ vít đầu phẳng Để siết chặt hoặc nới lỏng kẹp đầu cuối vít

Bước 2: Câu chuyện

Giới thiệu

Tôi muốn đo nhiệt độ của chất lỏng bằng cách tạo ra một nhiệt kế đơn giản. Bằng cách sử dụng XinaBox xChips, tôi có thể thực hiện điều này một cách tương đối đơn giản. Tôi đã sử dụng xChip đầu vào tương tự SX02 chấp nhận 0 - 3.3V, CC01 xChip dựa trên ATmega328P và xChip màn hình OLED OD01 để xem kết quả nhiệt độ của tôi.

Thermistor đo nhiệt độ của nước trong ly

Bước 3: Tải xuống các tệp cần thiết

Bạn sẽ cần các thư viện và phần mềm sau:

  • xSX0X- Thư viện cảm biến đầu vào tương tự
  • xOD01 - Thư viện màn hình OLED
  • Arduino IDE - Môi trường phát triển

Bấm vào đây để xem cách cài đặt các thư viện.

Sau khi bạn đã cài đặt Arduino IDE, hãy mở nó lên và chọn "Arduino Pro hoặc Pro Mini" làm bảng để tải chương trình của bạn lên. Đồng thời đảm bảo rằng bộ xử lý ATmega328P (5V, 16MHz) được chọn. Xem hình ảnh bên dưới.

Chọn bo mạch Arduino Pro hoặc Pro Mini và bộ xử lý ATmega328P (5V, 16MHz)

Bước 4: Lắp ráp

Nhấp vào xChip của lập trình viên, IP01 và CC01 xChip dựa trên ATmega328P cùng nhau bằng cách sử dụng các đầu nối bus XC10 như được hiển thị bên dưới. Để tải lên CC01, bạn sẽ cần đặt các công tắc ở vị trí 'A' và 'DCE' tương ứng.

IP01 và CC01 được nhấp cùng nhau

Tiếp theo, lấy điện trở 10kΩ của bạn và vặn một đầu vào đầu cuối được đánh dấu "IN" và đầu còn lại ở đầu cuối nối đất, "GND", trên SX02. Đi các dây dẫn trên đầu dò nhiệt điện trở và vặn một đầu ở Vcc, "3,3V", và đầu kia ở đầu cuối "IN". Xem hình bên dưới.

Kết nối SX02

Bây giờ kết hợp OD01 và SX02 với CC01 bằng cách chỉ cần nhấp vào chúng với nhau bằng kết nối xe buýt XC10. Xem bên dưới. Phần tử bạc trong hình ảnh là đầu dò nhiệt điện trở.

Đơn vị hoàn chỉnh để lập trình

Bước 5: Chương trình

Cắm thiết bị vào cổng USB trên máy tính của bạn. Tải xuống hoặc sao chép và dán mã bên dưới vào IDE Arduino của bạn. Biên dịch và tải mã lên bảng của bạn. Sau khi tải lên chương trình của bạn sẽ bắt đầu chạy. Nếu bạn thăm dò ở điều kiện nhiệt độ phòng, bạn nên quan sát ± 25 ° C trên màn hình OLED như hình dưới đây.

Sau khi tải lên, hãy quan sát nhiệt độ phòng trên màn hình OLED

Bước 6: Nhiệt kế cầm tay

Xóa thiết bị khỏi máy tính của bạn. Tháo rời thiết bị và lắp ráp lại bằng PU01 thay vì IP01. Bây giờ, hãy lấy nguồn điện di động 5V USB của bạn chẳng hạn như một bộ sạc dự phòng hoặc tương tự và lắp cụm mới vào đó. Bây giờ bạn có nhiệt kế cầm tay tuyệt vời của riêng bạn với độ chính xác tốt. Xem ảnh bìa để biết nó đang hoạt động. Tôi đo nước nóng trong một ly. Các hình ảnh dưới đây cho thấy đơn vị hoàn chỉnh của bạn.

Đơn vị hoàn chỉnh bao gồm CC01, OD01, SX02 và PU02.

Bước 7: Kết luận

Dự án này mất chưa đến 10 phút để lắp ráp và 20 phút nữa để lập trình. thành phần thụ động duy nhất được yêu cầu là một điện trở. Các xChips chỉ cần nhấp vào nhau rất tiện lợi.

Bước 8: Mã

ThermTemp_Display.ino Arduino Nghiên cứu nhiệt điện trở để hiểu các phép tính trong mã.

#include // bao gồm thư viện lõi cho xCHIP

#include // bao gồm thư viện cảm biến đầu vào tương tự #include // bao gồm thư viện màn hình OLED #include // bao gồm các hàm toán học # xác định C_Kelvin 273.15 // để chuyển đổi từ kelvin sang độ c #define series_res 10000 // giá trị của điện trở loạt tính bằng ohms #define B 3950 // tham số B cho nhiệt điện trở #define room_tempK 298.15 // nhiệt độ phòng trong kelvin #define room_res 10000 // điện trở ở nhiệt độ phòng tính bằng ohms #define vcc 3.3 // cung cấp điện áp xSX01 SX01 (0x55); // đặt điện áp float địa chỉ i2c; // biến chứa điện áp đo được (0 - 3.3V) float therm_res; // điện trở nhiệt điện trở float act_tempK; // nhiệt độ thực tế kelvin float act_tempC; // nhiệt độ thực tế ở độ C void setup () {// đặt mã thiết lập của bạn ở đây, để chạy một lần: // khởi tạo các biến thành 0 áp = 0; therm_res = 0; act_tempK = 0; act_tempC = 0; // bắt đầu giao tiếp nối tiếp Serial.begin (115200); // khởi động giao tiếp i2c Wire.begin (); // khởi động cảm biến đầu vào tương tự SX01.begin (); // khởi động màn hình OLED OLED.begin (); // xóa hiển thị OD01.clear (); // delay để chuẩn hóa delay (1000); } void loop () {// đặt mã chính của bạn vào đây, để chạy nhiều lần: // đọc điện áp SX01.poll (); // lưu trữ điện áp volatge = SX01.getVoltage (); // tính điện trở nhiệt điện trở therm_res = ((vcc * series_res) / điện áp) - series_res; // tính nhiệt độ thực trong kelvin act_tempK = (room_tempK * B) / (B + room_tempK * log (therm_res / room_res)); // chuyển đổi kelvin thành độ c act_tempC = act_tempK - C_Kelvin; // nhiệt độ in trên màn hình OLED // định dạng thủ công để hiển thị ở trung tâm OD01.set2X (); OD01.println (""); OD01.println (""); OD01.print (""); OD01.print (act_tempC); OD01.print ("C"); OD01.println (""); chậm trễ (2000); // cập nhật hiển thị 2 giây một lần}

Đề xuất: