TỔNG QUAN VỀ ĐÈ TÀI
Yêu cầu và kết cấu đồ án
DS18B20 là IC cảm biến nhiệt độ, chỉ bao gồm 3 chân,hình ảnh thức tế như hình dưới.
Hình 2 2: Sơ đồ chân cảm biến DS18B20.
Các đặc điểm kỹ thuật của cảm biến DS18B20 có thể kể ra một cách tóm tắt như sau:
Sử dụng giao diện một dây nên chỉ cần có một chân ra để truyền thông.
Độ phân giải khi đo nhiệt độ từ 9 bit tới 12bit Dải đo nhiệt độ -55°C đến 125°C, từng bậc 0.5°C, có thể đạt độ chính xác đến 0.1°C
CƠ SỞ LÝ THUYẾT
Giới thiệu về cảm biến nhiệt độ DS18B20
DS18B20 là IC cảm biến nhiệt độ, chỉ bao gồm 3 chân,hình ảnh thức tế như hình dưới.
Hình 2 2: Sơ đồ chân cảm biến DS18B20.
Các đặc điểm kỹ thuật của cảm biến DS18B20 có thể kể ra một cách tóm tắt như sau:
Sử dụng giao diện một dây nên chỉ cần có một chân ra để truyền thông.
Độ phân giải đo nhiệt độ từ 9 bit đến 12 bit, với dải đo từ -55°C đến 125°C, cho phép đo từng bậc 0.5°C Nhờ vào việc hiệu chỉnh qua phần mềm, độ chính xác có thể đạt tới 0.1°C.
Các ứng dụng đo lường đa điểm rất hiệu quả khi sử dụng nhiều đầu đo kết nối trên một bus, được gọi là bus một dây (1-wire).
Không cần thêm linh kiện bên ngoài.
Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng, từ 3.0 V đến 5.5 V DC và có thể được cấp thông qua đường dẫn dữ liệu.
Dòng tiêu thụ tại chế độ nghỉ cực nhỏ.
Thời gian lấy mẫu và biến đổi ra digital 12 bit không lớn quá 750ms.
Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa trong bộ nhớ ROM trên chip (on chip), giá trị nhị phân được khắc bằng tia laze.
Sơ đồ khối bên trong của cảm biến:
Hình 2 3: Sơ đồ khối DS18B20.
2.1.3 Giao tiếp với DS18B20 Đầu đo nhiệt độ số DS18B20 đưa ra số liệu để biểu thị nhiệt độ đo được dưới dạng mã nhị phân 12 bit Các thông tin được gửi đến và nhận về từ DS18B20 trên giao diện 1-wire, do đó chỉ cần hai đường dẫn gồm một đường cho tín hiệu và một đường làm dây GND là đủ để kết nối vi điều khiển đến điểm đo Nguồn nuôi cho các thao tác ghi/đọc/chuyển đổi có thể được trích từ đường tín hiệu, không cần có thêm đường dây riêng để cấp điện áp nguồn.
Vi mạch đo nhiệt độ DS18B20 sở hữu mã số định danh duy nhất, được khắc bằng laser trong quá trình sản xuất, cho phép nhiều vi mạch cùng kết nối vào một bus 1-wire mà không bị nhầm lẫn Đặc điểm này giúp việc lắp đặt nhiều cảm biến nhiệt độ tại các vị trí khác nhau trở nên dễ dàng và tiết kiệm chi phí, với số lượng cảm biến nối vào bus không bị giới hạn.
Mỗi cảm biến nhiệt độ DS18B20 có một dãy mã 64 bit duy nhất được lưu trữ trong bộ nhớ ROM từ khi sản xuất bằng kỹ thuật laze.
Cấu trúc vùng nhớ mã ROM 64 bit của DS18B20:
Hình 2 4: Cấu trúc vùng nhớ mã ROM của DS18B20
Như vậy dãy mã được chia ra thành 3 nhóm, trong đó:
Tám bit đầu tiên là mã định danh họ một dây, mã của DS18B20 là 28h.
48 bit tiếp theo là mã số xuất xưởng duy nhất, nghĩa là mỗi cảm biến DS1820 chỉ có một số mã.
Byte mã kiểm tra CRC (cyclic redundancy check) có tám bit, được tính toán từ 56 bit đầu tiên của dãy mã trên ROM Để truy cập cảm biến một dây DS18B20, cần sử dụng hai nhóm lệnh: lệnh ROM và lệnh chức năng (function commands) trong bộ nhớ.
Sơ đồ vùng nhớ DS18B20:
Hình 2 5: Cấu trúc vùng nhớ DS18B20
Việc đo nhiệt độ của cảm biến DS18B20 diễn ra qua từng lần lấy mẫu, mỗi lần được phân tách bởi tín hiệu reset và pulse hiện diện Tín hiệu reset đóng vai trò khởi động lại quá trình đo nhiệt độ, trong khi pulse hiện diện thông báo cho vi điều khiển (VDK) rằng cảm biến DS18B20 đang hoạt động.
Các bước của 1 lần lấy mẫu:
Khởi tạo xung reset và nhận tín hiệu hiện diện từ DS18B20.
Gửi các lệnh chức năng bộ nhớ.
Lưu đồ lệnh ROM DS18B20 được trình bày bên dưới:
Hình 2 6: Lưu đồ lệnh ROM
Lưu đồ lệnh chức năng DS18B20 được trình bày bên dưới:
Hình 2 7: Lưu đồ lệnh chức năng DS18B20
Hình 2 8: Khe thời gian khởi tạo
Giản đồ khe thời gian đọc viết:
Hình 2 9: Khe thời gian đọc,viết
Arduino Uno R3
Arduino là một bo mạch vi xử lý cho phép lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ và đèn Điểm nổi bật của Arduino là môi trường phát triển dễ sử dụng và ngôn ngữ lập trình dễ học, phù hợp cho cả những người không có nhiều kiến thức về điện tử Hiện tượng Arduino được thúc đẩy bởi mức giá thấp và tính chất nguồn mở của cả phần cứng và phần mềm.
2.2.2 Một vài thông số của Arduino Uno R3
Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
Bảng 2 1: Một vài thông số của Arduino UNO
Arduino UNO sử dụng ba vi điều khiển 8 bit AVR là ATmega8, ATmega168 và ATmega328, cho phép thực hiện các tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lý tín hiệu cho xe điều khiển từ xa, và xây dựng trạm đo nhiệt độ - độ ẩm với hiển thị trên màn hình LCD.
Arduino UNO có thể được cấp nguồn 5V qua cổng USB hoặc nguồn ngoài với điện áp khuyên dùng từ 7-12V DC và giới hạn từ 6-20V Sử dụng pin vuông 9V là lựa chọn hợp lý khi không có nguồn từ cổng USB Việc cấp nguồn vượt quá giới hạn này có thể gây hỏng hóc cho Arduino UNO.
ND (Ground) là cực âm của nguồn điện cung cấp cho Arduino UNO Khi sử dụng các thiết bị với nguồn điện riêng biệt, cần phải kết nối các chân này với nhau để đảm bảo hoạt động ổn định.
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA.
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND.
IOREF là chân trên Arduino UNO cho phép đo điện áp hoạt động của vi điều khiển, luôn duy trì ở mức 5V Tuy nhiên, bạn không nên sử dụng nguồn 5V từ chân này vì chức năng của nó không phải là cung cấp nguồn điện.
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ. Lưu ý:
Arduino UNO không được trang bị chức năng bảo vệ khi cắm ngược nguồn, vì vậy cần kiểm tra kỹ các cực âm và dương trước khi cấp nguồn Nếu xảy ra chập mạch, Arduino UNO có thể hỏng hóc và trở thành một món đồ vô dụng Do đó, nên ưu tiên sử dụng nguồn từ cổng USB khi có thể.
Các chân 3.3V và 5V trên Arduino được sử dụng để cung cấp nguồn cho các thiết bị khác, không phải là nguồn vào Việc cấp nguồn sai vị trí có thể gây hỏng board, và điều này không được nhà sản xuất khuyến khích.
Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thể làm hỏng board.
Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển ATmega328.
Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.
Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm hỏng vi điều khiển.
Cường độ dòng điện tối đa cho phép qua chân Digital hoặc Analog của Arduino UNO là 40mA; vượt quá mức này sẽ gây hư hỏng cho vi điều khiển Vì vậy, khi không sử dụng để truyền nhận dữ liệu, cần phải mắc một điện trở hạn dòng để bảo vệ thiết bị.
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
Vi điều khiển có 32KB bộ nhớ Flash để lưu trữ các đoạn lệnh lập trình Thông thường, một phần nhỏ trong số này, khoảng vài KB, sẽ được sử dụng cho bootloader Tuy nhiên, bạn không cần lo lắng vì hiếm khi bạn cần hơn 20KB bộ nhớ này.
SRAM (Static Random Access Memory) có dung lượng 2KB, nơi lưu trữ giá trị của các biến được khai báo trong lập trình Số lượng biến càng nhiều thì yêu cầu về bộ nhớ RAM càng lớn Tuy nhiên, bộ nhớ RAM thường không phải là mối bận tâm lớn trong quá trình lập trình Cần lưu ý rằng dữ liệu trên SRAM sẽ bị mất khi mất điện.
EEPROM (Bộ nhớ chỉ đọc có thể lập trình và xóa điện tử) có dung lượng 1Kb, hoạt động như một ổ cứng mini, cho phép bạn đọc và ghi dữ liệu mà không lo mất mát khi mất điện, khác với dữ liệu trên SRAM.
Hình 2 12: Các cổng vào ra
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có
Vi điều khiển ATmega328 có hai mức điện áp là 0V và 5V, với dòng vào/ra tối đa trên mỗi chân là 40mA Mỗi chân đều được trang bị các điện trở pull-up từ, tuy nhiên, các điện trở này không được kết nối mặc định.
Một số chân digital có các chức năng đặc biệt như sau:
Chân Serial 0 (RX) và 1 (TX) trên Arduino Uno được sử dụng để gửi và nhận dữ liệu TTL Serial, cho phép giao tiếp với các thiết bị khác Kết nối Bluetooth thường được xem là một dạng kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn nên tránh sử dụng hai chân này để tiết kiệm tài nguyên.
Chân PWM (3, 5, 6, 9, 10, và 11) cho phép xuất xung PWM với độ phân giải 8 bit, tương ứng với giá trị từ 0 đến 255, giúp điều chỉnh điện áp ra từ 0V đến 5V bằng hàm analogWrite() Điều này mang lại khả năng linh hoạt trong việc kiểm soát điện áp, khác với các chân khác chỉ có mức điện áp cố định 0V và 5V.
Chân giao tiếp SPI gồm các chân 10 (SS), 11 (MOSI), 12 (MISO) và 13 (SCK) Ngoài việc thực hiện các chức năng thông thường, bốn chân này còn được sử dụng để truyền phát dữ liệu qua giao thức SPI với các thiết bị khác.
Led ma trận
2.3.1 Giới thiệu về led ma trận
Ma trận LED được cấu tạo từ các LED đơn được sắp xếp theo hàng và cột Các LED trong cùng một hàng được nối chung anode (cathode), trong khi các LED trong cùng một cột được nối chung cathode (anode) Để kích hoạt các LED, cần cấp nguồn với mức cao cho hàng và mức thấp cho cột, hoặc ngược lại.
Hình 2 14: Sơ đồ cấu tạo led ma trận
2.3.2 Hiển thị với IC MAX7219
Bảng Led Matrix 8x8 gồm 64 đèn LED được sắp xếp thành 8 hàng và 8 cột Việc điều khiển trực tiếp từng đèn LED bằng Arduino là không khả thi, do đó, IC MAX7219 đã được phát triển để cho phép điều khiển nhiều đèn LED chỉ với 5 chân kết nối.
IC MAX7219, được thiết kế và sản xuất bởi hãng MAXIM, là giải pháp lý tưởng để điều khiển LED ma trận và LED 7 thanh, với khả năng điều khiển LED ma trận 8x8 hoặc LED 7 thanh 8 chữ số chỉ với một điện trở hạn dòng cho tất cả các LED Khác với các IC khác thường yêu cầu một điện trở cho mỗi LED, MAX7219 tích hợp sẵn bộ giải mã BCD, mạch quét dồn kênh và thanh ghi dịch, giúp đơn giản hóa quá trình thiết kế và tiết kiệm chi phí.
Để điều khiển LED ma trận, chúng ta sử dụng MAX7219, hoạt động như một thanh ghi dịch cho phép nhập dữ liệu theo từng bit MAX7219 hỗ trợ nhập tối đa 16 bit cùng lúc và chỉ cần 3 chân kết nối từ Arduino đến các chân DIN, LOAD và CLK của IC.
Sơ đồ chân của MAX7219 được mô tả như hình dưới:
Chân LOAD được kéo xuống LOW, và bit đầu tiên của dữ liệu được đưa vào chân DIN Vào sườn lên của xung CLK, các bit tại chân DIN được ghi vào thanh ghi bên trong chip Sau đó, xung CLK xuống LOW và các bit tiếp theo được thiết lập tại chân DIN trước khi lặp lại quá trình Khi 16 bit đã được đưa vào thanh ghi, chân
LOAD được thiết lập ở mức HIGH để thực hiện việc chốt dữ liệu Chân DOUT (24) sẽ được sử dụng khi có từ 2 chip MAX7219 trở lên, với DOUT của chip đầu tiên kết nối với DIN của chip thứ hai và tiếp tục như vậy Dữ liệu được truyền ra từ chân DOUT trong quá trình sườn xuống của xung CLK.
THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG
Tìm hiểu về đề tài
3.1.1 Nhiệm vụ đặt ra Điều khiển quạt DC và đèn AC Nếu nhiệt độ đặt lớn hơn nhiệt độ đo thì mở đèn và tắt quạt Ngược lại, nếu nhiệt độ đặt nhỏ hơn nhiệt độ đo thì vi điều khiển kích Relay tắt đèn và mở quạt làm mát.
Hiển thị nhiệt độ đặt và nhiệt độ đo trên led ma tận
Các cơ cấu thi hành phải hoạt động ổn định khi nhiệt độ đo dao động quanh nhiệt độ chuẩn (nhiệt độ đặt).
Dùng đèn AC để tăng nhiệt độ và quạt DC để giảm nhiệt độ Hiển thị nhiệt độ bằng module led ma trận 8x32 sử dụng IC MAX7219.
Dùng 2 nút nhấn để nhập nhiệt độ chuẩn (nhiệt độ đặt) và bắt đầu xử lý.
Dùng phần mềm Arduino IDE để viết chương trình
Nguyên lý hoạt động của các khối
3.2.1 Khối cảm biến Để đọc nhiệt độ từ cảm biến DS18B20, chúng ta cần sử dụng các thư viện hỗ trợ sau:
Sơ đồ kết nối chân với Arduino:
Khối hiển thị nhiệt độ Điều khiển quạt DC Điều khiển đèn AC
Bảng 3 1: Sơ đồ kết nối chân DS18B20 với Arduino
Sơ đồ kết nối dây:
Hình 3 2: Kết nối DS18B20 với Arduino
Nguyên lý hoạt động của cảm biến DS18B20:
+ 4 bit thấp là phần lẻ sau dấu phẩy: Bít 0, bít 1, bít 2, bít 3
+ 7 bit tiếp theo là phần nguyên: Bit 4, bít 5, bít 6, bít 7, bít 8, bít 9, bít
+ 5 bít cao nhất là dấu của nhiệt độ (0 = “+”; 1 = “-”).
+ Dữ liệu đến và đi khỏi DS18B20 đều truyền từ bit LSB đầu tiên và cuối cùng là bit MSB (từ phải sang trái)
Cách đọc nhiệt độ của DS18B20:
Nhiệt độ đọc về dạng hex nên ta phải đổi ra thập phân khi hiển thị Giả sử ta đọc được 2 byte nhiệt độ:
Bước 1: So sánh bit MSB, nếu= 0 thì in ra dấu “+” rồi nhảy sang bước 3 Nếu
= 1 thì in ra dấu “-” rồi tiếp tục đến bước 2
Bước 2: Chuyển 2 byte vừa nhận được sang dạng bù 2 của chính nó
Bước 3: Chuyển 7 bit phần nguyên vào thanh ghi A và in ra giá trị thanh ghi nàydưới dạng thập phân (chính là in ra 3 số phần nguyên của nhiệt độ)
Bước 5: In ra 4 số sau dấu “,” dạng thập phân (4 bít thấp nhất).
3.2.2 Khối hiển thị nhiệt độ Để hiển thị hình ảnh lên led ma trận ta sử dụng module 4 led ma trận với IC MAX7219
Hiển thị Module led ma trận thông qua Arduino, chúng ta cần sử dụng các thư viện sau:
Thư viện MD_MAX72xx.h
Sơ đồ kết nối với Arduino:
MODULE LED MA TRẬN ARDUINO
Bảng 3 2: Sơ đồ kết nối chân Led ma trận với Arduino
Nguyên lý hoạt động của IC MAX7219 với led ma trận:
Hệ thống sử dụng 64 đèn LED được điều khiển bởi 16 chân đầu ra của IC, cho phép tối đa tám đèn LED sáng lên cùng lúc Các đèn LED được bố trí theo dạng ma trận 8 × 8 với hàng và cột IC MAX7219 kích hoạt từng cột trong thời gian ngắn và đồng thời điều khiển các hàng, nhờ đó tạo ra hiệu ứng ánh sáng liên tục mà mắt người có thể nhận thấy.
Hình 3 3: Sơ đồ kết nối giữa MAX7219 với led ma trận
Khi tự xây dựng ma trận LED 8 × 8, bạn cần lưu ý rằng các chân của nó được sắp xếp bên trong Ngoài ra, bảng ngắt phổ biến cho MAX7219 đi kèm với một điện trở giữa 5V và chân IC 18, điện trở này được sử dụng để điều chỉnh độ sáng hoặc dòng điện cho đèn LED.
Hình 3 4: Điện trở điều chỉnh dòng điện
Dưới đây là bảng dữ liệu từ IC, cung cấp giá trị điện trở phù hợp với mức giảm điện áp chuyển tiếp của đèn LED mà chúng ta nên sử dụng.
Hình 3 5: Phân đoạn dòng điện so với bảng giảm điện áp chuyển tiếp từ dữ liệu
Sơ đồ kết nối dây giữa module với Arduino:
Hình 3 6: Kết nối dây giữa module led ma trận với Arduino
Sơ đồ kết nối dây với Arduino:
Hình 3 7: Kết nối nút nhấn với Arduino
Sơ đồ kết nối chân :
Bảng 3 3: Sơ đồ kết nối nút nhấn với Arduino
Sử dụng hai nút nhấn (Button1 và Button2) để điều chỉnh và nhập nhiệt độ đặt, khối hiển thị sẽ khởi động với nhiệt độ 29℃ Nhấn Button1 để tăng nhiệt độ từng độ một, trong khi nhấn Button2 sẽ giảm nhiệt độ Tín hiệu từ các nút nhấn sẽ được truyền về Arduino để bắt đầu xử lý đèn.
Sơ đồ kết nối với Arduino:
Hình 3 8: Kết nối điều khiển đèn với Arduino
Hình 3 9: Kết nối điều khiển quạt với Arduino
Sơ đồ nối kết nối chân:
Bảng 3 4: Sơ đồ kết nối relay với Arduino
Sử dụng module relay 5V để điều khiển nguồn AC, bóng đèn được kết nối với tiếp điểm NC (thường đóng) của relay Khi nhiệt độ cảm biến vượt quá giá trị cài đặt, Arduino sẽ gửi tín hiệu để đóng relay, làm cho bóng đèn sáng và tăng nhiệt độ Khi nhiệt độ thực tế vượt quá giá trị cài đặt, relay sẽ được ngắt, tắt đèn.
Thông số nguồn điện của các linh thiết bị
TÊN THIẾT BỊ SỐ LƯỢNG DÒNG ĐIỆN ÁP
Bảng 3 5: Thông số thiết bị
Các thiết bị sử dụng nguồn 5V có thể dùng chung nguồn nuôi từ Arduino, được cấp qua Adapter Trong khi đó, quạt cần nguồn 12VDC và đèn sử dụng nguồn 220VAC.
Phần mềm và giải thuật
#define ONE_WIRE_BUS 2 //Sensor DS18B20 am digitalen Pin 2 OneWire oneWire(ONE_WIRE_BUS); // tạo giao tiếp 1 dây
DallasTemperature sensors(&oneWire);// đưa giao tiếp vào cảm biến int settemp); const uint16_t WAIT_TIME = 800; float nhietdo;
#define coi 6 const int buttonup =3; const int buttondown =4; int currentbuttonstate = 0; int previousbuttonstate=0 ; int currentbuttonstate1 =0; int previousbuttonstate1=0 ;
MD_Parola P = MD_Parola(CS_PIN, MAX_DEVICES); void setup(void)
P.begin(); pinMode(buttonup,INPUT_PULLUP); pinMode(buttondown,INPUT_PULLUP); pinMode(role1,OUTPUT); pinMode(role2,OUTPUT);
} void displaymatrix(){ sensors.requestTemperatures();// yêu cầu cảm biến đọc nhiệt độ nhietdo=sensors.getTempCByIndex(0);// lấy nhiệt độ trên cảm biến
The function `setbuttonup()` checks the current state of the button using `digitalRead(buttonup)` If the current state differs from the previous state, indicating a change, and the button is pressed (current state is HIGH), it increments the temperature setting by 1 and calls the `settempup()` function.
The function `setbuttondown()` checks the current state of a button by reading its digital input If the current state differs from the previous state and the button is pressed (indicated by a HIGH signal), the temperature setting is decreased by one unit through the `settempdown()` function.
P.print("Set:"+String(settemp)); delay(WAIT_TIME);
P.print("Set:"+String(settemp)); delay(WAIT_TIME);
} void setheater1(){ if ((settemp) > (nhietdo + 0.5 ) ) { // nếu nhiệt độ đặt lớn hơn nhiệt độ hiện tại thì bật đèn, tắt quạt digitalWrite(role1, LOW); digitalWrite(role2, HIGH);
} else if ((settemp) T hiện tại Đọc nhiệt độ từ cảm biến
Bật đèn AC và tắt quạt
Tắt đèn và mở quạt làm mát
ĐÁNH GIÁ VÀ KẾT LUẬN
Kết quả thực nghiệm
- Hệ thống điều khiển tương đối ổn định, đáp ứng được yêu cầu của đề tài.
- Hiển thị được nhiệt độ trên led ma trận
- Cảm biến đọc nhiệt độ tương đối chính xác.
Hình ảnh mô hình hoàn tất:
Hình 4 1: Mô hình điều khiển nhiệt độ hiển thị trên led ma trận (T ĐẶT < T LÒ )
Hình 4 2: Mô hình điều khiển nhiệt độ hiển thị trên led ma trận (T ĐẶT >T LÒ )
Khuyết điểm
- Đọc nhiệt độ từ môi trường vào chưa tuyệt đối chính xác.
- Do quá trình xử lý quạt DC, đèn AC hoạt động liên tục làm Relay được kích liên tục tải dễ bị hỏng
-Do sử dụng relay bật tắt nên chưa thể ổn định chính xác nhiệt thức so với nhiệt độ đặt