Đồ án tốt nghiệp: Thiết kế và thi công hệ thống nhà thông minh (ĐH SPKT)

Tài liệu đồ án tốt nghiệp nhà thông minh chi tiết. Hướng dẫn đầy đủ các bước thiết kế, thi công mạch, lập trình hệ thống và ứng dụng Android.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2019

144
3
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng Quan Về Đồ Án Nhà Thông Minh

Đồ án nhà thông minh là một hệ thống tích hợp công nghệ hiện đại để giám sát và điều khiển các thiết bị điện trong gia đình từ xa. Đây là một đề tài nghiên cứu và thực tế phục vụ cho sinh viên ngành kỹ thuật điện tử và truyền thông. Mục tiêu chính của đồ án này là thiết kế một mô hình hoàn chỉnh bao gồm các cảm biến, vi điều khiển, giao thức truyền thông và ứng dụng điều khiển trên điện thoại thông minh. Hệ thống nhà thông minh giúp tiết kiệm năng lượng, tăng cường an ninh gia đình và nâng cao chất lượng cuộc sống. Đồ án này yêu cầu kiến thức từ nhiều lĩnh vực như mạch điện, điện tử cơ bản, lập trình C, vi xử lý và lập trình Android.

1.1. Mục Tiêu Của Đồ Án Nhà Thông Minh

Mục tiêu chính là thiết kế hệ thống giám sát và điều khiển các thiết bị gia dụng thông qua ứng dụng mobile. Hệ thống phải có khả năng nhận dữ liệu từ các cảm biến (nhiệt độ, độ ẩm, chuyển động) và truyền tín hiệu điều khiển đến các khối đóng ngắt để bật/tắt thiết bị. Ngoài ra, hệ thống cần đảm bảo an toàn, độ tin cậy cao và thân thiện với người dùng.

1.2. Ứng Dụng Thực Tế Của Công Nghệ Nhà Thông Minh

Công nghệ nhà thông minh đang trở thành xu hướng tại các hộ gia đình hiện đại. Người dùng có thể điều khiển đèn, quạt, máy lạnh, camera an ninh từ bất kỳ nơi đâu thông qua smartphone. Hệ thống cũng cảnh báo khi có các tình huống bất thường như cứu hỏa, trộm cắp hoặc sự cố kỹ thuật khác.

II. Các Thành Phần Chính Của Hệ Thống Nhà Thông Minh

Một hệ thống nhà thông minh hoàn chỉnh bao gồm nhiều thành phần kỹ thuật phối hợp với nhau. Vi điều khiển là bộ não của hệ thống, xử lý tất cả dữ liệu từ các cảm biến. Giao thức truyền thông như UART, I2C, WiFi giúp các thiết bị giao tiếp với nhau. Cảm biến phát hiện các thông số môi trường và chuyển đổi thành tín hiệu điện. Khối đóng ngắt điều khiển các thiết bị điện công suất. Màn hình LCD hiển thị thông tin thời gian thực, và ứng dụng Android cho phép người dùng điều khiển từ xa qua mạng Internet.

2.1. Vi Điều Khiển Và Các Giao Thức Truyền Thông

Vi điều khiển là thiết bị xử lý trung tâm, nhận dữ liệu từ cảm biến và ra lệnh cho các thiết bị thực thi. Giao thức UART được dùng để giao tiếp tuần tự, I2C kết nối nhiều cảm biến, và WiFi cho phép truyền dữ liệu không dây qua Internet. Những giao thức này đảm bảo giao tiếp nhanh, ổn định và tiết kiệm năng lượng.

2.2. Cảm Biến Và Thiết Bị Đóng Ngắt

Cảm biến đo lường nhiệt độ, độ ẩm, ánh sáng, chuyển động để thu thập dữ liệu môi trường. Thiết bị đóng ngắt như relay điều khiển các thiết bị điện có công suất cao. Khối bàn phím cho phép nhập lệnh thủ công, và màn hình LCD hiển thị trạng thái hệ thống trực quan.

III. Quy Trình Thiết Kế Và Thi Công Hệ Thống

Thiết kế hệ thống nhà thông minh bao gồm nhiều bước phức tạp từ lý thuyết đến thực tế. Đầu tiên, các kỹ sư phải xây dựng sơ đồ khối biểu diễn mối quan hệ giữa các thành phần. Tiếp theo là thiết kế sơ đồ nguyên lý chi tiết cho toàn mạch. Sau đó, nhóm tiến hành vẽ mạch in (PCB design) để thi công bảng mạch kết nối các linh kiện. Lập trình vi điều khiển bằng ngôn ngữ C và phát triển ứng dụng Android để điều khiển hệ thống. Cuối cùng là kiểm thử toàn bộ hệ thống để đảm bảo các chức năng hoạt động đúng.

