Tích hợp màn hìnhLCD hiển thị nhiệt độ và độ ẩm đo được từ cảm biến DHT11 Nội dung luận văn gồm các phần chính: - Phần 1: Giới thiệu về đề tài - Phần 2: Các cơ sở lý thuyết, các giao tiế
GIỚI THIỆU
Tổng quan về hệ thống căn hộ thông minh
Trong kỷ nguyên số, công nghệ đã cách mạng hóa quản lý và vận hành căn hộ, đặc biệt là nhờ vào sự phát triển của Internet of Things (IoT) Cuộc cách mạng công nghiệp 4.0 đã thay đổi cách chúng ta tương tác với môi trường sống Nhận thấy tiềm năng lớn lao, đồ án của tôi tập trung phát triển hệ thống quản lý căn hộ thông minh, tích hợp công nghệ IoT và cảm biến thông minh, nhằm tạo ra giải pháp quản lý toàn diện, an toàn và tiện nghi.
Hệ thống này không chỉ nâng cao chất lượng cuộc sống hàng ngày thông qua tự động hóa các thiết bị như điều hòa, hệ thống chiếu sáng và thiết bị gia dụng, mà còn giúp người dùng giám sát an ninh và an toàn Bằng cách tích hợp cảm biến môi trường để theo dõi chất lượng không khí và phát hiện khí độc, cùng với hệ thống cảnh báo sớm về cháy nổ, hệ thống đảm bảo môi trường sống an toàn cho mọi gia đình.
Giao diện người dùng thân thiện và dễ sử dụng giúp người dùng nhanh chóng thực hiện các thao tác điều khiển và quản lý thông qua ứng dụng trên điện thoại Tất cả các thao tác và dữ liệu người dùng đều được xử lý trực tiếp qua ứng dụng.
Hình 1 Tổng quan về nhà thông minh
Tình hình nghiên cứu trong và ngoài nước
1.2.1 Tình hình nghiên cứu trong nước (Việt Nam)
Tại Việt Nam, công nghệ nhà thông minh đang phát triển nhanh chóng, đặc biệt ở các đô thị lớn như Hà Nội, Thành phố Hồ Chí Minh và Đà Nẵng, với các dự án nhà ở hiện đại tích hợp giải pháp thông minh nhằm nâng cao chất lượng sống và hiệu quả quản lý tòa nhà Nghiên cứu trong nước đã có những bước tiến đáng kể trong việc phát triển và ứng dụng công nghệ như điều khiển từ xa, quản lý năng lượng thông minh và hệ thống an ninh tự động Tuy nhiên, việc áp dụng rộng rãi các giải pháp công nghệ cao vẫn gặp phải thách thức từ nguồn lực tài chính, kỹ năng công nghệ thông tin hạn chế của cư dân và các vấn đề quy định pháp lý.
1.2.2 Tình hình nghiên cứu ngoài nước
Hệ thống quản lý căn hộ thông minh đã phát triển vượt bậc ở các quốc gia như Mỹ, Đức và Nhật Bản, nơi công nghệ nhà thông minh không chỉ tối ưu hóa năng lượng và tăng cường an ninh, mà còn cải thiện sức khỏe và thúc đẩy lối sống xanh Các nghiên cứu hiện nay chú trọng vào việc tích hợp trí tuệ nhân tạo để phân tích và dự đoán nhu cầu người dùng, đồng thời phát triển giao diện thân thiện và tự động hóa cao Bên cạnh đó, bảo mật và quyền riêng tư trong môi trường sống thông minh cũng được đặc biệt quan tâm, với nhiều nỗ lực nhằm bảo vệ thông tin cá nhân trong mạng lưới thiết bị IoT.
Trong bối cảnh công nghệ phát triển nhanh chóng, việc tối ưu hóa các giao thức truyền thông hiện đại cho quản lý và giám sát từ xa là rất quan trọng Đồ án của tôi tập trung vào xây dựng hệ thống điều khiển thiết bị thông minh, cho phép giao tiếp giữa các thiết bị qua giao thức GPIO Hệ thống nổi bật với khả năng truyền tải dữ liệu hiệu quả và tốc độ cao, đáp ứng nhu cầu cơ bản trong việc điều khiển thiết bị tại nhà.
Hệ thống này cho phép ứng dụng điều khiển các linh kiện qua điện thoại cá nhân, nâng cao bảo mật và tối ưu hóa hiệu suất xử lý dữ liệu, mang đến giải pháp toàn diện cho quản lý từ xa.
Nhiệm vụ luận văn
- Nội dung 1: Tìm hiểu lý thuyết về STM32F407, ESP32
- Nội dung 2: Tìm hiểu lý thuyết và cách sử dụng các cảm biến trong đề tài.
- Nội dung 3: Tính toán và thiết kế phần cứng
- Nội dung 4: Tìm hiểu về cách thức hoạt động phần mềm và nạp code chương trình
- Nội dung 5: Tìm hiểu cách điều khiển các cảm biến thông qua app Blynk
- Nội dung 6 : Thiết kế , lập trình lên mạch thực tế
LÝ THUYẾT
ESP32 – Nền tảng cho IOT trong hệ thống nhúng
ESP32 là bộ vi điều khiển hiện đại, tiết kiệm năng lượng và chi phí hiệu quả, được phát triển bởi Espressif Systems tại Thượng Hải, Trung Quốc Sản xuất bởi TSMC với công nghệ 40 nm, ESP32 tích hợp Bluetooth và Wi-Fi chế độ kép, lý tưởng cho các ứng dụng Internet vạn vật (IoT), robot và tự động hóa Kế thừa từ NodeMCU ESP8266, ESP32 mang lại hiệu suất và tính năng vượt trội.
ESP32 được thiết kế với tiêu chí tiết kiệm năng lượng, nhờ vào hệ thống quản lý năng lượng thông minh giúp duy trì trạng thái ngủ sâu và chỉ thức dậy khi cần thiết, từ đó kéo dài tuổi thọ pin Về mặt kỹ thuật, ESP32 trang bị bộ vi xử lý Tensilica Xtensa LX6, với cả phiên bản lõi kép và lõi đơn, đi kèm với các thành phần như công tắc antenna, RF balun, bộ khuếch đại công suất, bộ khuếch đại thu nhiễu thấp và bộ lọc, tạo nên một lựa chọn hấp dẫn cho các nhà phát triển và kỹ sư.
Hình 3 Module ESP32 2.1.2 Đặc điểm nổi bật và thông số kĩ thuật Đặc điểm nổi bật:
ESP32 cung cấp khả năng kết nối đa chế độ với hỗ trợ Wi-Fi hai băng tần 2.4 GHz và 5 GHz, cùng với Bluetooth v4.2 BR/EDR và BLE, mang đến sự linh hoạt và đa dạng trong việc kết nối với các thiết bị và mạng khác nhau.
ESP32, với bộ vi xử lý Tensilica Xtensa LX6, cung cấp hiệu suất cao nhờ khả năng hoạt động ở chế độ lõi đơn hoặc lõi kép, tùy thuộc vào phiên bản, và đạt tần số lên đến 240 MHz.
ESP32 được tối ưu hóa để tiết kiệm năng lượng, với khả năng hoạt động ở chế độ ngủ sâu, giúp kéo dài tuổi thọ pin cho các ứng dụng di động và từ xa.
Bộ Nhớ Tích Hợp: Bao gồm bộ nhớ trong và hỗ trợ bộ nhớ ngoài thông qua SPI, cho phép lưu trữ lớn dữ liệu và chương trình.
Bảo mật cao là yếu tố quan trọng trong việc bảo vệ các ứng dụng nhạy cảm, với các tính năng như mã hóa phần cứng, bảo vệ flash và khởi động an toàn, giúp đảm bảo an toàn tối ưu cho dữ liệu và thông tin.
CPU: Tensilica Xtensa LX6, lên đến 240 MHz
Bộ Nhớ Flash: Tùy chọn kích thước từ 4MB đến 16MB
Wi-Fi: 802.11 b/g/n (802.11n lên đến 150 Mbps)
Bluetooth: Classic Bluetooth v4.2 và Bluetooth Low Energy (BLE)
GPIO: Lên đến 34 chân GPIO hỗ trợ nhiều chức năng bao gồm ADC, DAC, I2C, SPI, và nhiều hơn nữa
ADC: 12-bit SAR ADC lên đến 18 kênh
Peripherals: Hỗ trợ UART, I2C, SPI, PWM, và nhiều khác
Năng Lượng và Quản Lý Nguồn: Hỗ trợ các chế độ ngủ sâu để tiết kiệm điện năng
Bảo mật: WPA/WPA2/WPA2-Enterprise/WPS.
Kích thước: 40.5mm x27mm x4.5mm.
Hệ điều hành và phát triển:
Hỗ trợ FreeRTOS: Hệ điều hành nhúng tiêu chuẩn cho các ứng dụng nhúng IoT.
SDK (Software Development Kit) của Espressif: Cung cấp các công cụ, tài liệu và thư viện để phát triển ứng dụng trên ESP32.
2.1.3 Sơ đồ mạch nguyên lý và Pinout.
Hình 4 Schematic của module ESP32
Hình 5 PinOut của module ESP32
Hình 6 Chi tiết cấu hình chân của ESP 32
ESP32 là lựa chọn hàng đầu cho các dự án IoT nhờ chi phí hợp lý, hiệu suất cao và chất lượng ổn định Sự kết hợp này khiến nó trở thành một trong những thiết bị được ưa chuộng nhất trong lĩnh vực Internet of Things.
ESP32 là lựa chọn kinh tế cho các nhà phát triển và công ty khởi nghiệp nhờ vào chi phí thấp và tính năng tương đương với các bộ vi điều khiển khác trên thị trường Điều này giúp giảm chi phí sản xuất hiệu quả.
Xử Lý Đa Nhiệm Mạnh Mẽ**: ESP32 trang bị bộ vi xử lý Tensilica LX6, hoạt động ở tần số tối đa 240 MHz, hỗ trợ cả chế độ lõi đơn và lõi kép, mang đến khả năng xử lý mạnh mẽ đáp ứng nhu cầu đa dạng của các ứng dụng IoT.
ESP32 là một thiết bị đa chức năng, hỗ trợ nhiều giao thức kết nối như Wi-Fi và Bluetooth, giúp kết nối và giao tiếp hiệu quả trong nhiều môi trường khác nhau.
ESP32 được trang bị nhiều tính năng bảo mật phần cứng, bao gồm mã hóa, bảo vệ boot và bảo vệ flash, nhằm bảo vệ dữ liệu và mã nguồn khỏi các can thiệp không mong muốn Điều này đặc biệt quan trọng trong các ứng dụng IoT, nơi an ninh thông tin là ưu tiên hàng đầu.
ESP32, do Espressif Systems sản xuất, nổi bật với chất lượng và độ tin cậy cao, nhờ vào uy tín của công ty trong lĩnh vực vi điều khiển và IoT.
ESP32 nổi bật với khả năng tiêu thụ năng lượng thấp, cho phép hoạt động trong các chế độ tiết kiệm năng lượng như deep sleep Điều này giúp kéo dài tuổi thọ pin cho các thiết bị IoT sử dụng pin, mang lại hiệu suất cao và tiết kiệm năng lượng hiệu quả.
Tích hợp các cảm biến và peripherals là một yếu tố quan trọng, với khả năng hỗ trợ đa dạng thông qua GPIO, ADC, DAC, cùng các giao thức như I2C và SPI Điều này giúp người dùng dễ dàng mở rộng và tùy chỉnh theo nhu cầu cụ thể của dự án.
Để giao tiếp dữ liệu qua internet, cần một thiết bị kết nối mạng để truyền và nhận tín hiệu ESP32 đóng vai trò cầu nối giữa mạch và ứng dụng theo dõi, thực hiện các tác vụ truyền nhận dữ liệu và nhận lệnh điều khiển từ ứng dụng Với giá thành hợp lý, nguồn linh kiện phong phú và khả năng tương thích với nhiều thiết bị ngoại vi, module ESP32 là lựa chọn lý tưởng cho các dự án IoT.
KIT STM32F407VET6
2.2.1 Giới thiệu về Kit STM32F407VET6
KIT phát triển STM32F407VET6 Cortex-M4 được ứng dụng rộng rãi đặc biệt tại các trường đại học có giảng dạy về điện tử
STM32F407VET6 Cortex-M4 sử dụng vi điều khiển STM32F407 Đặc biệt, KIT có giá thành rẻ phù hợp cho những ai bắt đầu nghiên cứu về STM32F407
Một số đặc điểm nổi bật của STM32F407VET6:
- Vi kiến trúc ARM Cortex-M4:
Nhân ARM Cortex-M4 hỗ trợ DSP và FPU (Floating Point Unit), giúp thực hiện các phép tính dấu phẩy động nhanh chóng và chính xác.
Tốc độ xung nhịp tối đa 168 MHz.
Bộ nhớ Flash: 512 KB (cho phép lưu trữ chương trình và dữ liệu). RAM: 192 KB.
Tích hợp các giao thức truyền thông phổ biến như: UART, I2C, SPI, CAN, USB 2.0 OTG (On-The-Go) và Ethernet.
Hỗ trợ điều khiển LCD TFT và camera.
- Tính năng xử lý thời gian thực:
Tích hợp nhiều Timer có độ chính xác cao, hỗ trợ PWM, đầu vào Capture, và đầu ra Compare.
Hỗ trợ giao tiếp Real-Time Clock (RTC).
- Bộ điều khiển DMA (Direct Memory Access):
Giúp tăng tốc độ xử lý dữ liệu bằng cách cho phép truyền dữ liệu trực tiếp giữa ngoại vi và bộ nhớ mà không cần thông qua CPU.
Tích hợp 12-bit ADC với 16 kênh, cho phép thực hiện các phép chuyển đổi tín hiệu tương tự số (Analog to Digital) với độ phân giải cao.
DAC 12-bit cho các ứng dụng yêu cầu chuyển đổi số sang tương tự (Digital to Analog).
- Khả năng tiêu thụ năng lượng:
Vi điều khiển này không chỉ có hiệu suất cao mà còn được tối ưu hóa để tiết kiệm năng lượng, cho phép hoạt động ở nhiều chế độ tiết kiệm năng lượng khác nhau.
STM32F407VET6 thường được sử dụng trong các ứng dụng đòi hỏi khả năng xử lý mạnh mẽ, như:
Hệ thống nhúng công nghiệp.
Thiết bị IoT. Điều khiển robot.
Thiết bị âm thanh số.
Vi điều khiển này cung cấp sự linh hoạt và hiệu suất vượt trội cho nhiều lĩnh vực, đặc biệt là trong các ứng dụng đòi hỏi khả năng tính toán phức tạp và xử lý tín hiệu theo thời gian thực.
2.2.2 Đặc tính và thông số kĩ thuật
Vi điều khiển : STM32F407VET6 (32-bit RISC Cortex-M4 Kernel, 512kB Flash Storage, 192kBRAM + 4kBSRAM, LQFP100 Package) [1]
- Nguồn cấp từ cổng Mini USB qua các IC nguồn chuyển thành 3.3V để cấp cho MCU
- Có sẵn các chân nguồn: 3V và 5V
- Thiết kế ra chân GPIO đầy đủ
- Tích hợp khe thẻ nhớ MicroSD
- Tích hợp bộ nhớ Flash
- Tích hợp khe pin RTC
- Tích hợp cổng nập chuẩn Jtag
- Tích hợp khe cắm mạch RF NRF24L01+.
- Thạch anh: 168MHz, 210 DMIPS/1.25 DMIPS/MHz
- Chuẩn truyền thông: 3 SPI, 2 UART, 4 USART, 3 I2C, 2 I2S, 1 FSMC, 1 SDIO, 2
CAN, LX, USB 2 controller FS/HS ( with DMA) HSULPII USB (DM USB for HS PHY)
- 1x 8 to 12-bit parallel camera interface
- 3x ADC(12, LUS, time 24), 2xDAC (12bit)
- Cổng kết nối SD Card
- Hỗ trợ chân cắm LCD TFT cảm ứng điện dung
- Hỗ trợ thạch anh ngoại 8MHz & 32768Kz
2.2.3 Sơ đồ nguyên lý và Pinout
Hình 8 Chi tiết các chân của STM32F407VET6
Tổng quan về mạch nạp ST-Link V2
2.3.1 Giới thiệu về mạch nạp ST-Link V2
ST-Link V2 là công cụ lập trình và gỡ lỗi phổ biến của STMicroelectronics, chuyên dùng cho vi điều khiển STM32 và STM8 Với nhiều tính năng hữu ích, thiết bị này giúp kỹ sư và nhà phát triển dễ dàng phát triển ứng dụng nhúng ST-Link V2 có kích thước nhỏ gọn, chi phí thấp và độ bền cao, là lựa chọn lý tưởng cho các dự án lập trình firmware.
Các đặc điểm nổi bật của ST-Link V2:
- Hỗ trợ các vi điều khiển STM32 và STM8:
ST-Link V2 tương thích với các dòng vi điều khiển STM32 (sử dụng nhân ARM Cortex-M) và STM8 (sử dụng nhân STM8 của ST).
- Giao tiếp và giao thức:
SWD (Serial Wire Debug): Là giao thức lập trình và gỡ lỗi được sử dụng cho các dòng vi điều khiển STM32.
JTAG: ST-Link V2 cũng hỗ trợ giao thức JTAG, tuy nhiên phổ biến hơn là SWD vì nó chỉ yêu cầu ít chân hơn.
SWIM (Single Wire Interface Module): Dành riêng cho các dòng vi điều khiển STM8.
- Khả năng lập trình và gỡ lỗi:
Cho phép lập trình trực tiếp firmware vào bộ nhớ Flash của vi điều khiển.
Hỗ trợ gỡ lỗi thời gian thực cho phép người dùng tạm dừng và chạy chương trình, thiết lập các điểm dừng (breakpoints), cùng với việc kiểm tra các giá trị thanh ghi và bộ nhớ trong suốt quá trình gỡ lỗi.
ST-Link V2 có thể được sử dụng với các môi trường phát triển tích hợp (IDE) phổ biến như STM32CubeIDE, Keil uVision, IAR Embedded Workbench, và Atollic TrueSTUDIO.
ST-Link Utility: Một công cụ chính thức của ST cho phép lập trình firmware, kiểm tra và xóa bộ nhớ Flash của vi điều khiển STM32 và STM8.
- Kết nối với máy tính:
ST-Link V2 kết nối với máy tính qua cổng USB, cung cấp các giao tiếp lập trình và gỡ lỗi cho vi điều khiển thông qua các chân kết nối.
Các chân kết nối bao gồm VCC, GND, SWDIO, SWCLK, RST (đối với STM32) hoặc SWIM, RST (đối với STM8).
ST-Link V2 có kích thước nhỏ gọn, tiện lợi để sử dụng trong môi trường phát triển và thử nghiệm.
ST-Link V2 thường được sử dụng trong các trường hợp sau:
Lập trình firmware: Ghi firmware trực tiếp vào bộ nhớ của vi điều khiển STM32/STM8.
Gỡ lỗi ứng dụng: Hỗ trợ tìm và sửa lỗi trong quá trình phát triển các hệ thống nhúng.
Lập trình hàng loạt: Trong môi trường sản xuất, ST-Link V2 có thể được sử dụng để lập trình hàng loạt các vi điều khiển.
ST-Link V2 là công cụ thiết yếu cho việc phát triển ứng dụng trên vi điều khiển STM32 và STM8, mang đến giải pháp lập trình và gỡ lỗi đơn giản nhưng hiệu quả Công cụ này giúp nâng cao hiệu suất làm việc trong quá trình phát triển và thử nghiệm sản phẩm.
Hình 9 Mạch nạp ST-Link V2 2.3.2 Đặc tính và thông số kĩ thuật
- Mạch nạp STM8, STM32 ST-Link V2 Mini
- + Chuẩn nạp: JTAG, SWD, SWV
- +LinktảiSoftwarevàtàiliệuchínhhãng: https://www.st.com/en/developmenttools/st-link-v2.html
Hỗ trợ toàn diện cho các STM32 với giao diện SWD, cho phép nạp và gỡ lỗi dễ dàng Giao diện 4 dây đơn giản, bao gồm cả dây cấp nguồn, mang lại tốc độ nhanh và hoạt động ổn định.
Hỗ trợ tất cả các STM8 với giao diện SWIM để nạp và gỡ lỗi, tương thích với các môi trường phát triển phổ biến như IAR và STVD Phiên bản phần mềm hỗ trợ bao gồm nhiều tùy chọn để đáp ứng nhu cầu phát triển.
- ST-LINK Utility 2 trở lên
- Kết nối chân từ mạch nạp ST-LINK V2 với linh kiện điện tử STM32 theo thứ tự sau:
- Đối với những bạn làm việc với linh kiện điện tử STM8 Kết nối chân từ mạch nạp ST-LINK V2 với STM8 theo thứ tự sau:
- Kết nối chân từ mạch nạp ST-LINK V2 với linh kiện điện tử STM32 theo thứ tự sau:
LCD 16x02
Màn hình tinh thể lỏng (LCD) 16x2 là thiết bị hiển thị chữ và số theo mã ASCII, với khả năng hiển thị 2 dòng, mỗi dòng 16 ký tự Loại màn hình này có màu xanh dương, độ bền cao và rất phổ biến trong các dự án Nó dễ sử dụng, phù hợp cho người mới học và thực hiện các dự án điện tử.
Hình 11 LCD 16x02 2.4.2 Đặc tính và thông số kỹ thuật
- Chữ trắng, nền xanh dương
- Khoảng cách giửa hai chân 0.1 inch
- Nhiệt độ hoạt động: -20 đến +70°C
- Hiển thị: 16 ký tự x 2 dòng
2.4.3 Sơ đồ nguyên lý và Pinout
Bảng chức năng các chân của LCD:
Chân số Tên Chức năng
1 VSS Chân nối đất cho LCD
2 VDD Chân cấp nguồn cho LCD, VCC=5V
3 Vee Chân này dùng để điều chỉnh độ tương phản của LCD
4 RS Chân chọn thanh ghi (Register select)
+ Logic “1”: thanh ghi dữ liệu
5 R/W Chân chọn chế độ đọc/ghi (Read/Write)
6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus
Các lệnh DB0-DB7 chỉ được chấp nhận khi có một xung cho phép từ chân E Dữ liệu trên bus sẽ được LCD tiếp nhận và chuyển vào thanh ghi nội bộ khi phát hiện một xung chuyển tiếp từ cao sang thấp của tín hiệu chân E.
8 đường của bus dữ liệu Có 2 chế độ sử dụng 8 đường bus này: + Chế độ 8 bit: dữ liệu được truyền trên 8 đường
+ Chế độ 4 bit: dữ liệu được truyền trên 4 đường từ DB4 tới DB7
Chip HD44780 có 2 thanh ghi 8 bit quan trọng: thanh ghi lệnh IR (Instructor Register) và thanh ghi dữ liệu DR (Data Register)
Để điều khiển LCD, người dùng cần gửi lệnh qua 8 đường bus DB0-DB7, với mỗi lệnh được đánh địa chỉ rõ ràng bởi nhà sản xuất Người dùng chỉ cần nạp địa chỉ lệnh vào thanh ghi IR Khi nạp một chuỗi 8 bit vào thanh ghi IR, chip HD44780 sẽ tra cứu bảng mã lệnh tại địa chỉ được cung cấp và thực hiện lệnh tương ứng.
Thanh ghi DR là thành phần quan trọng trong việc lưu trữ dữ liệu 8 bit, cho phép ghi dữ liệu vào vùng RAM DDRAM hoặc CGRAM trong chế độ ghi Đồng thời, nó cũng có chức năng nhận dữ liệu từ hai vùng RAM này để gửi đến MPU trong chế độ đọc Khi MPU thực hiện ghi thông tin, thanh ghi DR đảm bảo quá trình truyền tải dữ liệu diễn ra hiệu quả.
DR sẽ tự động ghi thông tin vào DDRAM hoặc CGRAM Khi thông tin địa chỉ được lưu vào IR, dữ liệu tại địa chỉ trong vùng RAM nội của HD44780 sẽ được chuyển ra DR để truyền tới MPU.
Bằng cách điều khiển chân RS và R/W, chúng ta có thể dễ dàng chuyển đổi giữa hai thanh ghi trong quá trình giao tiếp với MPU Dưới đây là bảng tóm tắt các thiết lập cho hai chân RS và R/W nhằm phục vụ cho mục đích giao tiếp hiệu quả.
Bảng chức năng chân RS và R/W theo mục đích sử dụng:
0 0 Ghi vào thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 và giá trị của bộ đếm địa chỉ ở DB0-DB6
1 0 Ghi vào thanh ghi DR
1 1 Đọc dữ liệu từ DR
Cờ báo bận (Busy Flag)
Trong quá trình thực hiện các hoạt động bên trong chip, mạch nội cần thời gian để hoàn tất Trong khi thực thi, LCD tạm ngừng mọi giao tiếp với bên ngoài và kích hoạt cờ BF để thông báo cho MPU rằng nó đang bận Sau khi hoàn thành, LCD sẽ đặt cờ BF về mức 0.
Hình 13 Bảng mã kí tự
Cảm biến nhiệt độ DHT11
Cảm biến DHT11, được thiết kế bởi Aosong Electronics (trước đây là Humirel), là một thiết bị đo nhiệt độ và độ ẩm tương đối lý tưởng cho các ứng dụng như theo dõi thời tiết, kiểm soát môi trường trong nhà và các dự án điện tử tự làm Nhờ vào tính năng dễ sử dụng, chi phí thấp và khả năng cung cấp tín hiệu đầu ra kỹ thuật số, DHT11 đã trở thành một lựa chọn phổ biến trong cộng đồng các dự án STEM.
Hình 14 Module DHT11 2.5.2 Cách thức hoạt động
Cảm biến DHT11 gồm hai thành phần chính để đo độ ẩm và nhiệt độ môi trường:
Đo độ ẩm là quá trình sử dụng độ dẫn điện để xác định mức độ ẩm trong môi trường Khi độ ẩm thay đổi, polyme giữa hai điện cực cũng thay đổi độ dẫn điện, dẫn đến sự thay đổi điện trở giữa các điện cực Chip điều khiển trên DHT11 sẽ phân tích sự thay đổi này để cung cấp mức độ ẩm chính xác.
Đo nhiệt độ sử dụng thermistor NTC, với điện trở giảm khi nhiệt độ tăng Chip điều khiển phân tích sự thay đổi điện trở để xác định nhiệt độ môi trường, chuyển đổi thông tin này thành dữ liệu chính xác Điều này giúp người dùng hiểu rõ hơn về điều kiện môi trường xung quanh.
DHT11 là cảm biến cung cấp dữ liệu độ ẩm và nhiệt độ chính xác, rất hữu ích cho các ứng dụng theo dõi chất lượng môi trường.
Hình 15 Hoạt động của DHT11
- Điện áp hoạt động: 5VDC
- Chuẩn giao tiếp: TTL, 1 wire.
- Khoảng đo độ ẩm: 20%-80%RH sai số ± 5%RH
- Khoảng đo nhiệt độ: 0-50°C sai số ± 2°C
- Tần số lấy mẫu tối đa 1Hz (1 giây / lần)
2.5.4 Giao tiếp với vi điều khiển
Cảm biến DHT11 giao tiếp với vi điều khiển (MCU) thông qua định dạng dữ liệu đơn bus, với thời gian đồng bộ hóa chỉ 4ms Trong quá trình truyền dữ liệu, DHT11 gửi tổng cộng 40 bit thông tin, bao gồm dữ liệu về độ ẩm và nhiệt độ, kèm theo một byte kiểm tra (checksum) để xác nhận tính chính xác của dữ liệu.
Dữ liệu gồm các thành phần sau:
- 8 bit dữ liệu độ ẩm tương đối nguyên (RH nguyên)**.
- 8 bit dữ liệu độ ẩm tương đối thập phân (RH thập phân)**.
- 8 bit dữ liệu nhiệt độ nguyên (T nguyên)**.
- 8 bit dữ liệu nhiệt độ thập phân (T thập phân)**.
- 8 bit kiểm tra tổng (checksum)**.
Giá trị của checksum được tính bằng cách cộng giá trị của bốn byte dữ liệu:
RH nguyên, RH thập phân, T nguyên và T thập phân đều là các giá trị quan trọng trong việc xác thực dữ liệu Khi giá trị checksum khớp với 8 bit cuối cùng trong quá trình truyền dữ liệu, điều này xác nhận rằng dữ liệu nhận được là chính xác Việc này đảm bảo tính toàn vẹn và độ tin cậy của thông tin từ cảm biến.
Tổng quan về I2C Adapter cho LCD 16x02
Module chuyển đổi I2C cho LCD giúp tiết kiệm chân I/O cho vi điều khiển, giảm từ 6 chân xuống chỉ còn 2 chân (SCL, SDA) để kết nối với LCD Điều này đặc biệt hữu ích khi làm việc với các loại LCD sử dụng driver HD44780 như LCD 1602 và LCD 2004 Module này tương thích với hầu hết các vi điều khiển hiện nay, giúp đơn giản hóa quá trình kết nối và tối ưu hóa hiệu suất.
Hình 17 I2C 2.6.2 Thông số kỹ thuật
- Điện áp hoạt động: 2.5-6V DC
- Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780)
- Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân
- Kích thước: 41.5mm(L)x19mm(W)x15.3mm(H)
- Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt
- Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD
Cảm biến khí Gas MQ2
Cảm biến khí MQ-2, một thiết bị MOS (Metal Oxide Semiconductor) hay còn gọi là Chemiresistor, có khả năng phát hiện nhiều loại khí như rượu, carbon monoxide, hydro, isobutene, LPG, methane, propane và khói Nguyên tắc hoạt động của nó dựa trên sự thay đổi điện trở của vật liệu oxit kim loại khi tiếp xúc với các khí, dẫn đến sự thay đổi điện áp hoặc dòng điện đầu ra MQ-2 hoạt động với nguồn điện 5V DC, tiêu thụ khoảng 800mW và có khả năng phát hiện nồng độ khí từ 200 đến 10000 ppm Với khả năng giám sát an toàn và kiểm tra chất độc hại, cảm biến này rất phù hợp cho các ứng dụng bảo vệ chống cháy nổ, đồng thời được ưa chuộng bởi người mới bắt đầu nhờ chi phí thấp và tính năng dễ sử dụng.
. Hình 18 Module MQ2 2.7.2 Cách thức hoạt động
Cảm biến khí sử dụng lớp bán dẫn SnO2 (điôxít thiếc) hoạt động dựa trên nguyên lý thay đổi tính dẫn điện khi tiếp xúc với khí Khi được gia nhiệt, lớp SnO2 hấp thụ oxy trên bề mặt, dẫn đến việc các electron từ dải dẫn bị hút về phía oxy Kết quả là hình thành một lớp cạn kiệt electron gần bề mặt, tạo ra hàng rào thế năng và làm tăng điện trở của màng SnO2, từ đó ngăn chặn dòng điện chảy qua.
Khi các khí khử xuất hiện, chúng phản ứng với oxy trên bề mặt SnO2, làm giảm mật độ oxy và hàng rào thế năng Điều này dẫn đến việc các electron được giải phóng vào điôxít thiếc, giảm điện trở của màng và cho phép dòng điện chảy tự do qua cảm biến Cơ chế này cho phép cảm biến phát hiện và phản ứng với sự hiện diện của các khí dễ cháy hoặc độc hại, từ đó đảm bảo đo lường chính xác trong các ứng dụng giám sát khí.
Hình 19 Hoạt động của MQ2 2.7.3 Thông số kỹ thuật
- Đèn LED báo nguồn và đèn LED báo TTL.
- Khả năng phát hiện khí như LPG, Alcohol, Propane, Hydrogen, CO và
- Điện áp đầu ra tuần tự: 0V đến 5V.
- Điện áp đầu ra kỹ thuật số: 0V hoặc 5V (TTL Logic).
- Thời gian làm nóng: 20 giây.
- Có thể sử dụng như cảm biến kỹ thuật số và tuần tự.
- Độ nhạy của chân kỹ thuật số có thể điều chỉnh qua chiết áp.
- Kích thước: 32mm x 22mm x 27mm.
2.7.4 Tính giá trị cảm biến
Trong mạch cảm biến khí MQ-2, Op-amp LM393 được sử dụng để chuyển đổi tín hiệu tương tự từ cảm biến thành tín hiệu số, giúp xử lý tín hiệu dễ dàng hơn LM393 là loại Op-amp điện áp bù thấp, công suất thấp, hoạt động với nguồn cấp +5V Mạch còn tích hợp một chiết áp 10KOhms để điều chỉnh độ nhạy của cảm biến hoặc điện áp kích hoạt, cho phép người dùng tinh chỉnh theo nhu cầu cụ thể của ứng dụng.
Mạch này bao gồm hai đèn LED: một đèn báo nguồn và một đèn LED kích hoạt, sáng khi giá trị đo vượt ngưỡng nhất định Để giảm nhiễu điện từ, hai tụ điện tách rời được sử dụng Điện trở cảm biến MQ-2 (RS) và điện trở tải (RL) tạo thành mạch chia điện áp, với giá trị RS thay đổi theo loại khí và nồng độ khí.
Quá trình hiệu chuẩn cảm biến bắt đầu bằng việc đặt cảm biến trong không khí sạch để xác định giá trị R0, sau đó giá trị này được chia cho tỷ lệ RS/R0 đã biết là 9,8 Khi R0 đã được xác định, cảm biến có khả năng phát hiện khí mục tiêu bằng cách so sánh tỷ lệ RS/R0 thực tế với tỷ lệ trong không khí sạch, từ đó cho phép phát hiện chính xác sự hiện diện của các khí dễ cháy hoặc độc hại.
Quá trình sử dụng cảm biến diễn ra như sau:
Để hiệu chuẩn cảm biến, trước tiên hãy đặt nó trong không khí sạch và khởi động lại bộ điều khiển Sau khi quá trình hiệu chuẩn hoàn tất, hệ thống sẽ thông báo rằng cảm biến đã sẵn sàng để sử dụng.
2 Đặt cảm biến vào khu vực cần kiểm tra: Sau khi đã hiệu chuẩn, đặt cảm biến vào khu vực có khói hoặc khí cần phát hiện Cảm biến sẽ phát hiện sự hiện diện của khí và đo lường nồng độ khí tính bằng ppm Khi phát hiện khí, đèn LED trên cảm biến sẽ sáng lên để báo hiệu.
3 Tính toán nồng độ khí: Để tính toán nồng độ khí tính bằng ppm, cần lấy hai điểm dữ liệu từ đường cong đặc trưng cho loại khí được đo trên biểu đồ Dựa trên đó, tính hệ số góc của đường thẳng này để suy ra nồng độ.
4 Hiểu biết về đồ thị RS/R0: Biểu đồ cho thấy nồng độ khí tính bằng ppm dựa trên tỷ lệ điện trở của cảm biến (RS/R0) Tỷ lệ này được tính bằng cách chia điện trở của cảm biến khi phát hiện khí (RS) cho điện trở nền (R0) Trong không khí sạch, tỷ lệ RS/R0 cho cảm biến khí MQ2 là 9.8, nghĩa là trong không khí sạch,điện trở RS cao hơn điện trở R0 khoảng 9.8 lần.
Cảm biến MQ2 có khả năng phát hiện và đo lường chính xác nồng độ các loại khí trong môi trường, hỗ trợ giám sát an toàn và kiểm tra chất độc hại Để xác định điện trở của cảm biến RS và tính toán điện trở cơ bản R0 trong không khí sạch, bạn cần thực hiện các bước cụ thể.
Tính toán RS: Điện trở của cảm biến (RS) có thể được tính trong không khí sạch bằng công thức: RS = [(Vin x RL) / Vout] - RL
- Vin: Là điện áp đầu vào cung cấp cho cảm biến, trong trường hợp này là 5V.
- Vout: Là điện áp đầu ra từ cảm biến, thường là một giá trị điện áp tương tự được đọc.
Điện trở tải trong mạch cảm biến được gọi là RL Để đo điện áp đầu ra Vout từ cảm biến, cần thực hiện trong môi trường không khí sạch Việc này thường được thực hiện bằng cách sử dụng bộ chuyển đổi tương tự thành số (ADC) trên vi điều khiển để đọc giá trị điện áp tương tự một cách chính xác.
Tính R0: Sau khi có giá trị RS từ bước trên, bạn có thể tính toán R0 dựa trên tỷ lệ điện trở trong không khí sạch bằng công thức: R0 = RS / 9.8
Hình 21 Biểu đồ của MQ2Hãy phân tích biểu đồ:
Biểu đồ sử dụng thang đo log-log minh họa mối quan hệ phi tuyến giữa nồng độ khí và tỷ lệ điện trở, với nồng độ khí dao động từ 200 ppm đến 10.000 ppm Mặc dù có vẻ như là một mối quan hệ tuyến tính, thực tế nó lại phức tạp hơn nhiều.
Để đơn giản hóa phân tích, chúng ta coi các đường trên biểu đồ là tuyến tính, áp dụng phương trình đường thẳng trong không gian log-log Phương pháp này giúp ước tính nồng độ khí cho bất kỳ tỷ lệ điện trở nào, bao gồm cả các giá trị ngoài dữ liệu hiện có Phương trình sử dụng là y = mx + b.
- b: Giá trị khởi điểmx Đối với thang đo log-log, công thức sẽ có dạng: log(y) = m*log(x) + b.
Tổng quan về cảm biến hồng ngoại
2.8.1 Giới thiệu về cảm biến hồng ngoại
Cảm biến sử dụng cặp LED hồng ngoại để phát hiện vật cản trong môi trường, với khả năng nhận diện khoảng cách từ 2 đến 30cm Khi tia hồng ngoại gặp vật cản, nó sẽ phản xạ trở lại đèn thu, làm cho đèn màu xanh sáng lên và phát tín hiệu số đầu ra Khoảng cách phát hiện có thể điều chỉnh dễ dàng thông qua chiết áp, phù hợp cho các ứng dụng như xe dò line và xe tránh vật cản.
Hình 22 Cảm biến hồng ngoại 2.8.2 Cách thức hoạt động
Cảm biến hồng ngoại hoạt động dựa trên nguyên tắc phát ra và thu nhận tia hồng ngoại, giúp phân tích và xác định sự hiện diện của các vật thể.
Cảm biến hồng ngoại chủ động hoạt động bằng cách sử dụng một đầu phát tia hồng ngoại để phát ra ánh sáng và một bộ thu sóng để nhận diện ánh sáng phản xạ từ vật thể Khi vật thể nằm trong tầm hoạt động, ánh sáng sẽ được phản xạ trở lại và thu nhận bởi bộ thu sóng Dữ liệu này sau đó được xử lý bởi mạch điện tử trong cảm biến để xác định khoảng cách và thực hiện các tính toán cần thiết.
Cảm biến hồng ngoại thụ động, hay còn gọi là cảm biến hồng ngoại quang điện, hoạt động bằng cách sử dụng các phần tử cảm biến để thu nhận tia hồng ngoại từ môi trường xung quanh Các phần tử này thường được làm từ chất bán dẫn như silic, germani và cadimi selenid Khi tia hồng ngoại tiếp xúc với các phần tử, chúng tạo ra một điện áp tương ứng, phản ánh mức độ phản chiếu của tia hồng ngoại Điện áp này sau đó được chuyển đổi thành tín hiệu điện và xử lý bởi mạch điện tử trong cảm biến để xác định sự hiện diện của vật thể.
Cảm biến hồng ngoại hoạt động dựa trên nguyên tắc sử dụng tia hồng ngoại để phát hiện sự hiện diện của vật thể trong phạm vi hoạt động của chúng Mặc dù có nhiều loại cảm biến hồng ngoại khác nhau, nhưng nguyên lý hoạt động cơ bản của chúng vẫn tương tự nhau.
- Bộ so sánh sử dụng LM393, làm việc ổn định
- Điện áp làm việc: 3.3V – 5V DC.
- Khi bật nguồn, đèn báo nguồn màu đỏ sáng.
- Lỗ vít 3 mm, dễ dàng cố định, lắp đặt
Các mô-đun đã được so sánh điện áp ngưỡng qua chiết áp; vì vậy, khi sử dụng ở chế độ thông thường, vui lòng không tự ý điều chỉnh chiết áp để đảm bảo hiệu suất và độ chính xác.
- Khoảng cách phát hiện: 2 ~ 30 cm
- LED báo nguồn và LED báo tín hiệu ngõ ra
- Mức thấp 0V: khi có vật cản
- Mức cao 5V: khi không có vật cản
2.8.4 Sơ đồ nguyên lý pinout
Hình 23 Sơ đồ nguyên lý module hồng ngoại Cổng giao tiếp:
VCC: điện áp chuyển đổi từ 3.3V đến 5V (có thể được kết nối trực tiếp đến vi điều khiển 5V và 3.3V)
OUT: đầu ra kỹ thuật số (0 và 1)
LED siêu sáng
2.9.1 Giới thiệu về Led siêu sáng
Đèn LED siêu sáng USB là giải pháp lý tưởng cho việc chiếu sáng trong các mô hình, đèn ngủ, tủ đồ và ngăn kéo Sản phẩm này hoạt động với nguồn 5VDC từ cổng Micro USB hoặc chân nguồn trên mạch, mang lại sự tiện dụng và linh hoạt cho người sử dụng.
Hình 24 Đèn LED 2.9.2 Thông số kĩ thuật
Dòng tiêu thụ thấp từ 400-450mA Dùng nguồn điện 5v hoặc trực tiếp trên cổng Micro USB rất tiện lợi Công suất tiêu thụ ~3W siêu sáng
Tỏa nhiệt thấp và nhỏ gọn dễ mang theo bên mình
Có thể lắp thêm tản nhiệt để hiệu quả cao hơn
Mức năng lượng giải phóng của các nguyên tử chất bán dẫn quyết định bước sóng ánh sáng phát ra, dẫn đến màu sắc khác nhau của LED Cụ thể, màu sắc LED phụ thuộc hoàn toàn vào cấu trúc năng lượng của các nguyên tử trong chất bán dẫn.
Điện áp phân cực thuận của LED thay đổi tùy thuộc vào loại LED Đối với LED thường, điện áp này dao động từ 1,5V đến 2,5V, trong khi LED siêu sáng có thể đạt điện áp phân cực thuận lên tới 5V.
- Khi LED hoạt động bình thường thì dòng từ 10mA đến 50mA
Còi báo động SFM-27-I- Liên Tục
2.10.1 Giới thiệu về còi báo động SFM-27-I
Còi báo động hỗ trợ nguồn điện DC 3-24V, phát ra âm thanh báo động liên tục lên đến 85dB Với đường kính 30mm và độ dày 15mm, còi được trang bị Bím Tóc 2 dây giúp kết nối dễ dàng Sản phẩm này được sử dụng rộng rãi trong việc sửa đổi xe hơi, các dự án nhắc nhở điện tử tự làm, hoặc trong những khu vực cần âm thanh báo động.
Còi SFM 27 có hai phân loại:
- Còi SFM 27 có âm thanh ngắt quãng
- Còi SFM 27 có âm thanh liên tục không ngắt quãng
Hình 25 Còi báo động SFM 27 I 2.10.2 Thông số kỹ thuật
- Kiểu âm thanh: liên tục
- Điện áp định mức: 12VDC
- Điện áp hoạt động: 3-24VDC
- Tần số cộng hưởng: 3000 ± 50Hz
Nguồn tổ ong 5V 4A
2.11.1 Giới thiệu về nguồn tổ ong 5V 4A
Bộ nguồn tổ ong 5V 4A, hay còn gọi là bộ nguồn một chiều 5 volt, được thiết kế để chuyển đổi điện áp từ nguồn xoay chiều 110/220VAC thành nguồn một chiều 5VDC, nhằm cung cấp điện cho các thiết bị hoạt động hiệu quả.
Nguồn tổ ong 5V 4A có thiết kế nhỏ gọn, hoạt động ổn định và bền bỉ, được ưa chuộng trong nhiều ứng dụng công nghiệp và dân dụng.
- Điện áp đầu vào: 100-240VAC 50/60Hz
Hình 27 Hình điểm nối dây nguồn tổ ong
LCD1602 và Mạch chuyển đổi I2C
2.12.1 Giới thiệu về LCD1602 và mạch chuyển đổi I2C
Màn hình LCD được sử dụng rộng rãi trong các thiết bị như hệ thống nhúng, thiết bị kiểm soát và máy đo để hiển thị thông tin Các mẫu màn hình phổ biến như 16x02 và 20x04 thường đi kèm với bộ điều khiển riêng, cho phép tương tác hiệu quả với vi điều khiển hoặc bo mạch chính.
Giao thức I2C (Inter-Integrated Circuit) giúp giảm số lượng chân kết nối cần thiết cho việc quản lý màn hình LCD, chỉ cần hai dây (SDA và SCL) để giao tiếp Điều này không chỉ tối ưu hóa không gian thiết kế mà còn tăng tính linh hoạt trong ứng dụng, mang lại lợi ích đáng kể cho việc kết nối và điều khiển màn hình LCD.
Hình 28 LCD kết hợp module I2C 2.12.2 Thông số kỹ thuật
- Điện áp hoạt động: 5VDC
- Dòng điện tiêu thụ: 350uA - 600uA.
- Nhiệt độ hoạt động: -30°C đến 75°C.
- Kích thước 96 x 60 mm, chữ đen, nền xanh lá.
- Đèn Led nền có thể điều khiển bằng biến trở hoặc PWM.
- Có thể điều khiển bằng 6 chân tín hiệu.
- Hỗ trợ hiển thị bộ kí tự tiếng Anh và tiếng Nhật.
Module 4 Relay Kích H/L (5VDC)
Module 4 Relay Kích H/L (5VDC) là một thiết bị điện tử phổ biến trong các dự án tự động hóa và điều khiển Đây là mô-đun chứa 4 rơ-le, có khả năng điều khiển bật/tắt các thiết bị ngoại vi như đèn, quạt, động cơ thông qua tín hiệu điều khiển từ vi điều khiển hoặc hệ thống nhúng khác Dưới đây là tổng quan về module này:
- Bộ cảm biến: Được lắp đặt ngoài trời để tiếp xúc trực tiếp với mưa.
- Số kênh: 4 rơ-le độc lập.
- Điện áp điều khiển: 5VDC.
- Kiểu kích hoạt: H/L (High/Low) - có nghĩa là có thể điều khiển rơ-le bằng mức tín hiệu cao (High) hoặc thấp (Low).
- Điện áp đầu vào cho tải: Thường là AC 250V 10A hoặc DC 30V 10A cho mỗi kênh.
- Cách ly quang: Một số module có cách ly quang giữa tín hiệu điều khiển và mạch tải, giúp bảo vệ vi điều khiển khỏi nhiễu điện.
- Rơ-le: 4 rơ-le với khả năng đóng/ngắt mạch điện công suất lớn.
- Đèn LED chỉ thị: Đèn LED hiển thị trạng thái hoạt động của mỗi rơ-le.
- Chân kết nối: Các chân kết nối với vi điều khiển để điều khiển rơ-le.
- Điện trở và Transistor: Giúp tăng cường tín hiệu điều khiển từ vi điều khiển để kích hoạt rơ-le.
- Diode bảo vệ: Bảo vệ mạch khỏi dòng điện ngược chiều khi tắt rơ-le.
Hình 29 Module 4 Relay Kích H/L (5VDC) 2.13.2 Thông số kỹ thuật
- Điện áp nuôi mạch: 5VDC
- Dòng tiêu thụ: khoảng 200mA/1Relay
- Tín hiệu kích: High (5VDC) hoặc Low (0VDC) chọn bằng Jumper.
- Tiếp điểm đóng ngắt max: 250VAC-10A hoặc 30VDC-10A
Khi vi điều khiển gửi tín hiệu kích hoạt đến chân điều khiển của rơ-le, transistor sẽ dẫn điện, cho phép dòng điện chạy qua cuộn dây của rơ-le, kích hoạt nó Tín hiệu kích hoạt này có thể là mức cao hoặc mức thấp tùy thuộc vào cấu hình của hệ thống.
- Đóng/ngắt mạch tải: Cuộn dây rơ-le kích hoạt, đóng hoặc ngắt tiếp điểm bên trong rơ-le, điều khiển mạch tải nối với nó.
- Hiển thị trạng thái: Đèn LED trên module sẽ sáng lên để chỉ báo rằng rơ- le đang trong trạng thái đóng.
Hình 30 Sơ đồ đầu nối Relay 2.13.4 Ứng dụng
- Tự động hóa nhà ở: Điều khiển các thiết bị điện trong gia đình như đèn, quạt, máy bơm.
- Hệ thống điều khiển công nghiệp: Điều khiển máy móc, thiết bị trong các quy trình sản xuất.
- Dự án DIY: Các dự án làm tại nhà, các robot, hệ thống cảnh báo
Các chuẩn giao tiếp được sử dụng
GPIO là chân tín hiệu kỹ thuật số trên mạch tích hợp, có thể được cấu hình làm đầu vào hoặc đầu ra thông qua phần mềm Khi được thiết lập là đầu ra, GPIO có thể ghi giá trị 0 (LOW) hoặc 3,3/5 V (VDD), và khi là đầu vào, nó cho phép đọc tín hiệu GPIO là giao diện tiêu chuẩn giúp vi điều khiển giao tiếp với thế giới bên ngoài, cho phép đọc giá trị từ cảm biến analog hoặc kỹ thuật số, điều khiển đèn LED, và quản lý giao tiếp I2C.
Bản đồ bộ nhớ của ngoại vi GPIO:
Vi điều khiển hiện đại áp dụng kỹ thuật bản đồ bộ nhớ để ánh xạ tất cả các thiết bị ngoại vi vào một không gian bộ nhớ thống nhất, giúp tối ưu hóa việc quản lý và truy xuất dữ liệu.
Bộ điều khiển STM32F407, dựa trên kiến trúc ARM Cortex M4, có không gian bộ nhớ được ARM dành riêng cho các thiết bị ngoại vi, như thể hiện trong hình.
Khung ngoại vi GPIO nằm trong khoảng địa chỉ bộ nhớ từ 0x40000000 đến 0x60000000, cho phép nhà cung cấp vi điều khiển ánh xạ các thiết bị ngoại vi khác nhau Vùng địa chỉ này được chia thành nhiều vùng phụ, mỗi vùng tương ứng với một thiết bị ngoại vi cụ thể Datasheet của vi điều khiển sẽ chỉ rõ địa chỉ của từng thiết bị ngoại vi, trong đó thiết bị ngoại vi GPIO được ánh xạ trong khoảng địa chỉ từ 0x40020000 đến 0x40021FFF, đây cũng là vùng băng tần bit.
Khung ngoại vi GPIO được chia thành các nhóm GPIO A, B, C, D, E, F, G, H, mỗi nhóm có tối đa 16 chân Cụ thể, GPIO A được ánh xạ từ địa chỉ 0x40020000 đến 0x400203FF, quản lý tất cả các chân kết nối với PORT-A.
GPIO được sử dụng trong lập trình tín hiệu đầu vào và đầu ra của vi điều khiển STM32 Các GPIO input kết nối với cảm biến để thu thập dữ liệu, trong khi các GPIO output điều khiển các thiết bị như đèn LED, quạt và máy lọc không khí.
I2C, viết tắt từ "Inter-Integrated Circuit", là một bus nối tiếp được phát triển bởi Philips Ban đầu, I2C chỉ được áp dụng cho các linh kiện của hãng này, nhưng nhờ tính ưu việt và đơn giản, nó đã được chuẩn hóa và trở thành một tiêu chuẩn phổ biến trong các mô đun truyền thông nối tiếp của vi mạch tích hợp hiện nay.
I2C kết hợp những ưu điểm nổi bật của SPI và UART, cho phép kết nối nhiều thiết bị slave với một master duy nhất, tương tự như SPI, và cũng hỗ trợ nhiều master điều khiển một hoặc nhiều slave, giống như UART Điều này rất hữu ích trong các ứng dụng cần nhiều vi điều khiển ghi dữ liệu vào một thẻ nhớ hoặc hiển thị thông tin trên màn hình LCD Nhờ vào tính linh hoạt và khả năng mở rộng, I2C đã trở thành lựa chọn phổ biến cho giao tiếp giữa các vi mạch trong các hệ thống nhúng và điều khiển.
Cấu tạo và nguyên lí hoạt động
I2C sử dụng hai đường truyền tín hiệu chính:
Đường xung nhịp đồng hồ (SCL) là tín hiệu clock được phát ra từ Master, với tốc độ thường là 100kHz hoặc 400kHz Tùy thuộc vào thiết kế cụ thể, tốc độ của SCL có thể đạt tới 1MHz hoặc 3.4MHz.
- Đường dữ liệu (SDA):** Đường này hoạt động theo hai hướng, được sử dụng để truyền và nhận dữ liệu.
Giao thức I2C cho phép dữ liệu trên đường SDA chỉ được ghi nhận khi có sự sườn lên của chân CLK, điều này có nghĩa là xung clock không cần phải duy trì tốc độ cố định như 1MHz hoặc 3.4MHz Nhờ đó, người dùng có thể tận dụng 2 chân GPIO để thiết lập giao tiếp I2C mềm mà không cần chân CLK với xung chính xác, chỉ cần sử dụng delay và bật tắt mức logic Sự linh hoạt này mang lại thuận tiện trong việc triển khai giao tiếp I2C trên các nền tảng nhúng và vi điều khiển.
Hình 33 Kết nối I2C Các chế độ hoạt động của giao thức I2C có thể được phân loại như sau:
- Chế độ chuẩn (standard mode): Hoạt động ở tốc độ 100 Kbit/s.
- Chế độ tốc độ thấp (low-speed mode): Hoạt động ở tốc độ 10 Kbit/s.
Dựa vào quan hệ chủ-tớ:
Trong mô hình giao tiếp một chủ một tớ, chỉ có một thiết bị tớ (slave) được chọn để truyền hoặc nhận dữ liệu tại một thời điểm, trong khi thiết bị chủ (master) điều khiển quá trình này.
Một chủ (master) có thể giao tiếp với nhiều tớ (slaves) khác nhau, cho phép chủ chọn lựa và truyền hoặc nhận dữ liệu từ một hoặc nhiều thiết bị tớ đồng thời.
Trong hệ thống này, tồn tại mối quan hệ giữa nhiều chủ (masters) và nhiều tớ (slaves), trong đó mỗi chủ có khả năng giao tiếp độc lập với một hoặc nhiều thiết bị tớ.
Các chế độ này mang lại tính linh hoạt trong việc triển khai và sử dụng giao thức I2C, phù hợp với nhiều ứng dụng khác nhau, từ thiết bị đơn giản cho đến các hệ thống phức tạp hơn.
Quá trình truyền dữ liệu trong giao thức I2C diễn ra như sau:
Xác định và chọn thiết bị tớ:
Thiết bị chủ (A) trong mạng I2C xác định địa chỉ của thiết bị tớ (B) mà nó muốn giao tiếp, và địa chỉ này thường được gán cố định cho mỗi thiết bị.
- Sau khi xác định địa chỉ, thiết bị chủ quyết định xem có ghi vào hoặc đọc từ thiết bị tớ.
Gửi dữ liệu từ thiết bị chủ tới thiết bị tớ:
- Thiết bị chủ gửi dữ liệu tới thiết bị tớ thông qua đường truyền dữ liệu (SDA).
- Dữ liệu được gửi theo định dạng khung dữ liệu I2C, bao gồm địa chỉ của thiết bị tớ và các byte dữ liệu cần truyền.
- Kết thúc quá trình truyền dữ liệu:
- Sau khi gửi dữ liệu xong, thiết bị chủ kết thúc quá trình truyền dữ liệu bằng cách thả đường truyền dữ liệu (SDA).
Nhận dữ liệu từ thiết bị tớ:
- Khi thiết bị chủ muốn nhận dữ liệu từ thiết bị tớ, quá trình diễn ra tương tự.
- Thiết bị chủ gửi một tín hiệu bắt đầu truyền dữ liệu, sau đó nhận dữ liệu từ thiết bị tớ.
Trong giao thức I2C, cách đánh địa chỉ được thực hiện như sau: Độ dài địa chỉ:
- I2C sử dụng 7 bit để định địa chỉ cho mỗi thiết bị trong mạng.
- Do đó, mỗi thiết bị có thể có tối đa 128 địa chỉ khả dụng (2^7 = 128).
Số lượng thiết bị trong mạng:
- Trên một bus I2C, có thể kết nối tới 112 thiết bị (128 - 16 địa chỉ được dành riêng).
Quy định việc ghi hay đọc dữ liệu:
- Bit thứ 8 trong khung truyền dữ liệu I2C quy định việc ghi (write) hoặc đọc (read) dữ liệu.
- Nếu bit này có giá trị 1, thiết bị chủ đang gửi dữ liệu đến thiết bị tớ.
THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG
Yêu cầu thiết kế
Đáp ứng nhanh các thao tác điều khiển trên Application
Hiện thị giá trị nhiệt độ, độ ẩm chính xác.
Phát hiện báo cháy, báo khói, đột nhập chính xác kịp thời.
Sơ đồ khối tổng quát hệ thống
Hình 36 Sơ đồ khối hệ thống quản lý căn hộ
Hệ thống gồm các khối chính là: Nguồn, Application điều khiển, ESP
32, STM32F407, cảm biến khí gas MQ-2, cảm biến hồng ngoại, cảm biến nhiệt độ và độ ẩm DHT 11, relay kích, đèn, chuông báo động, màn hình LCD
Hệ thống hoạt động nhờ vào khối nguồn, với ứng dụng điều khiển quản lý các thiết bị như đèn, chuông, cảm biến khí gas và cảm biến hồng ngoại thông qua ESP32 Dữ liệu về nhiệt độ và độ ẩm được thu thập từ cảm biến DHT11, sau đó được xử lý bởi STM32F407 và hiển thị trên màn hình LCD.
Nguồn sử dụng trong đề tài là nguồn 5V 4A, được cấp trực tiếp từ nguồn 220V thông qua bộ nguồn tổ ong, nhằm cung cấp điện cho tất cả các linh kiện trên mạch hoạt động hiệu quả.
Nguồn tổ ong 5V 4A, hay bộ nguồn một chiều 5V, được thiết kế để chuyển đổi điện áp từ nguồn xoay chiều 110/220VAC thành nguồn một chiều 5VDC Sản phẩm này cung cấp nguồn điện ổn định cho các thiết bị hoạt động hiệu quả.
- Kết nối wifi Nhận lệnh điều khiển từ app qua điện thoại.
Vi điều khiển là bộ xử lý chính trong hệ thống, thực hiện nhiều nhiệm vụ đồng thời Nó giao tiếp với các cảm biến hồng ngoại và cảm biến khí gas, điều khiển Relay để kích hoạt đèn và còi cảnh báo.
Trong dự án này, vi điều khiển STM32 đóng vai trò quan trọng trong việc xử lý dữ liệu từ cảm biến DHT11 và giao tiếp với màn hình LCD STM32 sẽ thu thập và xử lý thông tin về nhiệt độ và độ ẩm từ cảm biến DHT11, sau đó hiển thị dữ liệu này trên màn hình LCD.
- Là các cảm biến nhiệt độ, độ ẩm DHT 11,cảm biến khí gas MQ-2,cảm biến hồng ngoại Gửi trực tiếp dữ liệu về MCU
- Thực hiện đóng, ngắt các thiết bị như đèn, còi báo động Nhận tín hiệu kích hoạt từ các GPIO của các MCU
- Hiển thị các thông tin nhiệt độ, độ ẩm.
Danh sách các linh kiện và module chính
5 Cảm biến khí gas MQ-2 1
Bảng danh sách linh kiện và các module chính
Sơ đồ nguyên lý
Sơ đồ nguyên lý mạch chi tiết được làm mô phỏng bằng phần mềm Proteus.
Hình 38 Sơ đồ nguyên lý khối ESP32 trên proteus
Hình 39 Sơ đồ nguyên khối STM32 trên proteus
THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM
Yêu cầu đặt ra
Đối với hệ thống IoT được thiết kế để hoạt động liên tục, các yêu cầu chính đã được đặt ra như sau:
Để tối ưu hóa công suất, việc phát triển các thuật toán hiệu quả nhằm tiết kiệm năng lượng tối đa là rất cần thiết, đặc biệt khi thiết bị hoạt động liên tục.
Hệ thống cần đảm bảo đáp ứng thời gian thực bằng cách xử lý các nhiệm vụ với độ trễ thấp, nhằm cung cấp phản hồi nhanh chóng đối với các tín hiệu và sự kiện từ bên ngoài.
Cập nhật dữ liệu chính xác và kịp thời là yếu tố quan trọng để phản ánh đúng tình trạng thực tế của các cảm biến và thiết bị ngoại vi Điều này giúp duy trì hiệu quả hoạt động của toàn bộ hệ thống trong thời gian thực.
Giới thiệu phần mềm lập trình hệ thống
4.2.1 Giới thiệu phần mềm Arduino IDE
Arduino là nền tảng mã nguồn mở kết hợp phần cứng và phần mềm, cho phép người dùng lập trình và biên dịch mã cho các module như Arduino Mega, Arduino Uno và Arduino Due Nền tảng này bao gồm bảng mạch lập trình (vi điều khiển) và phần mềm IDE, giúp người dùng dễ dàng viết và tải mã lên bo mạch.
Thông tin của Arduino IDE
- Nền tảng: Windows, MacOS, Linux
- Loại ứng dụng: Công cụ
- Nhà phát hành: Arduino Software
- Tính năng chính của Arduino IDE
- Phần mềm lập trình mã nguồn mở miễn phí
Arduino đã trở thành nền tảng phổ biến cho hàng ngàn dự án nhờ tính đơn giản và dễ tiếp cận Phần mềm của Arduino thân thiện với người mới bắt đầu, đồng thời cũng đủ linh hoạt để phục vụ cho những người dùng nâng cao Khác với nhiều bo mạch lập trình truyền thống, Arduino không yêu cầu phần cứng phức tạp.
Giao diện phần mềm Arduino cho phép người dùng tải mã mới lên bo mạch một cách dễ dàng qua cáp USB Ngoài ra, Arduino IDE sử dụng phiên bản đơn giản của C++, giúp việc học lập trình trở nên dễ dàng hơn.
Tính năng bảo mật thông tin của Arduino rất đáng tin cậy, với khả năng phát hiện lỗi hệ thống và cải thiện kịp thời Nhà phát hành thường xuyên cập nhật để đảm bảo dữ liệu của người dùng không bị mất mát hoặc rò rỉ ra ngoài.
Arduino IDE là một phần mềm mã nguồn mở, miễn phí cho người dùng tải về và sử dụng Người dùng có quyền sửa đổi, cải tiến và nâng cấp phần mềm theo các nguyên tắc chung mà nhà phát hành quy định, mà không cần xin phép, điều này trái ngược với các phần mềm nguồn đóng.
Có nhiều bộ vi điều khiển và nền tảng như Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard và nhiều loại khác cung cấp chức năng tương tự cho tính toán vật lý Tất cả các công cụ này giúp đơn giản hóa lập trình vi điều khiển, gói gọn trong một giao diện dễ sử dụng, trong đó Arduino cũng nổi bật với khả năng làm việc hiệu quả với vi điều khiển.
- Không tốn kém: Board mạch Arduino tương đối rẻ so với các nền tảng vi điều khiển khác;
Phần mềm Arduino IDE hỗ trợ đa nền tảng, hoạt động trên các hệ điều hành như Windows, Macintosh OSX và Linux, trong khi hầu hết các hệ thống vi điều khiển thường chỉ tương thích với Windows.
Môi trường lập trình Arduino IDE được thiết kế đơn giản và rõ ràng, phù hợp cho cả người mới bắt đầu và người dùng nâng cao Phần mềm này không chỉ dễ sử dụng mà còn cung cấp nhiều tính năng để người dùng có thể tận dụng tối đa khả năng lập trình của mình.
Phần mềm mã nguồn mở cho phép lập trình viên tùy chỉnh và mở rộng chức năng của nó thông qua các thư viện C++ và ngôn ngữ AVR C.
Hình 41 Giao diện Project 4.2.2 Giới thiệu phần mềm STM32CubeIDE
STM32CubeIDE là công cụ miễn phí giúp khởi tạo phần cứng, ngoại vi, xung nhịp…cho vi điều khiển (MCU) STM32 một cách nhanh chóng
Sử dụng phần mềm này giúp tôi nhanh chóng làm quen với dòng vi điều khiển, không cần phải nhớ các thanh ghi hay thiết lập từng bit Các API do nhà sản xuất cung cấp rất dễ sử dụng và tiếp cận.
Tạo project: Mở phần mềm STM32CubeIDE lên, nhấn vào file chọn new project để bắt đầu tạo project mới
Cửa sổ hiện ra với các thiết lập:
Part number: Tìm kiếm MCU
Series: Chọn họ MCU bạn sử dụng
Lines: Chọn dòng MCU bạn sử dụng
Package: Chọn kiểu đóng gói của MCU
Chọn loại MCU chính xác
Sau khi chọn MCU xong ta nhấn vào next và đặt tên cho Project
Hình 42 Giao diện tạo project
Chọn ngoại vi: sau khi đã lựa chọn xong MCU, tiến hành chọn ngoại vi cần dùng tại thẻ PinOut & Configuration
Trong khung bên phải của hình MCU, bạn có thể dễ dàng cấu hình trực quan từng chân của MCU theo các tính năng GPIO mà nó hỗ trợ Chỉ cần nhấp vào chân MCU và chọn chức năng cần thiết để thực hiện cấu hình.
Sau khi lựa chọn ngoại vi cần thiết, người dùng cần cấu hình xung đồng hồ cho ngoại vi đó tại thẻ Cấu hình xung nhịp.
Sau khi điều chỉnh và cấu hình các ngoại vi cần thiết, bạn có thể xuất mã nguồn đã cấu hình bằng cách chọn File -> Save hoặc nhấn Ctrl + S để import vào các trình biên dịch như IAR hoặc Keil C.
Code cho vi điều khiển là quá trình soạn thảo và biên dịch chương trình C hoặc ASM thành ngôn ngữ máy Quá trình này cho phép nạp mã vào vi điều khiển, từ đó tạo điều kiện cho sự tương tác giữa vi điều khiển và lập trình viên.
Hình 45 Giao diện thực hiện chương trình 4.2.3 Giới thiệu ứng dụng Blynk
Blynk là ứng dụng điều khiển và giám sát thiết bị ngoại vi qua internet, hoạt động trên nền tảng Android và iOS Ứng dụng này độc lập và không phụ thuộc vào phần cứng nào, đồng thời hỗ trợ nhiều loại phần cứng như Arduino, ESP8266 và Raspberry Pi.
Lưu đồ giải thuật
4.3.1 Lưu đồ giải thuật cho bộ xử lý trung tâm ESP 32
Hình 48 Lưu đồ giải thuật ESP 32
Kết nối ESP và khai báo địa chỉ của cảm biến cùng thiết bị Tiếp theo, thiết lập kết nối WiFi cho hệ thống Cuối cùng, mở ứng dụng và chọn chế độ hoạt động, bao gồm hai chế độ khác nhau.
+ Nếu có tín hiệu cảm biến hồng ngoại 1 thì bật đèn 1
+ Nếu có tín hiệu cảm biến hồng ngoại 2 thì bật đèn 2
+ Nếu có tín hiệu cảm biến gas thì bật chuông và hiển thị đèn báo cháy.
+ Nếu bật nút nhấn 1 thì đèn 1 bật.
+ Nếu bật nút nhấn 2 thì đèn 2 bật.
4.3.2 Lưu đồ giải thuật cho STM32F407
Hình 49 Lưu đồ giải thuật STM32F407
Dựa vào lưu đồ, hoạt động của hệ thống được thể hiện rõ ràng Quá trình bắt đầu bằng việc khởi tạo hệ thống và kiểm tra xem hệ thống đã được thiết lập hay chưa.
Bộ xử lý trung tâm sẽ nhận giá trị từ cảm biến để đưa tới bộ hiển thị
Sau khi khởi động, chương trình sẽ cấu hình hệ thống và thực hiện các lệnh để đọc giá trị từ cảm biến Khi đã thu thập đủ dữ liệu, chương trình sẽ so sánh các giá trị cảm biến để xác định sự thay đổi Nếu có sự thay đổi, màn hình LCD sẽ được xóa và các biến sẽ được gán giá trị mới Cuối cùng, chương trình con sẽ hiển thị các giá trị cảm biến như nhiệt độ và độ ẩm trên màn hình LCD.
4.3.3Lưu đồ chương trình con hiển thị LCD
Hình 50 Lưu đồ chương trình con hiển thị LCD
Để hiển thị nội dung trên LCD, trước tiên cần xác định vị trí hiển thị và nội dung tương ứng Trong chương trình, sau khi xác định vị trí hàng 1 để hiển thị nhiệt độ, ta tiếp tục xác định vị trí hàng 2 cho nội dung độ ẩm.
Thiết kế App điều khiển
Mục tiêu của dự án là tạo ra một tài khoản ứng dụng cá nhân, cho phép người dùng điều khiển các chân GPIO và nhận dữ liệu từ hệ thống ESP32 ở khoảng cách nhất định trong không gian nội thất.
Để thiết lập Blynk trên máy tính, đầu tiên bạn cần truy cập vào https://blynk.cloud/ và đăng nhập Nếu chưa có tài khoản, hãy chọn "Create new account" để đăng ký Nhập địa chỉ email của bạn và tích chọn "Sign Up".
Hình 52 Đăng kí tài khoản Blynk
Họ sẽ gửi mail về cho bạn, sau đó chọn Create Pasword để tạo mật khẩu Sau khi có tài khoản, bạn đăng nhập vào chọn New Template.
Tiếp theo, chọn Datastreams -> Virtual Pin -> nhập đầy đủ datastream của Pin -> Create
Sau khi chọn xong ta ấn Save để lưu cài đặt.
Hình 53 Thiết lập Blynk trên máy tính
Thiết lập Blynk trên điện thoại
Sau khi tải ứng dụng Blynk về điện thoại, bạn mở ứng dụng và đăng nhập bằng tài khoản đã tạo trên website Tên thiết bị mà bạn đã tạo trước đó trên website sẽ tự động hiển thị trong ứng dụng.
Hình 54 Thiết lập Blynk trên điện thoại
Chọn biểu tượng Button để điều khiển led, Value Display để hiển thị dữ liệu… nhớ chọn chân Pin cho từng mục:
Hình 55 Thiết lập Blynk trên điện thoại
KẾT QUẢ THỰC HIỆN
Các vấn đề khi thi công
Khi thi công có một số vấn đề, tuy không lớn nhưng cũng đáng kể gây mất thời gian như:
- Thi công lỗi: Gắn ngược chiều các linh kiện, đứt/ bong tróc đường mạch, làm gãy, nứt board mạch,…
- Thiết kế lỗi: Thiết kế thiếu linh kiện, đi dây chưa hợp lí
Kết quả thi công và layout
5.2.1 Sơ đồ mạch chi tiết
Hình 56 Sơ đồ mạch chi tiết trên Proteus.
Sơ đồ mạch in PCB
The printed circuit board (PCB) layout illustrated below is designed using Proteus software Within Proteus, the PCB design is created through the ARES module (Advanced Routing and Editing Software), a powerful tool for PCB design This software enables users to produce high-quality PCBs based on the electrical schematics developed in ISIS (Interactive Simulation Integrated Software), another component of Proteus.
Hình 57 Sơ đồ mạch in PCB
Các bước thiết kế mạch in PCB trong proteus bằng module ARES:
- Thiết kế mạch điện trong ISIS:
Sử dụng phần mềm ISIS để thiết kế mạch điện, bạn có thể dễ dàng kéo và thả các linh kiện từ thư viện Proteus, sau đó kết nối chúng bằng dây dẫn để tạo ra một sơ đồ mạch hoàn chỉnh.
Khi mạch điện của bạn đã hoàn chỉnh, bạn có thể chuyển sang module ARES để thiết kế mạch in PCB:
Generate/Update PCB: Trong ISIS, chọn Tools > Generate/Update PCB.
Để chuyển sang Module ARES, bạn hãy chọn Yes khi được hỏi Sau khi chuyển đổi, Module ARES sẽ hiển thị sơ đồ mạch in dưới dạng bản vẽ, sẵn sàng cho bạn thiết kế PCB.
- Thiết kế Mạch In PCB trong ARES:
Trong module ARES, thiết kế mạch in PCB bao gồm các bước quan trọng như định vị linh kiện để tối ưu hóa không gian và kết nối, xác định vị trí và kích thước lỗ khoan cho các linh kiện, cũng như vẽ và điều chỉnh dây dẫn để kết nối các linh kiện theo sơ đồ mạch điện.
- Kiểm tra và Chỉnh Sửa
Sau khi hoàn tất thiết kế, việc kiểm tra và chỉnh sửa mạch in PCB là rất quan trọng để đảm bảo không có lỗi và rằng mạch in được thiết kế chính xác, hiệu quả.
Mô hình hoàn thiện mô phỏng căn phòng tích hợp đầy đủ các thiết bị cần thiết cho đề tài, bao gồm: bo mạch chính, màn hình LCD hiển thị, cảm biến nhiệt độ và độ ẩm, đèn chiếu sáng, cảm biến khí gas, cảm biến hồng ngoại và còi cảnh báo.
Hình 58 Mô hình hoàn thiện
Hình 59 Mô hình hoàn thiện
Mô hình được thiết kế để thuận tiện cho việc quan sát và trình diễn sản phẩm Các thiết bị được sắp xếp xung quanh mô hình như trong một căn phòng thực tế, giúp tối ưu hóa hiệu suất hoạt động của chúng.
Giao diện Application trên điện thoại
Giao diện ứng dụng điều khiển được thiết kế đơn giản, bao gồm các khu vực hiển thị chế độ hoạt động của mạch, đèn LED và cảnh báo khói hoặc cháy Để tạo giao diện trên app Blynk, người dùng chỉ cần kéo các khung và thêm hình ảnh, thông số, cũng như thanh mức Cần thiết lập nhãn đèn, chế độ hoạt động và giao diện cảnh báo để đảm bảo điều khiển thiết bị chính xác, từ đó giúp kiểm soát và quản lý các thiết bị trong nhà hiệu quả.
Hình 60 Giao diện App điều khiển trên điện thoại.
Giao diện của ứng dụng được thiết kế với hai chế độ hoạt động: manual và auto Trong chế độ manual, người dùng có thể bật tắt đèn một cách thủ công, trong khi chế độ auto cho phép điều khiển đèn qua cảm biến hồng ngoại Khi cảm biến khí gas phát hiện khói hoặc cháy, ứng dụng sẽ hiển thị đèn cảnh báo cháy và kích hoạt còi báo động Bên cạnh đó, có các nút để điều khiển bật tắt đèn 1 và đèn 2, cùng với đèn cảnh báo cháy nhằm thông báo cho người sử dụng khi có sự cố khói hoặc cháy xảy ra trong nhà.