Bài 11: Đọc nhiệt độ PT 100 hiển thị lên LCD 16x2
Bài 11: Đọc nhiệt độ PT 100 hiển thị lên LCD 16x2
Bài 11: Đọc nhiệt độ PT 100 hiển thị lên LCD 16x2
Bài 11: Đọc nhiệt độ PT 100 hiển thị lên LCD 16x2
Bài 11: Đọc nhiệt độ PT 100 hiển thị lên LCD 16x2
Bài 11: Đọc nhiệt độ PT 100 hiển thị lên LCD 16x2
Tài liệu
Bài 11: Đọc nhiệt độ PT 100 hiển thị lên LCD 16x2
Yêu cầu: Đọc nhiệt độ từ cảm biến PT100 và hiển thị lên LCD 16x2
Linh kiện chuẩn bị
- Arduino Uno
- Biến trở 1K Ohm
- Điện trở 250 Ohm
- Nguồn 24V
- Cảm biến nhiệt độ PT100
- Bộ chuyển đổi nhiệt độ cho PT100 J2H16
- LCD 16x2
Mạch đi dây
Vì arduino chỉ đọc được giá trị từ 0 - 5V nên mà bộ chuyển đổi J2H16 sẽ xuất tín hiệu 4 - 20mA nên sẽ gắn thêm điện trở để chuyển đổi giá trị. Giá trị điện trở sẽ = 5V/20mA = 250Ohm. Sau khi gắn điện trở giá trị mà arduino sẽ đọc được từ bộ chuyển đổi sẽ trong khoảng 4mA*250 - 20mA*250 = 1 - 5V
Biểu đồ phương trình chuyển đổi
Arduino đọc giá trị 0 - 5V sẽ chuyển đổi thành số 0-1024 nên phương trình chuyển đổi Y = 5/1024x (1)(y là Volt, x là số arduino đọc được). Bộ chuyển đổi J2H16 kết hợp điện trở sẽ quy đổi tín hiêụ 0 - 400 độ C sẽ chuyển đổi thành 1- 5V nên ta có phương trình chuyển đổi Y = 100x - 100 (2)(y là nhiệt độ, x là Volt). Tổng hợp (1)(2) ta có phương trình biểu diển nhiệt độ theo số đọc được của Arduino: Y = 125/256x-100
Chương trình điều khiển:
#include
int PT100Pin = A1; // PT100
int PT100Value = 0;
int PT100Temp =0;
LiquidCrystal lcd(9, 8, 5, 4, 3, 2); // //Khai báo các chân RS, E, D4-D7 kết nối với Arduino
void PT100()
{
PT100Value = analogRead(PT100Pin); // đọc giá trị PT100
PT100Temp = PT100Value*125.0/256.0-100.0; // Quy đổi nhiệt độ
}
void setup() {
lcd.begin(16, 2); //Khởi tạo màn hình LCD và xác định kích thước màn hình LCD là 16x2
lcd.clear(); //Xóa màn hình và đặt con trỏ về vị trí đầu tiên (0, 0)
}
void loop() {
PT100();
lcd.setCursor(0,0);
lcd.print("PT1OO:");
lcd.print(PT100Temp);
}
Mình sẽ để file chương trình code ở dưới.