1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đề Tài Thiết Kế Mô Hình Nhà Thông Minh Ứng Dụng Vi Điều Khiển.pdf

81 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Mô Hình Nhà Thông Minh Ứng Dụng Vi Điều Khiển
Tác giả Trần Văn Đông, Lê Văn Lượng, Vũ Xuân Trường, Dương Văn Quân
Người hướng dẫn TS. Đặng Ngọc Trung
Trường học University of Thái Nguyên
Chuyên ngành Kỹ Thuật Điện
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2018
Thành phố Thái Nguyên
Định dạng
Số trang 81
Dung lượng 6,79 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • PHẦN 1...................................................................................................................6 (6)
    • 1.1. Giới thiệu về hệ thống nhà thông minh (6)
    • 1.2. Đặt bài toán (8)
    • 1.3. Ý tưởng xây dựng thuật toán điều khiển nhà thông minh (9)
  • PHẦN 2.................................................................................................................11 (11)
    • 2.1. Hệ điều hành Android (11)
      • 2.1.1. Khái niệm (11)
      • 2.1.2. Cấu trúc hệ điều hành Android (11)
    • 2.2. Vi điều khiển PIC 16F877A (12)
      • 2.2.1. Sơ đồ chân vật lý của PIC 16F877A (12)
      • 2.2.2. Sơ đồ tối thiểu để PIC 16F877A có thể hoạt động được (14)
    • 2.3. Các thiết bị ngoại vi sử dụng trong đề tài (14)
    • 2.4. Giới thiệu phần mềm App Inventor (27)
  • PHẦN 3.................................................................................................................35 (34)
    • 3.1. Thiết kế phần cứng (34)
      • 3.1.1. Thiết kế mạch điều khiển (34)
      • 3.1.3. Hoàn thành mạch in (60)
      • 3.1.4. Mạch điện hoàn thành thực tế (61)
    • 3.2. Xây dựng phần mềm (64)
      • 3.2.1. Lưu đồ thuật toán chương trình điều khiển nhà thông minh (64)
      • 3.2.2. Code chương trình điều khiển nhà thông minh (64)
    • 3.3. Kết luận và định hướng phát triển (80)
      • 3.3.1. Kết luận (80)
      • 3.3.2. Định hướng phát triển (80)
  • TÀI LIỆU THAM KHẢO (81)

Nội dung

ĐỒ ÁN TỐT NGHIỆP GVHD TS ĐẶNG NGỌC TRUNG LỜI NÓI ĐẦU Trong cuộc sống ngày nay, trên nền tảng của sự phát triển về công nghệ thông tin, điện dân dụng các sản phẩm khoa học công nghệ dần được đưa vào ứn[.]

Giới thiệu về hệ thống nhà thông minh

Nhà thông minh, hay còn gọi là "Smart Home", là một ngôi nhà hoặc căn hộ được trang bị hệ thống tự động tiên tiến Hệ thống này cho phép điều khiển các yếu tố như đèn chiếu sáng, nhiệt độ, truyền thông đa phương tiện, an ninh, và cửa tự động Mục tiêu của nhà thông minh là nâng cao tiện nghi và an toàn cho cuộc sống, đồng thời sử dụng hợp lý các nguồn tài nguyên.

Theo wiseGeek, một ngôi nhà thông minh là nơi mà hệ thống máy tính hoặc điện thoại có khả năng giám sát nhiều khía cạnh trong cuộc sống hàng ngày Ví dụ điển hình là hệ thống kiểm soát ánh sáng, giúp tiết kiệm điện và tạo không gian phù hợp cho các sự kiện như bữa tiệc tối Ngoài ra, ngôi nhà thông minh còn có thể điều chỉnh rèm cửa, kiểm soát nhiệt độ, phát hiện rò rỉ khí gas, tự động mở đóng cửa và ngăn chặn trộm Các ứng dụng sáng tạo khác bao gồm hệ thống điều khiển giải trí và hệ thống tưới nước.

Các thiết bị điện trong nhà có thể được kết nối với bộ điều khiển trung tâm thông qua hệ thống máy tính hoặc điện thoại, giúp theo dõi trạng thái và đưa ra quyết định điều khiển hợp lý.

Nhà thông minh, từng là một khái niệm trong khoa học viễn tưởng, đã trở thành hiện thực từ thế kỷ 20 nhờ sự phát triển của ngành điện - điện tử và công nghệ thông tin Công nghệ này ngày càng tinh vi, cho phép các tín hiệu điều khiển và giám sát được mã hóa truyền qua hệ thống dây dẫn hoặc mạng không dây đến các bộ chuyển mạch và ổ điện lập trình sẵn, giúp vận hành các thiết bị gia dụng Sự tự động hóa trong nhà mang lại lợi ích đặc biệt cho người lớn tuổi và người tàn tật, những người mong muốn sống độc lập.

Lắp đặt sản phẩm thông minh mang lại nhiều lợi ích cho ngôi nhà và chủ nhân, tương tự như những lợi ích mà công nghệ và máy tính cá nhân đã cung cấp trong 30 năm qua, bao gồm sự tiện nghi, tiết kiệm thời gian, tiền bạc và năng lượng.

Hệ thống nhà thông minh bao gồm các thành phần như cảm biến (nhiệt độ, chuyển động, ánh sáng, âm thanh, khí gas), bộ điều khiển (PLC, vi điều khiển), máy tính, khối thu phát tín hiệu (wifi, Bluetooth) và thiết bị chấp hành (Rơ le trung gian) Nhờ vào các cảm biến và bộ điều khiển, người dùng có thể theo dõi trạng thái ngôi nhà từ xa, từ đó đưa ra quyết định điều khiển thiết bị chấp hành nhằm đảm bảo an toàn và tạo ra môi trường sống tốt nhất.

Hình1.1 Mô hình hệ thống nhà thông minh

Nhiều kiến trúc sư trên thế giới đang xem xét việc áp dụng công nghệ nhà thông minh, giúp giảm chi phí lắp đặt và bảo trì, đồng thời tạo ra hệ thống điện đồng bộ và linh hoạt hơn Đặc biệt, các ngôi nhà và căn hộ đã xây dựng trước đây cũng có thể được cải tạo để tích hợp hệ thống thông minh, mang lại trải nghiệm mới mẻ cho không gian sống.

Hiện nay, các kỹ sư trong lĩnh vực nhà thông minh đang không ngừng sáng tạo để phát triển nhiều tiện ích mới và tối ưu hóa quy trình lắp đặt Trong tương lai gần, ngôi nhà thông minh hứa hẹn sẽ mang đến nhiều khả năng vượt trội.

