Arduino là nền tảng vi điều khiển mã nguồn mở, được ưa chuộng bởi sự linh hoạt, dễ sử dụng và giá thành hợp lý. Một trong những ứng dụng nổi bật của cảm biến nhiệt độ Arduino là đo nhiệt độ, đáp ứng nhu cầu đo lường chính xác và hiệu quả trong nhiều lĩnh vực. Arduino có thể làm việc với nhiều loại cảm biến nhiệt độ khác nhau, giúp nó trở thành một giải pháp đa năng và hiệu quả để đo nhiệt độ trong nhiều lĩnh vực khác nhau. Tuy nhiên, việc lựa chọn loại cảm biến phù hợp sẽ phụ thuộc vào yêu cầu cụ thể của dự án. Bài viết dưới đây mình sẽ giới thiệu cho các bạn 1 vài ví dụ về Arduino kết nối với cảm biến nhiệt độ.
Tóm Tắt Nội Dung
I. Cảm biến DHT11 Arduino
Liệu các bạn đã biết cảm biến nhiệt độ DHT11 là một cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua chuẩn giao tiếp kỹ thuật số.
![](https://thietbidoluong.info/wp-content/uploads/2024/05/Slide1-2.jpg)
Dưới đây là một số thông tin kỹ thuật về cảm biến DHT11:
Điện áp hoạt động: 3V – 5,5VDC
Dòng điện tiêu thụ: 2.5mA
Phạm vi cảm biến độ ẩm: 20% – 90% RH, sai số ±5%RH
Phạm vi cảm biến nhiệt độ: 0°C ~ 50°C, sai số ±2°C
Tần số lấy mẫu tối đa: 1Hz (1 giây 1 lần)
Kích thước: 23 * 12 * 5 mm
Cảm biến này có thể được sử dụng với Arduino Uno để đọc nhiệt độ và độ ẩm. Bạn có thể tải xuống và cài đặt thư viện hỗ trợ sử dụng DHT11 trong phần mềm Arduino.
1.1 Kết nối cảm biến DHT11 với Arduino
Kết nối chân VCC của DHT11 với chân 5V trên Arduino.
Kết nối chân GND của DHT11 với chân GND trên Arduino.
Kết nối chân OUT/DATA của DHT11 với chân 2 trên Arduino.
![](https://thietbidoluong.info/wp-content/uploads/2024/05/Slide2-1.jpg)
1.2 Đọc dữ liệu từ cảm biến DHT11:
Sử dụng thư viện DHT.h trong Arduino để đọc dữ liệu từ cảm biến.
Sử dụng hàm dht.readHumidity() để đọc giá trị độ ẩm từ cảm biến.
Sử dụng hàm dht.readTemperature() để đọc giá trị nhiệt độ từ cảm biến.
Hiển thị dữ liệu trên màn hình LCD:
Sử dụng thư viện LiquidCrystal_I2C.h để điều khiển màn hình LCD qua giao tiếp I2C.
Sử dụng hàm lcd.print() để in giá trị độ ẩm và nhiệt độ lên màn hình LCD.
Bạn có thể tham khảo thêm các video hướng dẫn sử dụng cảm biến DHT11 với Arduino.
Chèn video: https://www.youtube.com/watch?v=m121jV4dgxU&t=4s
1.3 Ứng dụng
Dưới đây là một số ứng dụng của Cảm biến nhiệt độ và độ ẩm tương đối DHT11 có thể được sử dụng trong nhiều môi trường khác nhau, các bạn cùng điểm sơ qua nhé:
- Hệ thống HVAC (sưởi ấm, thông gió và điều hòa không khí)
- Trạm thời tiết
- Thiết bị y tế để đo độ ẩm
- Hệ thống tự động hóa gia đình
- Ô tô và các ứng dụng kiểm soát thời tiết khác
II. Cảm biến nhiệt độ LM35
Cảm biến nhiệt độ LM35 có thể được sử dụng chủ yếu với vi điều khiển như Arduino hoặc Raspberry để đo nhiệt độ và thực hiện các hành động tương ứng. LM35 là một cảm biến nhiệt độ analog, hoạt động chính xác, sai số nhỏ, kích thước gọn nhẹ, có giá thành hợp lý. Điện áp đầu ra của cảm biến LM35 thay đổi theo nhiệt độ, cứ 10mV tương ứng với 1 độ C.
![](https://thietbidoluong.info/wp-content/uploads/2024/05/Slide3.jpg)
Điện áp hoạt động: 4 V to 30 VDC
Dòng điện tiêu thụ: 10mA
Phạm vi cảm biến nhiệt độ: −55°C to 150°C, sai số ±1°C
Tần số lấy mẫu tối đa: 1Hz (1 giây 1 lần)
Kích thước: 15 * 11 * 5 mm
2.1 Kết nối cảm biến LM35 với Arduino:
Kết nối chân Vcc của LM35 với chân 5V trên Arduino.
Kết nối chân GND của LM35 với chân GND trên Arduino.
Kết nối chân Vout của LM35 với chân A0 (hoặc chân analog khác) của Arduino.
![](https://thietbidoluong.info/wp-content/uploads/2024/05/Slide4.jpg)
2.2 Đọc dữ liệu từ cảm biến LM35:
Arduino đọc điện áp đầu ra của cảm biến nhiệt độ bằng cách sử dụng chân Analog A0 và thực hiện phép tính để chuyển đổi giá trị Analog này thành giá trị số của nhiệt độ hiện tại.
Đây là công thức tính nhiệt độ từ giá trị đọc được:
![](https://thietbidoluong.info/wp-content/uploads/2024/05/Presentation1-1.jpg)
Sử dụng hàm analogRead(A0) để đọc dữ liệu tín hiệu của LM35
Hiển thị dữ liệu trên màn hình LCD:
Sử dụng thư viện LiquidCrystal_I2C.h để điều khiển màn hình LCD qua giao tiếp I2C.
Sử dụng hàm lcd.print() để in giá trị độ ẩm và nhiệt độ lên màn hình LCD.
Tham khảo thêm hướng dẫn sử dụng cảm biến LM35
Chèn video hướng dẫn sử dụng: https://www.youtube.com/watch?v=yTcaWBZxF9w&t=2s
III. Cảm biến DS18B20 là gì?
Vậy các bạn đã nghe đến cảm biến nhiệt độ DS18B20 chưa? Nếu chưa thì sẵn tiện đây Hưng Phát cũng giới thiệu luôn cảm biến ds18b20 là một cảm biến nhiệt độ số phổ biến được sử dụng với Arduino.
![](https://thietbidoluong.info/wp-content/uploads/2024/05/Slide5-1.jpg)
Dưới đây là một số thông tin về cảm biến này:
- Nguồn cấp: từ 3V đến 5.5V.
- Dải đo nhiệt độ: -55°C đến +125°C.
- Sai số: ±0.5°C khi đo ở dải -10 – 85°C.
- Tần số lấy mẫu tối đa: 750ms
- Độ phân giải: người dùng có thể chọn từ 9 – 12 bits.
- Chuẩn giao tiếp: 1-Wire (1 dây). Có thể đọc nhiều cảm biến DS18B20 trên cùng một dây.
3.1 Kết nối cảm biến ds18b20 với Arduino
Cảm biến DS18B20 là lựa chọn phổ biến cho việc đo nhiệt độ với Arduino bởi độ chính xác cao. Bài viết này Hưng Phát sẽ hướng dẫn bạn cách kết nối DS18B20 với Arduino để bắt đầu hành trình khám phá thế giới nhiệt độ.
![](https://thietbidoluong.info/wp-content/uploads/2024/05/Slide6.jpg)
Kết nối chân VDD của DS18B20 với chân 5V trên Arduino.
Kết nối chân GND của DS18B20 với chân GND trên Arduino.
Kết nối chân DQ của DS18B20 với chân Digital của Arduino (ví dụ: chân 2).
3.2 Đọc dữ liệu từ cảm biến DS18B20
Sử dụng thư viện OneWire và DallasTemperature trong Arduino để đọc dữ liệu từ cảm biến.
Sử dụng hàm sensors.getTempCByIndex(0) để đọc giá trị nhiệt độ từ cảm biến.
Hiển thị dữ liệu trên màn hình LCD:
Sử dụng thư viện LiquidCrystal_I2C.h để điều khiển màn hình LCD qua giao tiếp I2C.
Sử dụng hàm lcd.print() để in giá trị độ ẩm và nhiệt độ lên màn hình LCD.
3.3 Cảm biến DS18B20 – giao tiếp one wire
Kết nối cảm biến: Chân GND và VCC của tất cả các cảm biến DS18B20 được kết nối với nguồn cấp. Chân DQ (Data) của tất cả các cảm biến được kết nối lại với nhau trên cùng một dây.
Gán địa chỉ duy nhất cho từng cảm biến: Mỗi cảm biến DS18B20 được gán một địa chỉ duy nhất. Trong quá trình khởi động, sử dụng lệnh tìm thiết bị (search devices) để phát hiện và gán địa chỉ cho từng cảm biến. Mỗi cảm biến có một địa chỉ 64-bit dài.
Đọc nhiệt độ từ các cảm biến: Sau khi gán địa chỉ cho từng cảm biến, để đọc nhiệt độ từng cảm biến bằng cách gửi các lệnh đúng thông qua giao tiếp 1-wire. Mỗi cảm biến sẽ trả về giá trị nhiệt độ của nó
Kết luận
Arduino là một nền tảng phát triển mã nguồn mở dựa trên phần cứng và phần mềm dễ sử dụng. Nó có thể đọc các tín hiệu từ nhiều loại cảm biến khác nhau và chuyển đổi chúng thành dữ liệu số. Dưới đây là vai trò của các cảm biến nhiệt độ mình đã giới thiệu ở trên:
Cảm biến nhiệt độ và độ ẩm DHT11 | Cảm biến nhiệt độ LM35 | Cảm biến nhiệt độ DS18B20 |
Arduino có thể đọc giá trị nhiệt độ và độ ẩm từ cảm biến DHT11 và sau đó xử lý hoặc hiển thị chúng. Cảm biến đọc chuỗi số nhị phân có giá thành rẻ và dễ sử dụng | Arduino có thể đọc giá trị nhiệt độ từ cảm biến LM35 và sau đó xử lý hoặc hiển thị chúng. LM35 là một cảm biến nhiệt độ analog, hoạt động chính xác, sai số nhỏ, kích thước gọn nhẹ, có giá thành hợp lý. | Arduino có thể đọc giá trị nhiệt độ từ cảm biến DS18B20 và sau đó xử lý hoặc hiển thị chúng. DS18B20 là một cảm biến số digital có độ chính xác cao và dễ sử dụng để đo nhiệt độ. |
Như vậy, cảm biến nhiệt độ Arduino có vai trò quan trọng trong việc đọc và xử lý dữ liệu từ các cảm biến nhiệt độ và độ ẩm. Nó giúp chúng ta có thể đo được các thông số môi trường và từ đó có thể điều khiển các thiết bị khác dựa trên các giá trị đo được. Hy vọng thông tin trong bài viết này sẽ mang lại những hữu ích cho bạn!
Bài viết liên quan
Đảm Bảo An Toàn Điện Trong Những Ngày Mưa Bão
Đã bao giờ các bạn cảm thấy lo lắng khi mỗi mùa mưa bão kéo về chưa? Mùa mưa bão luôn tiềm ẩn nhiều nguy cơ thiệt hại nghiêm trọng do các sự cố liên quan đến điện. Các hiện tượng như sét đánh; đường dây điện đứt; hay hệ thống điện quá tải có […]
Bộ hiển thị 4-20mA 0-10V là gì? Những điều bạn cần biết
Bạn đã hiểu rõ tầm quan trọng của các bộ hiển thị chưa? Bộ hiển thị tín hiệu 4-20mA và 0-10V đóng vai trò then chốt trong ngành công nghiệp hiện nay; nhờ khả năng giám sát và điều khiển chính xác các quy trình sản xuất. Chúng không chỉ giúp hệ thống vận hành […]
Modbus: Giao Thức Truyền Thông Hiệu Quả và Phổ Biến
Modbus là một giao thức truyền thông đơn giản; dễ sử dụng và được thiết kế đặc biệt cho các ứng dụng trong môi trường công nghiệp. Với cấu trúc tin nhắn rõ ràng và dễ hiểu; Modbus đã trở thành lựa chọn hàng đầu cho nhiều kỹ sư và nhà phát triển. Hãy cùng […]