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

Shortcut02 - Điều khiển Servo từ xa thông qua biến trở

Đây là loạt bài vắn tắt chia sẻ kinh nghiệm giúp các bạn có thể sử dụng các mudule cũng như tiếp cận code một cách ngắn gọn và dễ hiểu hơn smiley

Mục đích bài viết: Hướng dẫn điều khiển một Servo trong các dự án robot từ xa thông qua module NRF24 bằng biến trở cool

lên
14 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Hướng dẫn điều khiển stepper 28BYJ-48 bằng mạch điều khiển động cơ bước ULN2003

Động cơ bước 28BYJ-48 có đến 5 dây chứ không phải thuộc loại 4 dây hoặc 6 dây như ta thường thấy. Nhưng thật may mắn, chúng ta lại có board điều khiển động cơ bước ULN2003 với 5 giây vừa khít với con động cơ bước này luôn. Vì vậy, bộ động cơ bước + stepper driver này thường được dùng trong các dự án DIY. Hôm nay, mình sẽ chỉ các bạn cách sử dụng thư viện để sử dụng bộ combo này cho dễ nhé.

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

Làm thế nào để điều khiển LED RGB - Led 3 màu

Cũng đã khá lâu kể từ lần cuối mình viết bài chia sẻ với Cộng đồng Arduino Việt Nam. Mấy hôm nay, mình có một dự án liên quan đến LED RGB (Led 3 màu - led có thể biểu diễn tất cả các màu), mà tìm tài liệu trên Cộng đồng Arduino lại không có, vì vậy, mình sẽ viết một bài viết để chia sẻ cho các bạn đi sau.

Mục tiêu mà mình hướng đến và muốn chia sẻ trong bài viết này đó là giới thiệu về LED RGB và chỉ các bạn điều khiển 1 con LED RGB. Còn muốn điều khiển nhiều con LED RGB thì cần nhiều đồ hơn và phức tạp hơn nên mình xin nhường lại vấn đề này cho các bạn tìm hiểu thêm và chia sẻ cho cộng đồng.

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