Tư duy tự điều chỉnh thiết bị một cách hợp lý và khả năng giao tiếp với con người, như trong các bộ phim viễn tưởng, đang dần trở thành hiện thực.

Cuối những năm 1990, nhà thông minh được coi là xa xỉ chỉ dành cho người giàu Tuy nhiên, nhờ sự phát triển của công nghệ vi điện tử và chi phí giảm, các công nghệ điều khiển thông minh giờ đây có thể được áp dụng rộng rãi, giúp người dân có mức sống trung bình dễ dàng làm chủ ngôi nhà thông minh.

Sự phát triển nhanh chóng của công nghệ thông tin và internet đã làm giảm chi phí cho hệ thống nhà thông minh, dẫn đến nhu cầu sử dụng tăng cao Theo ABI Research, năm 2012, hơn 1,5 triệu hệ thống nhà thông minh đã được lắp đặt tại Mỹ, và dự kiến con số này sẽ đạt 8 triệu vào năm 2017 Trong tương lai gần, nhà thông minh hứa hẹn sẽ trở thành xu hướng mới trong cuộc sống hiện đại.

Đặt bài toán

Xuất phát từ nhu cầu mở rộng quy mô ứng dụng hệ thống nhà thông minh, không chỉ dành cho các biệt thự và khách sạn phục vụ tầng lớp thượng lưu, mà còn mang lại cơ hội cho người có thu nhập trung bình sở hữu ngôi nhà thông minh với một số tính năng tự động nhất định Đề tài này nhằm xây dựng mô hình nhà ở dân dụng thông minh, đảm bảo ngôi nhà có những tính năng tự động phù hợp với khả năng kinh tế hạn chế.

 Đóng mở cửa và bật tắt hệ thống chiếu sáng từ xa thông qua điện thoại/máy tính, modul Bluetooth HC06 kết nối với vi điều khiển trung tâm.

 Bật tắt các thiết bị bằng giọng nói thông qua điện thoại gửi đến modul Bluetooth HC06 kết nối với vi điểu khiển trung tâm

 Đóng mở cửa và bật tắt hệ thống chiếu sáng từ xa bằng việc giải mã tín hiệu DTMF của điện thoại.

 Hiển thị nhiệt độ phòng, nồng độ khí gas trên LCD hoặc máy tính/điện thoại giám sát.

Hệ thống tự động phát hiện và cảnh báo sự cố khí gas khi nồng độ vượt mức cho phép bằng còi báo động Đồng thời, nó sẽ ngắt Rơ le trung gian cấp điện xoay chiều cho toàn bộ hệ thống điện trong ngôi nhà Khi sự cố được khắc phục, Rơ le trung gian sẽ tự động đóng lại, khôi phục nguồn điện cho ngôi nhà hoạt động bình thường.

Ý tưởng xây dựng thuật toán điều khiển nhà thông minh

Mô hình nhà thông minh được đề xuất cho phép vận hành thiết bị điện chiếu sáng và cửa ra vào từ xa thông qua bộ điều khiển trung tâm Người sử dụng có thể dễ dàng điều khiển các thiết bị này từ bất kỳ vị trí nào, mang lại sự tiện lợi và linh hoạt trong việc quản lý không gian sống.

Cách 1: Điều khiển thiết bị ở khoảng cách gần bằng modul Bluetooth HC06 cho phép người dùng gửi lệnh đóng cắt thông qua bàn phím máy tính hoặc điện thoại Các lệnh này được mã hóa thành tín hiệu nhờ ứng dụng trên hệ điều hành Android và truyền đến vi điều khiển qua kênh Bluetooth Tín hiệu sau đó được xử lý bởi mã chương trình đã lập trình sẵn trong vi điều khiển, từ đó phát tín hiệu điều khiển tới Rơ le trung gian để cấp điện cho động cơ cửa tự động hoặc thiết bị chiếu sáng.

Cách 2: Điều khiển ở khoảng cách gần bằng giọng nói thông qua modul blutooth

HC06 cho phép người dùng điều khiển thiết bị bằng giọng nói, với các lệnh được mã hóa thành tín hiệu qua ứng dụng trên hệ điều hành Android Tín hiệu này được gửi đến vi điều khiển qua kênh Bluetooth của module HC06 Sau khi xử lý tín hiệu bằng mã chương trình đã lập trình sẵn, vi điều khiển phát tín hiệu điều khiển tới rơ le trung gian để cấp điện cho các thiết bị.

Cách 3: Điều khiển ở khoảng cách xa bằng việc giải mã âm bàn phím nhờ modul

DTMF chuyển đổi tín hiệu âm thanh thành tín hiệu số, sau đó được gửi đến bộ xử lý trung tâm qua modul DTMF để thực hiện lệnh điều khiển thiết bị Ngoài ra, trong mô hình nhà thông minh, các công tắc được lắp đặt ở mỗi phòng cho phép bật tắt thiết bị chiếu sáng một cách thủ công.

Hệ thống giám sát an toàn trong ngôi nhà sử dụng cảm biến nhiệt độ và cảm biến khí gas MQ2, kết hợp với vi điều khiển và modul Bluetooth, cho phép hiển thị thông số nhiệt độ và nồng độ khí gas trên LCD, máy tính và điện thoại Chế độ cảnh báo rò rỉ khí gas được cài đặt sẵn trong vi điều khiển, phát tín hiệu báo động khi nồng độ khí gas vượt ngưỡng cho phép và tự động ngắt điện toàn bộ hệ thống để ngăn ngừa cháy nổ Khi sự cố được khắc phục, hệ thống sẽ tự động cấp điện trở lại cho toàn bộ ngôi nhà.

Hệ điều hành Android

Android là hệ điều hành mã nguồn mở cho thiết bị di động như smartphone, tablet và netbook, được phát triển bởi Google dựa trên nền tảng Linux kernel phiên bản 2.6 Các nhà sản xuất phần cứng có thể tự do sử dụng Android miễn là đáp ứng tiêu chuẩn của Google, như cảm ứng đa điểm và GPS Nhờ tính mở và miễn phí, Android ngày càng phổ biến trên các thiết bị cầm tay Hầu hết các thiết bị Android đều tích hợp công nghệ Bluetooth, giúp người dùng dễ dàng kết nối và điều khiển Tính mở của hệ điều hành này cũng cho phép phát triển ứng dụng tối ưu cho bộ điều khiển.

