Hướng dẫn sử dụng cảm biến nhiệt độ TMP36 - Khoảng đo từ -40 đến 125 độ C

Mình thấy cảm biến nhiệt độ LM35 rất rẻ và hoạt động cũng tương đối chính xác. Tuy nhiên, độ bền của nó không cao vì mình thấy mình chỉ dùng cảm biến LM35 trong khoảng thời gian 3 tháng, sau đó phải thay cảm biến khác (để đo nhiệt độ luộc gà). Bản thân mình không thích điều đó nên thử dùng một cảm biến khác cũng có chức năng tương tự là TMP36 và thấy nó hoạt động bền hơn (đã đến tháng thứ 4 nhưng chưa hư). Mình xin chia sẻ với các bạn nhé. Loại này hơi khó tìm và không thông dụng, nhưng nó bền hơn hẳn LM35 các bạn nhé.

I. Chuẩn bị

II. Giới thiệu về TMP36

Cảm biến này nhìn qua thì chúng ta thấy giống như một transistor vậy. TMP36 sử dụng rất đơn giản, nếu nhìn thẳng vào mặt phẳng thì:

  • Chân số 1 là chân cấp nguồn 5V (chân này bạn có thể cắm vào nguồn 5V của Arduino khi sử dụng nó với Arduino).
  • Chân thứ 2 là chân xuất tín hiệu tương tự (tín hiệu dạng xung).
  • Chân thứ 3 là chân nối mát hay chân GND(khi sử dụng với Arduino các bạn có thể lấy từ chân Gnd từ Arduino.

Cảm biến TMP 36 này xuất tín hiệu là tín hiệu điện áp, tín hiệu này tỷ lệ thuận với nhiệt độ. Cứ 10mV tương đương với 1 độ C, nó có thể đo được nhiệt độ từ -40 ==>125 độ C (hơn hẳn so với LM35 các bạn nhé). Bởi vì nó xuất một tín hiệu tương tự nên khi làm việc với Arduino chúng ta sử dụng hàm analogRead(). Khi Arduino làm việc nó sẽ trả tín hiệu tương tự này về giá trị từ 0-1023 tùy thuộc vào điện áp từ 0-5V(5000mV). Điện áp thực tế sẽ là điện áp mà Arduino đọc được sau đó nhân với (5000/1024). Sau đó chúng ta phải trừ đi điện áp bù 400 và chia cho 10 sẽ ra kết quả là độ C. Bây giờ chúng ta cùng ráp vào mạch nhé!

III. Ráp mạch nào

IV. Lập trình

#define SENSOR_PIN A0


float voltage = 0; // Thiết lập một số giá trị ban đầu

float sensor = 0;

float celsius = 0;

float fahrenheit = 0;

void setup() {
	Serial.begin(9600);   // Bật serial monitor
}


void loop()

{              // Bắt đầu đo

	sensor = analogRead(SENSOR_PIN);
	
	voltage = (sensor*5000)/1024; // Chuyển đổi tín hiệu cảm biến sang mili Volt
	
	voltage = voltage-400;        // Trừ đi điện áp bù
	
	celsius = voltage/10;         // Chuyển đổi mV sang độ C
	
	fahrenheit = ((celsius * 1.8)+32); // Đổi độ C sang độ F
	
	Serial.print("Nhiet do: ");
	
	Serial.print(celsius,2);
	
	Serial.println(" do C");
	
	Serial.print("Nhiet do: ");
	
	Serial.print(fahrenheit,2);
	
	Serial.println(" do F");
	
	Serial.println("____");
	
	delay (1000); // delay 1s để khổi trôi dư liệu
}

V. Lời kết

Chúc các bạn thành công!

Những hình ảnh về dự án: 
Bài viết truyền cảm hứng: 
lên
10 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Breadboard là gì? Vì sao khi dùng Arduino lại cần breadboard

Lúc mình mới học về Arduino thì ngoài khái niệm về Arduino, thì mình còn gặp thêm một khái niệm mới nữa là breadboard. Khái niệm này cũng không quá khó, nhưng để giúp các bạn mới học đỡ phải tìm kiếm google (yêu hàng Việt) nên mình xin mạn phép viết ngắn lại giúp các bạn mới tiếp cận với Arduino có thể rút ngắn thời gian tìm tòi?

lên
27 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 

Giới thiệu về các loại hộp số (bộ giảm tốc) chúng ta thường dùng khi làm xe mô hình với Arduino

Là một người yêu thích chế tạo xe, vì vậy mình mong muốn truyền cảm hứng cho các bạn yêu thích Arduino có thể tự làm cho mình một chiếc xe điều khiển từ xa. Tuy nhiên, khi mình triển khai hướng dẫn thì có nhiều bạn hỏi về các loại hộp số dùng cho xe mô hình. Vì vậy, hôm nay, mình sẽ tổng hợp các loại hộp số thường dùng trong xe mô hình điều khiển từ xa.

lên
21 thành viên đã đánh giá bài viết này hữu ích.