3.1. Các Bước Thiết Kế Mạch Điện

Thiết kế mạch điện bắt đầu từ lựa chọn các linh kiện phù hợp theo yêu cầu hệ thống. Kỹ sư vẽ sơ đồ nguyên lý toàn mạch, tính toán giá trị điện trở, tụ điện và chỉnh sửa nếu cần. Sau đó, chuyển đổi sang bản vẽ mạch in (PCB layout) để sẵn sàng cho quá trình sản xuất.

3.2. Thi Công Và Lập Trình Ứng Dụng

Thi công mô hình bao gồm dán linh kiện lên PCB, hàn các chi tiết và kiểm tra kết nối. Lập trình vi điều khiển viết các hàm xử lý cảm biến, điều khiển relay và giao tiếp WiFi. Ứng dụng Android phát triển bằng Android Studio với cơ sở dữ liệu Firebase để lưu trữ dữ liệu người dùng.

IV. Ứng Dụng Điều Khiển Và Hướng Phát Triển

Ứng dụng điều khiển là giao diện giữa người dùng và hệ thống nhà thông minh. Thông qua ứng dụng Android trên điện thoại thông minh, người dùng có thể bật/tắt đèn, điều chỉnh nhiệt độ điều hòa, kiểm tra camera an ninh và xem lịch sử sử dụng năng lượng. Ứng dụng kết nối qua giao thức WiFi hoặc mạng Internet thông qua máy chủ Firebase. Hướng phát triển của hệ thống nhà thông minh bao gồm tích hợp trí tuệ nhân tạo (AI) để tự động học hành vi của người dùng, hỗ trợ điều khiển bằng giọng nói, kết nối với các thiết bị IoT thông minh khác, và cải thiện bảo mật dữ liệu người dùng.

4.1. Tính Năng Chính Của Ứng Dụng Điều Khiển

Ứng dụng Android cung cấp giao diện trực quan để kiểm soát tất cả thiết bị. Người dùng có thể xem trạng thái thời gian thực, lập lịch tự động, nhận thông báo cảnh báo, và xem biểu đồ tiêu thụ điện. Hệ thống hỗ trợ đa người dùng và cấp quyền truy cập khác nhau cho từng thành viên gia đình.

4.2. Hướng Phát Triển Tương Lai

Những hướng phát triển tiếp theo bao gồm tích hợp AI học máy để dự đoán nhu cầu người dùng, hỗ trợ giọng nói cho điều khiển hands-free, kết nối IoT với các thiết bị bên ngoài, và nâng cấp bảo mật sử dụng mã hóa end-to-end. Ngoài ra, hệ thống có thể mở rộng để quản lý năng lượng mặt trời và pin lưu trữ.

21/12/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng Quan.  Chương 2: Cơ Sở Lý Thuyết.  Chương 3: Thiết Kế và Tính Toán.  Chương 4: Thi Công Hệ Thống.

 Chương 5: Kết Quả, Nhận Xét, Đánh Giá.  Chương 6: Kết Luận. CNKT ĐIỆN TỬ - TRUYỀN THÔNG 2 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN Chương 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN 2. Vi điều khiển 2.

Giới thiệu giao thức UART Giới thiệu về giao thức truyền UART: Thuật ngữ UART trong tiếng anh là viết tắt của cụm tự Universal Synchronous & Asynchronous serial Reveiver and Transmitter, nghĩa là bộ truyền nhận nối tiếp đồng bộ và không đồng bộ. UART thường được dùng trong máy tính công nghiệp, truyền thông, vi điều khiển hay một số các thiết bị truyền tin khác. Mục đích của UART sinh ra là để truyền tín hiệu qua lại lẫn nhau hay truyền từ vi điều khiển tới vi điều khiển hoặc truyền từ ngoại vi tới vi điều khiển. Trong đó hai thiết bị giao tiếp với nhau thông qua giao thức UART bằng hai đường dẫn RX (read) và TX (transmit).

Vì phương thức giao tiếp không đồng bộ nên hai thiết bị giao tiếp với nhau phải được thống nhất về khung truyền, tốc độ truyền. TX RX Slave Master GND TX RX Hình 2. 1 Cách kết nối hai thiết bị sử dụng giao thức UART.  Sơ đồ khối UART: - Bao gồm hai thành phần là máy phát và máy thu được hiển thị bên dưới.

Phần máy phát bao gồm ba khối là thanh ghi giữ truyền, thanh ghi dịch chuyển và logic điều khiển. Tương tự, phần máy thu bao gồm một thanh ghi giữ, thanh ghi thay đổi và logic điều khiển. Hai phần này thường được cung cấp bởi một bộ tạo tốc độ baud. Trình tạo này được sử dụng để tạo tốc độ khi phần máy phát và phần máy thu phải truyền hoặc nhận dữ liệu.