Việc phát triển một ứng dụng trên nền tảng Mobile Android trở nên đơn giản nhờ vào những lợi thế hiện có Ứng dụng này sẽ chủ yếu thực hiện chức năng truyền và nhận dữ liệu qua Bluetooth để điều khiển bảng thiết bị, và có thể được sử dụng trên các điện thoại Android mà người dùng thường xuyên sử dụng hàng ngày.

2.1.2 Cấu trúc hệ điều hành Android

Hệ điều hành Android được cấu trúc thành 4 tầng, bao gồm: tầng hạt nhân Linux (v2.6) ở dưới cùng, tiếp theo là tầng Libraries & Android Runtime, tầng Application Framework, và cuối cùng là tầng Application ở trên cùng Mô hình tổng thể của các thành phần trong hệ thống Android được thể hiện trong Hình 2.1.

Hình 2.1 Minh Kiến trúc của hệ điều hành Android

Android là hệ điều hành mở, cho phép ứng dụng bên thứ ba chạy nền với giới hạn sử dụng CPU từ 5~10% để tránh độc quyền Các ứng dụng này không có điểm vào cố định và không sử dụng phương thức main để khởi động.

Vi điều khiển PIC 16F877A

Vi điều khiển PIC 16F877A là một vi điều khiển 8 bit tầm trung của Microchip, nổi bật với kiến trúc Harvard Nó sử dụng tập lệnh RISC (Reduced Instruction Set Computer) với 35 lệnh cơ bản, trong đó hầu hết các lệnh được thực hiện trong một chu kỳ lệnh, ngoại trừ các lệnh rẽ nhánh.

2.2.1 Sơ đồ chân vật lý của PIC 16F877A

Vi điều khiển PIC 16F877 A bao gồm 40 chân vật lý được bố trí như Hình 2.2 dưới đây Bao gồm:

+ Các chân nguồn: Chân 11, 32 là các chân VDD (+5v)

Chân 12, là các chân VSS (0v)

+ Chân reset : chân số 1 MCLR là chân reset của pic chân này có nhiệm vụ khởi

+ 4 cổng xuất nhập tín hiệu:

PORT A và thanh ghi TRIS A; PORT B và thanh ghi TRIS B

PORT C và thanh ghi TRIS C; PORT D và thanh ghi TRIS D

+ Bộ đếm và định thời

TIMER 0 là bộ đinh thời 8bit timer hoạt động ở 2 chế độ: chế độ định thời và chế độ đếm.

TIMER 1 là bộ định thời 16 bit được tạo thành từ 2 thanh ghi 8bit TMR1L và TMR1H.

TIMER 2 là bộ định thời 8 bit được ứng dụng để điều chế độ rộng xung (PWM). + Các ngắt thông dụng:

Ngắt tràn timer 0; Ngắt RB RB4-RB7; Ngắt EXT RB0; Ngắt truyền thông

PIC 16F877A được trang bị 2 chân băm xung PWM CCP1 và CCP2, với chu kỳ xung được xác định bởi khoảng thời gian mà giá trị thanh ghi TMR2 tăng đến giá trị thanh ghi PR2.

Hình 2.2 Sơ đồ chân vật lý của PIC 16F877A

2.2.2 Sơ đồ tối thiểu để PIC 16F877A có thể hoạt động được Để họ vi điều khiển PIC nói chung và PIC16F877A nói riêng hoạt động được phải đảm bảo các chân vật lý của vi điều khiển tối thiểu phải được đấu như Hình 2.3

Hình 2.3 Sơ đồ tối thiểu đảm bảo sự hoạt động của PIC 16F877A

Các thiết bị ngoại vi sử dụng trong đề tài

2.3.1 Cảm biến khí gas Để đo nồng độ khí gas (trường hợp rò rỉ khí gas trong ngôi nhà) và hiển thị lên LCD hay máy tính/điện thoại, trong đề tài sử dụng cảm biến khí gas MQ2 với các thông số vật lý như sau:

- Aout: điện áp ra tương tự Nó có giá trị từ 0.3V đến 4.5V, phụ thuộc vào nồng độ khí xung quang MQ2

- Dout: điện áp ra số, giá trị 0,1 phụ thuộc vào điện áp tham chiếu và nồng độ khí mà MQ2 đo được Các loại khí:

+LPG (Khí hóa lỏng)+i-butane

+Propane +Methane +Alcohol +Hydrogen +Smoke

Chân ra số Dout rất hữu ích cho việc kết nối các ứng dụng đơn giản mà không cần vi điều khiển Chỉ cần điều chỉnh giá trị biến trở đến nồng độ mong muốn để cảnh báo Khi nồng độ khí MQ2 đo được thấp hơn mức cho phép, Dout sẽ bằng 1 và đèn LED sẽ tắt Ngược lại, khi nồng độ khí vượt quá mức cho phép, Dout sẽ bằng 0 và đèn LED sẽ sáng.

Hình 2.4 Hình ảnh cảm biến khí gas MQ2

2.3.2 Cảm biến nhiệt độ Để đo nhiệt độ trong ngôi nhà và hiển thị lên LCD hay máy tính/điện thoại, trong đề tài sử dụng cảm biến nhiệt độ DS18B20 với các thông số vật lý như sau:

Cảm biến nhiệt độ DS18B20 sử dụng giao thức ONE WIRE, cho phép tín hiệu và nguồn điện được truyền qua cùng một dây dẫn Điều này cho phép nhiều cảm biến hoạt động trên một đường dẫn, rất phù hợp cho các ứng dụng đo lường đa điểm.

Các đặc điểm kỹ thuật của cảm biến DS1820 có thể kể ra một cách tóm tắt như sau:

Độ phân giải đo nhiệt độ đạt 9 bit, với dải đo từ -55 °C đến 125 °C và từng bậc 0,5 °C Độ chính xác có thể lên đến 0,1 °C nhờ vào việc hiệu chỉnh qua phần mềm, và có khả năng đạt độ phân giải cao hơn lên đến 12 bit.

- Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng (từ 3,0 V đến 5,5 V).

- Dòng tiêu thụ tại chế độ nghỉ cực nhỏ -Thời gian lấy mẫu và biến đổi thành số tương đối nhanh, không quá 200 ms

- 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).

Hình 2.5 Hình ảnh cảm biến nhiệt độ DS18B20

2.3.3 Thiết bị hiển thị LCD

Mạch này dùng để hiện thị trạng thái làm việc của hệ thống Sử dụng LCD 16x2 (2 dòng 16 cột), được nối vào PIC16F877A.

- Các chân Vcc, Vss và Vee:

Chân Vcc cấp dương nguồn 5V, chân Vss nối đất, chân Vee được dùng để điều khiển độ tương phản của màn hình LCD.

Khi ở mức thấp, chỉ thị được truyền đến LCD như xoá màn hình , vị trí con trỏ

….Khi ở mức cao, kí tự được truyền đến LCD.

Chân này xác định hướng dữ liệu giữa LCD và vi điều khiển: ở mức thấp, dữ liệu được ghi vào LCD, còn ở mức cao, dữ liệu được đọc từ LCD Nếu chỉ cần ghi dữ liệu lên LCD, có thể nối chân này xuống GND để tiết kiệm chân.

LCD cho phép truy cập và xuất dữ liệu thông qua chân RS và R/W Khi chân E ở mức cao (1), LCD sẽ kiểm tra trạng thái của hai chân này và phản hồi tương ứng Để chốt dữ liệu trên các chân dữ liệu, cần phải áp dụng một xung mức cao xuống thấp với độ rộng tối thiểu là 450ns Ngược lại, khi chân E ở mức thấp (0), LCD sẽ bị vô hiệu hóa hoặc bỏ qua tín hiệu từ hai chân RS và R/W.

Các chân D0 - D7 là 8 chân dữ liệu 8 bít, dùng để gửi thông tin lên LCD hoặc đọc nội dung từ các thanh ghi của LCD Các ký tự được truyền theo mã ASCII tương ứng, và có các mã lệnh có thể gửi đến LCD để thực hiện các chức năng như xóa màn hình, đưa con trỏ về đầu dòng, hoặc làm nhấp nháy con trỏ.

- LCD có 2 chế độ giao tiếp:

Chế độ 4 bit sử dụng 4 chân D4 đến D7 để truyền dữ liệu, trong khi chế độ 8 bit sử dụng cả 8 chân từ D0 đến D7 Khi truyền 1 byte ở chế độ 4 bit, nửa cao của byte sẽ được truyền trước, sau đó mới đến nửa thấp của byte.

Trước khi truyền kí tự ra màn hình LCD, cần thiết lập chế độ 4 bit hoặc 8 bit, số dòng hiển thị và trạng thái của con trỏ Để đọc thanh ghi lệnh, đặt RS=0 và R/W=1, sau đó tạo xung cao xuống thấp cho bít E Nếu bit D7 (cờ bận) ở mức cao, LCD đang bận và không thể nhận lệnh hay dữ liệu Chỉ khi D7=0, ta mới có thể gửi thông tin đến LCD Việc kiểm tra bit cờ bận trước khi ghi thông tin lên LCD là rất quan trọng.

2.3.4 Module Bluetooth HC06 a Giao tiếp không dây Bluetooth

Bluetooth là công nghệ không dây cho phép các thiết bị điện tử giao tiếp trong khoảng cách ngắn thông qua sóng vô tuyến Nó hoạt động trên băng tần ISM từ 2.40 đến 2.48 GHz, một dãy băng không cần đăng ký, được sử dụng cho các thiết bị không dây trong các lĩnh vực công nghiệp, khoa học và y tế.

Bluetooth được phát triển để thay thế dây cáp giữa máy tính và các thiết bị truyền thông cá nhân, cho phép kết nối vô tuyến giữa các thiết bị điện tử một cách dễ dàng và tiết kiệm chi phí Khi được kích hoạt, Bluetooth tự động phát hiện các thiết bị khác trong khu vực có cùng công nghệ và bắt đầu kết nối Công nghệ này chủ yếu được sử dụng để truyền dữ liệu và âm thanh.

Bluetooth được thiết kế để hoạt động ở mức năng lượng rất thấp Đặc tả đưa ra 3 mức năng lượng từ 1mW tới 100 mW

- Mức năng lượng 1 (100mW): Được thiết kế cho những thiết bị có phạm vi hoạt động rộng (~100m).

- Mức năng lượng 2 (2.5mW): Cho những thiết bị có phạm vi hoạt động thông thường (~10m)

- Mức năng lượng 3 (1mW): Cho những thiết bị có phạm vi hoạt động ngắn (~10cm).

Các đặc điểm của Bluetooth Ưu điểm:

- Tiêu thụ năng lượng thấp, cho phép ứng dụng được trong nhiều loại thiết bị, bao gồm cả các thiết bị cầm tay và điện thoại di động.

- Giá thành hạ (Giá một chip Bluetooth đang giảm dần, và có thể xuống dưới mức 5$ một đơn vị).

- Khoảng cách giao tiếp cho phép :

+ Khoảng cách giữa hai thiết bị đầu cuối có thể lên đến 10m ngoài trời, và 5m trong tòa nhà.

+ Khoảng cách thiết bị đầu cuối và Access point có thể lên tới 100m ngoài trời và 30m trong tòa nhà.

Bluetooth hoạt động trên băng tần không đăng ký 2.4GHz trong dãy băng tần ISM, cho phép tốc độ truyền dữ liệu tối đa lên đến 1Mbps Điều đặc biệt là các thiết bị kết nối qua Bluetooth không cần phải nhìn thấy nhau trực tiếp.

Bluetooth giúp phát triển ứng dụng dễ dàng bằng cách kết nối các ứng dụng với nhau thông qua các chuẩn "Bluetooth profiles", cho phép chúng hoạt động độc lập.

- Bluetooth được dùng trong giao tiếp dữ liệu tiếng nói: có 3 kênh để truyền tiếng nói, và 7 kênh để truyền dữ liệu trong một mạng cá nhân.

- An toàn và bảo mật: được tích hợp với sự xác nhận và mã hóa ( Build in authentication and encryption)

- Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phần mềm hỗ trợ.

- Sử dụng “Frequency Hopping” giúp chống nhiễu giảm va chạm sóng tối đa.

- Có khả năng bảo mật từ 8->128bit.

- Do sử dụng mô hình adhoc nên không thể thiết lập các ứng dụng thời gian thực.

- Khoảng cách kết nối còn ngắn so với các công nghệ mạng không dây khác.

- Số thiết bị active, pack cùng lúc trong một piconect còn hạn chế.

- Tốc độ truyền của Bluetooth không cao.

- Bị nhiễu bởi một số thiết bị sử dụng sóng radio khác, các trang thiết bị khác.

- Bảo mật còn thấp. b Module Bluetooth HC06