- Thanh ghi giữ trong máy phát bao gồm byte dữ liệu được truyền. Các thanh ghi thay đổi trong máy phát và máy thu di chuyển các bit sang phải hoặc trái cho đến khi một byte dữ liệu được truyền hoặc nhận. Một logic điều khiển đọc (hoặc) ghi được sử dụng để biết khi nào nên đọc hoặc viết. - Máy phát tốc độ baud giữa máy phát và máy thu tạo ra tốc độ dao động từ 110 bps đến 230400 bps.

Thông thường, tốc độ truyền của vi điều khiển là 9600 đến 115200. CNKT ĐIỆN TỬ - TRUYỀN THÔNG 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN Hình 2. 2 Sơ đồ khối UART Hình 2. 3 Khung truyền dữ liệu của giao thức UART.

 Các khái niệm quan trọng trong chuẩn truyền thông UART: - Baudrate: Số bit truyền được trong 1s, ở truyền nhận không đồng bộ thì ở các bên truyền và nhận phải thống nhất Baudrate. Các thông số tốc độ Baudrate thường hay sử dụng dể giao tiếp với máy tính là 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 56000, 57600, 115200. - Frame: Ngoài việc giống nhau của tốc độ baud 2 thiết bị truyền nhận thì khung truyền của bên cũng được cấu hình giống nhau. Khung truyền quy định số bit CNKT ĐIỆN TỬ - TRUYỀN THÔNG 4 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN trong mỗi lần truyền, bit bắt đầu “Start bit”, các bit kết thúc (Stop bit), bit kiểm tra tính chẵn lẻ (Parity), ngoài ra số bit quy định trong một gói dữ liệu cũng được quy định bởi khung truyền.

Có thể thấy, khung truyền đóng một vai trò rất quan trọng trong việc truyền thành công dữ liệu.  Idle frame: Đường truyền UART ở mức “1”, để xác nhận hiện tại đường truyền dữ liệu trống, không có frame nào đang được truyền đi.  Break frame: Đường truyền UART ở mức “0”, để xác nhận hiện tại trên đường truyền đang truyền dữ liệu, có frame đang được truyền đi. - Start bit: Bit đầu tiên được truyền trong một frame, bit này có chức năng báo cho bên nhận rằng sắp có một gói dữ liệu truyền đến.

Đường truyền UART luôn ở trạng thái cao mức “1” cho đến khi chip muốn truyền dữ liệu đi thì nó gởi bit start bằng cách kéo xuống mức “0”. Như vậy start bit giá trị điện áp 0V và phải bắt buộc có bit start trong khung truyền. 4 Vị trí Start bit - Data: Data hay dữ liệu là thông tin mà chúng ta nhận được trong quá trình truyền và nhận. Data trong STM32 có quy định khung truyền là 8bit hoặc 9bit.

Trong quá trình truyền UART, bit có trọng số thấp nhất (LSB – least significant bit – bên CNKT ĐIỆN TỬ - TRUYỀN THÔNG 5 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN phải) sẽ được truyền trước và cuối cùng là bit có ảnh hưởng cao nhất (MSB – most significant bit – bên trái) - Parity bit: Parity dùng để kiểm tra dữ liệu truyền có đúng hay không. Có 2 loại Parity đó là Parity chẵn (even parity) và parity lẽ (odd parity). Parity chẵn nghĩa là số bit 1 trong trong data truyền cùng với bit Parity luôn là số chẵn, ngược lại nếu Parity lẽ nghĩa là số bit 1 trong data truyền cùng với bit Parity luôn là số lẽ. Bit Parity không phải là bit bắt buộc và vì thế chúng ta có thể loại bỏ bit này ra khỏi khung truyền.

5 Vị trí Parity bit - Stop bits: Stop bits là một bit báo cáo để cho bộ truyền/nhận biết được gói dữ liệu đã được gởi xong. Stop bits là bit bắt buộc phải có trong khung truyền. Stop bits có thể là 1bit, 1.5bit tùy thuộc vào ứng dụng UART của người sử dụng. CNKT ĐIỆN TỬ - TRUYỀN THÔNG 6 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN Hình 2.

6 Vị trí Stop bit 2. Arduino Mega 2560 Arduino đã và đang được sử dụng rất rộng rãi trên thế giới, và ngày càng chứng tỏ được sức mạnh của chúng thông qua vô số ứng dụng độc đáo của người dùng trong cộng đồng nguồn mở (open-source). Dòng mạch Arduino có rất nhiều phiên bản, một trong những phiên bản phổ biến của mạch Arduino chính là Arduino Mega 2560. 7 Arduino Mega 2560 CNKT ĐIỆN TỬ - TRUYỀN THÔNG 7 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN Arduino Mega 2560 là phiên bản nâng cấp của Arduino Mega hay còn gọi là Arduino Mega 1280.