Mô-đun Bluetooth cho phép truyền nhận dữ liệu giữa smartphone Android và vi điều khiển, với hai nhiệm vụ chính là xử lý dữ liệu và điều khiển việc đóng mở các rơle, từ đó điều khiển dòng điện 220VAC cung cấp cho các thiết bị điện.

Giới thiệu phần mềm App Inventor

Phương pháp lập trình mới mẻ này cho phép người dùng thiết kế giao diện và lập trình ứng dụng thông qua kéo thả đồ họa trực quan, không cần biết viết code Được phát triển bởi Google và đại học MIT, App Inventor nổi bật với khả năng cho phép người dùng chạy thử ứng dụng trực tiếp trên điện thoại Android kết nối với máy tính Giao diện WYSIWYG giúp người dùng dễ dàng viết phần mềm mà không cần mã hóa, với các chỉ dẫn rõ ràng, giúp họ có thể bắt đầu ngay mà không cần tham khảo tài liệu hướng dẫn.

App Inventor, với cách sử dụng đơn giản, cho phép người dùng truy cập vào nhiều chức năng hữu ích của điện thoại, bao gồm tự động nhắn tin, xác định vị trí qua GPS, và giao tiếp với các ứng dụng web như Amazon, Facebook và Twitter.

 CÁCH TẠO GIAO DIỆN TRÊN APP INVENTOR

To create apps using MIT App Inventor, visit the "APP INVENTOR" website and select "MIT APP INVENTOR." The site will automatically access the Gmail account currently in use Click "Allow" and then "Continue." Navigate to the "Projects" tab and select "Start new project," naming it "NHATHONGMINHK49." The interface will display "Screen1," where you can begin adding buttons and other elements.

Hình 2.14 Bước đầu thiết lập tạo ứng dụng

In the left "User Interface" panel, select "List Picker." Then, in the Properties section on the right side of the screen, assign a name to the button in the "Text" field, such as "FIND DEVICE." This step is essential for creating a button that allows the phone to connect to a device via Bluetooth.

Tiếp tục trong phần "User interface" bên cửa sổ trái, chọn "Label" Sau đó, trong mục Properties bên phải, vào "Text" để gán tên nhãn, ví dụ: "HỆ THỐNG NHÀ THÔNG MINH K50", nhằm tạo tên cho mô hình điều khiển.

Tiếp tục trong phần "User interface", chọn "Label" và vào mục Properties bên phải màn hình Tại đây, xóa nội dung trong mục "Text" để chỉ hiển thị thông tin khi nhận dữ liệu từ vi điều khiển, như nhiệt độ hoặc nồng độ khí gas.

+ Để chọn ảnh nền cho giao diện:  Trên mục “Properties” bên phải cửa sổ màn hình vào “ Back ground image”, sau đó chọn ảnh nền và OK.

Hình 2.15 Xây dựng giao diện cho ứng dụng

+ Để tạo khung chứa các nút ấn điều khiển: Bên cửa sổ trái “ User interface” chọn

“ Lay out”  Chọn “ Table Arrangement” , sau đó sửa số hàng, số cột cho phù hợp với khung để tạo giao diện {Thông thường cột: 3, hàng: 8}.

Để lấy các nút ấn, trong phần "Giao diện người dùng", chọn "NÚT ẤN" và điều chỉnh thuộc tính của các nút Số lượng nút ấn cần thiết để điều khiển thiết bị sẽ tương ứng với số lượng bạn lấy Cuối cùng, hãy sắp xếp chúng một cách hợp lý trong khung đã chọn ở bước trước.

Để liên tục cập nhật thông tin giữa vi điều khiển và điện thoại, hãy chọn “SENSOR” và sau đó là “Clock” Lưu ý rằng sau khi gắp thả vào khung Creen, thông tin sẽ được hiển thị ngoài khung.

Creen phía dưới sẽ xuất hiện giao diện của Clock1.

Để thực hiện giao tiếp qua Bluetooth, hãy chọn “Connectivity” và sau đó “Bluetooth Client” Lưu ý rằng sau khi gắp thả vào khung Creen, giao diện của Bluetooth Client1 sẽ xuất hiện ở phía dưới khung Creen.

Hình 2.16 Giao diện hoàn chỉnh của ứng dụng

 Để viết Code cho các nút ấn… ta thực hiện:

+ Vào “Blocks” trên thanh Tabar phía bên phải:

Bước 1: Tại cửa sổ “Blocks”  “List Picker1, kéo ra cửa sổ Viewer lấy “ When

List Picker1 Before picking do” màu vàng (1)  lấy “SET LIT PICKER 1.ELEMENTS To” màu xanh (2) và đặt (2) vào lòng của (1).

Bước 2: Vào “Bluetooth Client 1” lấy “Bluetooth Client 1.Addresses And Names” màu xanh(3), sau đó lấy (3) đặt vào (2).

{Việc kết nối (1), (2), (3) nhằm mục đích để hiển thị các thiết bị kết nôi với giao diện trên điện thoại qua Bluetooth}

Bước 3: vào tiếp “LIST PICKER1” lấy “When LIST PICKER1 After picking do” màu vàng(1), tiếp tục lấy “set Listpicker1.selection to”màu xanh (2) và đưa (2) vào (1).

Tiếp tục vào “Bluetooth Client1” lấy “Call Bluetooth Client 1.Connect address” màu tím(3), đưa (3) vào (2).

Tiếp tục vào “LIST PICKER1” lấy “Listpicker1.selection” màu xanh(4), đưa (4) vào (3).

{Việc kết nối (1), (2), (3),(4) nhằm mục đích cho phép kết nối với thiết bị nào qua

Bước 4: vào “Clock” lấy “When.clock1.timer do” màu vàng(1)

Tiếp tục vào “Built in”  “Control”  lấy “if.then” màu vàng(2), thả (2) vào lòng (1).

Tiếp theo vào “Bluetooth Client 1” lấy “Bluetooth Client 1.isconnected” màu xanh

(3), sau đó đặt (3) vào “if” của (2)

Vào “Set Lable 2”  lấy “Set Lable 2.text to” màu xanh (4) sau đó đặt (4 )vào

In "Bluetooth Client 1," retrieve the "Call.Bluetooth Client 1.Receivetext number of bytes" (5) and place it into variable (4) Next, obtain the "Call.Bluetooth Client 1.Bytes Available to Receive" (6) and assign it to variable (5).

Bước 4 nhằm tạo ra một bộ đếm thời gian, mỗi khi bộ đếm này tràn, nó sẽ hiển thị các thông số như nhiệt độ và khí gas, được thu thập từ cảm biến và gửi lên giao diện thông qua vi điều khiển.

Bước 5: Viết Code cho các nút ấn

+ Tạo Button 1: “ON PLV” ta thực hiện như sau:

Vào “Button 1”  lấy “When Button1 Click do” màu vàng(1),

Vào “Bluetooth Client 1” lấy“Call Bluetooth Client 1 Sent Text text” màu tím

Vào “Built in” và chọn “Text”, sau đó lấy cái đầu tiên màu hồng (3) và điền ký tự để truyền thông ví dụ như: 1, 2, 3 Để tạo code cho các nút còn lại, tại cửa sổ Block, hãy chuột phải vào code của chúng.

”Button 1” chọn “Duplicate” và sửa các thuộc tính cho các nút tiếp theo.

Chú ý: Để căn chỉnh các khung chữ ra giữa màn hình ta kích chuột trái vào màn hình “Creen1” sau đó đến mục “AlignHorizontal” chọn “center

Hình 2.17 Viết code cho ứng dụng

 Để down chương trình giao diện về điện thoại ta thực hiện:

To download the app, go to the "Build" section on the Tabar and select "App" to save the apk file to your computer The website will automatically download and create the apk file Finally, copy this apk file to your phone to complete the process.

Hình 2.18 Build ứng dụng trên các môi trường giả lập

Thiết kế phần cứng

Mục tiêu của đề tài là xây dựng hệ thống điều khiển thiết bị từ xa qua Bluetooth, wifi và tín hiệu DTMF Hệ thống này cho phép kết nối và trao đổi dữ liệu giữa smartphone Android và Module Bluetooth HC-06, cũng như Module giải mã âm thanh DTMF Người dùng có thể điều khiển các thiết bị điện ON/OFF thông qua smartphone nhờ vào mạch Rơle được điều khiển bởi Vi điều khiển Pic 16F877A.

3.1.1 Thiết kế mạch điều khiển

Sơ đồ khối của mạch điều khiển sử dụng vi điều khiển pic 16F877A Được mô tả:

Hình 3.1 Sơ đồ khối mạch điều khiển

Hình 3.2 Sơ đồ nguyên lý khối nguồn

Khối nguồn cung cấp dòng điện ổn định cho toàn mạch với điện áp từ 6V đến 24VDC IC7805 được sử dụng để ổn định dòng 5V cho vi điều khiển và các khối khác Diode có chức năng bảo vệ mạch khi cắm ngược âm dương Các tụ C6, C7, C4 đóng vai trò là tụ liên lạc và tụ bù điện áp.

Hình 3.3 Sơ đồ nguyên lý mạch Reset

Khối RESET giúp đưa vi điều khiển về trạng thái ban đầu Khi nút Reset được ấn, điện áp +5V từ nguồn được kết nối vào chân Reset của vi điều khiển, dẫn đến việc điện áp tại chân vi điều khiển giảm đột ngột về 0 Vi điều khiển nhận biết sự thay đổi này và khởi động lại hệ thống về trạng thái ban đầu.

Hình 3.4 Sơ đồ nguyên lý mạch dao động

Là khối tạo dạo động cho vi điều khiển hoạt động Trong mạch trên sử dụng thạch anh 20Mhz.

Hình 3.5 Sơ đồ nguyên lý điều khiển Rơ le

Vi điều khiển PIC 16F877A nhận tín hiệu điều khiển và truyền vào IC cách ly quang, giúp mở dòng cho Transistor NPN Q4 Quá trình này cho phép đóng mở rơle, cung cấp điện 220VAC cho thiết bị điện hoạt động.

RC1/T1OSI/CCP2 RC3/SCK/SCL RC2/CCP1 16 17 18

RB7/PGD 40 RB6/PGC 39 RB5 38 RB4 37 RB3/PGM 36 RB2 35 RB1 34 RB0/INT 33

RD7/PSP7 30 RD6/PSP6 29 RD5/PSP5 28 RD4/PSP4 27 RD3/PSP3 22 RD2/PSP2 21

RC7/RX/DT 26 RC6/TX/CK 25 RC5/SDO 24 RC4/SDI/SDA 23

Hình 3.6 Sơ đồ nguyên lý khối vi điều khiển trung tâm

3.1.2 Hướng dẫn các bước thiết kế trên phần mềm Proteous và Altium a Hướng dẫn mô phỏng trên Proteous

- Cài đặt Proteus xong, vào Start menu, khởi động ISIS 7 profesionnal.

Giao diện chính như sau:

Cụm 1: Tạo nhanh một trang thiết kế, mở trang thiết kế đã tạo, lưu trang thiết kế Cụm 2: In cả trang, chọn vùng in tùy ý

Cụm 3: Chia lưới điểm trang thiết kế

Cụm 4: Zoom linh kiện về giữa trang, phóng to trang, thu nhỏ trang, fix trang, zoom vùng tùy chọn

Cụm 5: Cắt, copy, paste trang

Cụm 6: Copy, move, quay, xóa linh kiện trên trang

Cụm 7: Chỉ dùng biểu tượng đầu, chọn linh kiện

1 Component, cho phép chọn linh kiện sau khi nhấp nút P ở hộp thoại DEVICES 2.Chấm điểm trên trang

3.Tạo nhãn: nhấp trái chuột lên dây dẫn và đặt tên

4.Text:nhấp trái chuột và viết

5.Tạo bus:nhấp trái kéo đến điểm khác, lại nhấp trái rồi nhấp phải.Phải đặt label cho cùng tên cho các dây dẫn sử dụng chung bus

7.Nhấp trái lên linh kiện để xem edit component

13.Voltage Probe, giống vôn kế thường nhưng chỉ có 1 đầu dây, hiện số trực tiếp14.Current Probe, như trên nhưng cho giá trị dòng

15.Dụng cụ ảo: oscilloscope, vôn kế AC,DC, ampe kế AC,DC,…

21.Text 2D, nhấp trái vào trang và type

Quay trái, phải, đối xứng chân ngang dọc linh kiện trên hộp hiển thị hình linh kiện

Thanh số 4 Điều khiển start, step by step, pause, stop quá trình mô phỏng

+ Thiết kế mạch mô phỏng Đầu tiên chúng ta sẽ lấy tất cả các linh kiện cần dùng ra hộp thoại DEVICES, có 2 cách:

- Nhấp vào biểu tượng đầu tiên ở cụm 7 trên thanh số 1

- Nhấp vào biểu tượng số 1 trên thanh số 2, rồi nhấp vào chữ P ở hộp thoại DEVICES

Ta sẽ có hộp thoại như sau

Gõ tên linh kiện cần lấy vào ô Keywords (Ví dụ Pic16F877 hay 16f đều được,miễn sao có từ trong tên linh kiện và thây nó xuất hiện là được)

Khi bạn nhấp vào tên linh kiện, hình ảnh và sơ đồ chân mạch sẽ hiển thị bên cạnh Để chọn linh kiện, bạn chỉ cần nhấp OK hoặc nhấp đúp vào tên linh kiện Sau đó, tên linh kiện đã chọn sẽ xuất hiện trong hộp thoại DEVICES.

Để chọn linh kiện cho mạch, bạn có thể gõ "7SEG" để chọn LED 7 thanh và "minres10k – 100R" để lấy điện trở Hãy chọn LED với các màu xanh lá, đỏ và vàng Để đưa linh kiện vào trang thiết kế, chỉ cần nhấp vào tên linh kiện trong hộp thoại.

Sử dụng thanh công cụ để điều chỉnh thiết kế, sau đó nhấp trái vào trang để đặt linh kiện, chẳng hạn như con Pic Để di chuyển linh kiện đến vị trí mong muốn, có hai phương pháp thực hiện.

Để di chuyển linh kiện, bạn hãy nhấp chuột phải vào nó (khi đó nó sẽ chuyển sang màu đỏ), sau đó chọn biểu tượng di chuyển trong cụm số 6 trên thanh công cụ (nút thứ 2 từ trái sang) Linh kiện sẽ dính vào chuột và bạn có thể kéo nó đến vị trí mong muốn, sau đó nhấp chuột trái để hoàn tất.

Để thực hiện thao tác, bạn chỉ cần nhấp chuột phải vào đối tượng (khi nó hiển thị màu đỏ), sau đó nhấn và giữ chuột trái, kéo đến vị trí bạn muốn và thả ra Vậy là xong!

Để thiết kế mạch, bạn cần đưa tất cả linh kiện ra trang thiết kế, bao gồm nguồn và đất Để lấy nguồn và đất, hãy nhấp vào biểu tượng trên thanh công cụ số 2, khi đó hộp thoại DEVICES sẽ hiển thị danh sách linh kiện Sau khi lấy xong, bạn có thể trở về danh sách linh kiện ban đầu bằng cách nhấp lại vào biểu tượng trên thanh công cụ số 2 Cuối cùng, hãy di chuyển các linh kiện đến vị trí thích hợp để chuẩn bị cho việc đi dây.

Tương tự với các linh kiện còn lại ta lấy lần lượt a rồi sắp xếp sao cho hợp lí và đẹp mắt

Tiến hành nối dây cho đúng sơ đồ nguyên lí, có 2 cách đi dây:

- Cách 1: bám chuột trái vào đầu dây cần nối sau đó di chuột đến đích cần nối

- Cách 2: sử dụng công cụ wire label mode để nối Để thực hiện cách 2 ta phải nối nhỏ 1 đoạn dây vào đầu linh kiện cần nối như hình sau

Tiếp theo t bấm công cụ sau đó kích chuột trái vào các đầu nối với nhau ghi tên giống nhau là được

Nối chân x1 và x2 với chân 13,14 của vi điều khiển thì ra làm như trong hình.

Sau khi hoàn thành việc lắp ráp từng linh kiện và kết nối dây theo đúng nguyên lý, ta sẽ có mạch mô phỏng Để nạp file hex cho PIC nhằm thực hiện mô phỏng, hãy nhấp chuột phải và sau đó nhấp chuột trái vào con PIC để mở hộp thoại Edit Component.

Program file: bấm vào hình tệp tin rồi chọn file hex

Processor clock frequency: chọn theo đúng tần số của thạch anh đã chọn

Khâu thiết kế mạch đã hoàn tất, và bây giờ chúng ta sẽ mô phỏng để kiểm tra xem vi điều khiển PIC có thực hiện được các chức năng mong muốn hay không Hãy sử dụng thanh điều khiển để bắt đầu quá trình này Dưới đây là hướng dẫn thiết kế trên phần mềm Altium.

Với sự phát triển nhanh chóng của công nghệ máy tính, CAD (Thiết kế hỗ trợ bằng máy tính) ngày càng trở nên hoàn thiện và được ứng dụng rộng rãi trong nhiều lĩnh vực khoa học kỹ thuật Trong ngành Điện tử, nhiều phần mềm CAD như OrCAD/PSPICE, EAGLE, Multisim Workbench, MicroSim và Altium Designer cho phép người dùng vẽ mạch, mô phỏng mạch điện và chuyển đổi sang mạch in một cách nhanh chóng và hiệu quả.

Altium Designer, trước đây được biết đến với tên Protel DXP, là một trong những phần mềm thiết kế mạch điện tử hàng đầu hiện nay Được phát triển bởi Altium Limited, Altium Designer cung cấp cho người dùng một môi trường làm việc chuyên nghiệp và hiệu quả.

+ Vẽ sơ đồ nguyên lí

Khởi động chương trình từ shortcut trên destop màn hình nền hoặc từ Menu Start

Để bắt đầu với Altium Designer 6, trước tiên bạn cần tạo một dự án mới để thiết lập sơ đồ nguyên lý Cửa sổ làm việc của Altium Designer sẽ hiển thị như hình dưới đây.

Xây dựng phần mềm

3.2.1 Lưu đồ thuật toán chương trình điều khiển nhà thông minh

Lưu đồ thuật toán chương trình điều khiển nhà thông minh theo yêu cầu của bài toán đã đề xuất trên vi điều khiển PIC16F877A như sau:

Hình 3.12 Lưu đồ thuật toán viết cho vi điều khiển

3.2.2 Code chương trình điều khiển nhà thông minh

Chương trình điều khiển nhà thông minh được phát triển cho vi điều khiển PIC 16F877A, sử dụng ngôn ngữ lập trình C và được biên dịch trên trình biên dịch PIC C Compiler Chương trình này cho phép điều khiển các thiết bị thông minh thông qua thiết bị Android.

Chương trình điều khiển mô hình nhà thông minh

#fuses nowdt, hs, noput, noprotect, nodebug, nobrownout, nolvp, nocpd, nowrt

#use rs232(baud00,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

#define Q1 PIN_D4 float nhietdo; float khiga;

//Ngat Timer0 de uu tien cu 200 ms thi doc tin hieu tu mot lan

#int_RDA void RDA_isr(void)

{ char cmd = getc(); switch (cmd)

Trong đoạn mã này, các trường hợp khác nhau được xử lý để điều khiển các phòng và cửa Khi nhận được giá trị '1' hoặc '3', '5', '7', hoặc 'c', hệ thống sẽ bật đèn cho các phòng tương ứng như phòng tắm, phòng ngủ, phòng khách và phòng bếp Ngược lại, khi nhận giá trị '2', '4', '6', '8', 'd', hoặc 'b', hệ thống sẽ tắt đèn cho các phòng đó Đối với các trường hợp 'a', '0', và '9', mã lệnh điều khiển mở hoặc đóng cửa DC1, DC2, DC3 và DC4.

//*** CHUONG TRINH CHINH *** void init(void)

The code initializes various outputs for different rooms, including the living room, bedroom, and kitchen, while also setting the overall system parameters It configures the PWM duty cycle and sets the direction for multiple ports The LCD is initialized, and timer settings are established to manage interrupts effectively Additionally, external interrupt edges are configured to respond to specific signal changes.

// chuong trinh con doc nhiet do khi gas void nhiet_do_khi_ga()

{ setup_adc(adc_clock_internal); set_adc_channel( 0 ); setup_adc_ports(AN0); khiga=read_adc(); khiga=-(khiga*0.48-7.8); khiga=-khiga; nhietdo=ds18b20_read(); lcd_putcmd(line_1);

Printf(lcd_putChar,"NHIET DO: %3.1f ",nhietdo); lcd_putChar(223); lcd_putcmd(line_2);

Printf(lcd_putChar,"KHI GA: %3.1f ",khiga); lcd_putchar(" %");

Printf(" ^_^ khi ga : %3.1f nhiet do : %3.1f ^_^ \r",khiga,nhietdo, ); if (khiga> 0)

{ output_high(coi); delay_ms(200);} else{ output_low(coi); delay_ms(5000);

{output_low(AT_tong);}} if (khiga>20)

{output_high(AT_tong); delay_ms(100); }

// CHUONG TRINH GIAO TIEP VOI MODULE DTMF8870 if((input(Q4)==1) && (input(Q3)==0) && (input(Q2)==0) && (input(Q1)==0))

{ output_high(phong_khach);//1 break; } if((input(Q4)==0) && (input(Q3)==1) && (input(Q2)==0) && (input(Q1)==0))

{ output_low(phong_khach);//2 break; } if((input(Q4)==1) && (input(Q3)==1) && (input(Q2)==0) && (input(Q1)==0))

{ output_high(phong_ngu);//3 break; } if((input(Q4)==0) && (input(Q3)==0) && (input(Q2)==1) && (input(Q1)==0))

{ output_low(phong_ngu);//4 break; } if((input(Q4)==1) && (input(Q3)==0) && (input(Q2)==1) && (input(Q1)==0))

{ output_high(phong_bep); // 5 break; } if((input(Q4)==0) && (input(Q3)==1) && (input(Q2)==1) && (input(Q1)==0))

{ output_low(phong_bep);//6 break;

} if((input(Q4)==1) && (input(Q3)==1) && (input(Q2)==1) && (input(Q1)==0))

{ output_high(phong_tam); //7 break;

} if((input(Q4)==0) && (input(Q3)==0) && (input(Q2)==0) && (input(Q1)==1))

{ output_low(phong_tam);//8 break;

} if((input(Q4)==1) && (input(Q3)==0) && (input(Q2)==0) && (input(Q1)==1))

{ output_low(DC1); // mo cua output_high(DC2); // 9 break;

} if((input(Q4)==0) && (input(Q3)==1) && (input(Q2)==0) && (input(Q1)==1))

{ output_low(DC2); // 0 output_high(DC1); // dong cua break;

{ output_low(pin_E1); setup_adc(ADC_CLOCK_DIV_2); init(); while(true)

} b Code chương trình điều khiển nhà thông minh bằng giọng nói.

Chương trình điều khiển mô hình nhà thông minh

#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT

#use rs232(baud00,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

#define TB4 PIN_C0 float nhietdo; int1 a=0,b=0,c=0,d=0;

#int_RDA void RDA_isr(void)

{ char cmd = getc(); switch (cmd)

The code snippet demonstrates a switch-case structure that controls the output states of various components (TB1, TB2, TB3, TB4) based on specific case values For cases '1', '3', '5', and '7', the corresponding outputs are set to high, while cases '2', '4', '6', and '8' set the outputs to low The case '9' is mentioned but lacks an associated action.

{ output_high(TB1); output_high(TB2); output_high(TB3); output_high(TB4);

{ output_low(TB1); output_low(TB2); output_low(TB3); output_low(TB4);

// output_high(TB4); set_tris_a(0x01); lcd_init();

// set_tris_c(0x80); set_tris_e(0x00); enable_interrupts(GLOBAL); //Cho phep ngat enable_interrupts(INT_RDA);//Cho phep ngat nhan du lieu noi tiep } void nhiet_do()

{ nhietdo=ds18b20_read(); lcd_putcmd(line_2);

Printf(lcd_putChar,"NHIET DO: %3.1f ",nhietdo); lcd_putChar(223);

Printf(lcd_putChar,"DK QUA GIONG NOI "); while(true)

Kết luận và định hướng phát triển

Kết quả từ mô hình nhà thông minh cho thấy thuật toán điều khiển không dây qua điện thoại hoặc máy tính hoàn toàn đáp ứng yêu cầu, tự động báo và giải quyết sự cố khi nồng độ khí gas vượt mức cho phép, từ đó giảm thiểu rủi ro và đảm bảo an toàn cho ngôi nhà Mô hình sử dụng công nghệ Bluetooth, giải mã giọng nói, tín hiệu DTMF và linh kiện điện tử giá rẻ, cho phép lắp đặt dễ dàng cho mọi hộ gia đình Tùy thuộc vào tính năng tự động và khả năng đầu tư của từng gia đình, các mô hình có thể được phát triển phù hợp.

- Mô hình trên có thể phát triển với việc mở rộng các ứng dụng khác trong ngôi nhà

Phát triển thiết bị điều khiển cho phép nhiều điện thoại hoặc máy tính cùng lúc điều khiển các thiết bị, mang lại sự tiện lợi và linh hoạt cho người dùng.

- Phát triển điều khiển thiết bị điện qua các mạng 3G

Ngày đăng: 16/04/2023, 19:05

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w