Sự khác biệt lớn nhất với Arduino Mega 1280 chính là chip nhân. Ở Arduino Mega 1280 sử dụng chip ATmega1280 với flash memory 128KB, SRAM 8KB và EEPROM 4 KB. Còn Arduino Mega 2560 là phiên bản hiện đang được sử dụng rộng rãi và ứng dụng nhiều hơn. Với chip ATmega2560 có bộ nhớ flash memory 256 KB, 8KB cho bộ nhớ SRAM, 4 KB cho bộ nhớ EEPROM.

Giúp cho người dùng thêm khả năng viết những chương trình phức tạp và điều khiển các thiết bị lớn hơn như máy in 3D, điều khiển robot. 1 Thông số cơ bản của Mạch Arduino Mega 2560 Vi điều khiển ATmega2560 Điện áp hoạt động 5V Điện áp đầu vào (khuyên dùng) 7-12V Điện áp đầu vào (giới hạn) 6-20V Chân Digital I/O 54 (Với 15 chân PWM output) Chân đầu vào Analog 16 Dòng ra trên chân digital Tối đa 40 mA Dòng ra tối đa (5V) 500 mA Dòng ra trên chân 3.3V 50 mA 256 KB (ATmega2560) với 8 KB dùng bởi bộ Bộ nhớ Flash nạp khởi động SRAM 8 KB (ATmega2560) EEPROM 4 KB (ATmega2560) Xung nhịp 16 MHz CNKT ĐIỆN TỬ - TRUYỀN THÔNG 8 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN  Nguồn cho ARDUINO: Arduino Mega có thể được cấp nguồn thông qua kết nối USB hoặc nguồn ngoài. Nguồn nuôi được chọn một cách tự động. Nguồn ngoài (không phải USB) có thế lấy từ bộ chuyển đổi AC sang DC hoặc từ pin.

Bo mạch có thể hoạt động với nguồn ngoài từ 6 – 20V. Tuy nhiên, nếu nguồn cấp nhỏ hơn 7V thì chân 5V có thể cấp không đủ 5V và bo mạch có thể chạy không ổn định. Nếu cấp lớn hơn 12V, bộ biến áp có thể bị nóng và ảnh hưởng tới mạch. Điện áp khuyến nghị là 7 – 12V.

Các chân cấp nguồn VIN: Điện áp vào mạch Arduino khi nó sử dụng nguồn ngoài (khác với nguồn 5V từ kết nối USB hoặc nguồn khác). Ta có thể cấp nguồn qua chân này hoặc cấp thông qua jack cắm nguồn. 5V: Chân cấp điện áp ra 5V từ bộ điều chỉnh điện áp của bo mạch. 3V3: Chân cấp điện áp ra 3,3V từ bộ điều chỉnh điện áp.

GND: Chân nối đất. IOREF: Chân này cấp điện áp tham chiếu cho vi điều khiển hoạt động. Một shield được cấu hình đúng có thể đọc điện áp chân IOREF và chọn nguồn điện phù hợp hoặc cho phép biến đổi điện áp để làm việc vơi 5,5V hoặc 3,3V.  Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng: 256KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển.

Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu. 8KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi lập trình sẽ lưu ở đây. Khi mất điện, dữ liệu trên SRAM sẽ bị mất. 4KB cho EEPROM (Electrically Erasable Programmable Read Only Memory): đây giống như một chiếc ổ cứng mini – nơi mà có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.

 Các chân vào ra của ARDUINO MEGA 2560: Mỗi chân trong 54 chân digital trên bo Mega có thể sử dụng làm chân input hoặc output. Chúng hoạt động ở 5V. Mỗi chân có thể cấp hoặc nhận tối đa 40mA và CNKT ĐIỆN TỬ - TRUYỀN THÔNG 9 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN có một trở kéo nội (mặc định không nối) từ 20 – 50Kohm. Ngoài ra, một số chân có các chức năng đặc biệt như sau: 8 chân Serial 0 (RX) và 1 (TX), Serial 19 (RX) và 18 (TX), Serial 17 (RX) và 16 (TX), Serial 15 (RX) và 14 (TX) : dùng để gửi (Transmit – TX) và nhận (Receive – RX) dữ liệu TTL Serial.

Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này. Kết nối bluetooth có thể nói là kết nối Serial không dây. Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác Chân giao tiếp SPI: 53 (SS), 51 (MOSI), 50 (MISO), 52 (SCK). Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.

LED 13: trên ARDUINO MEGA 2560 có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