Đồ án Thiết kế mô hình nhà thông minh - Đặng Ngọc Trung

Tài liệu Đồ án Thiết kế mô hình nhà thông minh - Đặ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 ứng dụng trong đời sống sản xuất và đời sống sinh hoạt của con người. Sự kết hợp các tính năng ưu việt của Smartphone, máy tính, cảm biến với các thiết bị điện dân dụng đem lại cho con người những trải nghiệm về một thế giới thiết bị tự động. Góp phần làm cho điều kiện cuộc sống ngày một được nâng cao, nhu cầu về giải trí hưởng thụ được cải thiện. Một trong những ý tưởng đó đã được phát triển ứng dụng và được nhiều người quan tấm đến trong thời gian gần đây, đó là khái niệm về “nhà thông minh”. Tính năng tự động của nó đem lại, mà hiện nay các ngôi nhà thông minh ngày càng được đưa vào sử dụng rộng rãi trong thực tế, không chỉ đối với các căn biệt thự mà ý tưởng này còn có thể được mở rộng ứng dụng cho những ngôi nhà dân dụng với mức chi phí bình thường. Từ nhu cầu thực tế muốn ước mơ về sử dụng thiết bị điện dân dụng tự động đế...

doc81 trang | Chia sẻ: quangot475 | Lượt xem: 293 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Đồ án Thiết kế mô hình nhà thông minh - Đặng Ngọc Trung, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
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 ứng dụng trong đời sống sản xuất và đời sống sinh hoạt của con người. Sự kết hợp các tính năng ưu việt của Smartphone, máy tính, cảm biến với các thiết bị điện dân dụng đem lại cho con người những trải nghiệm về một thế giới thiết bị tự động. Góp phần làm cho điều kiện cuộc sống ngày một được nâng cao, nhu cầu về giải trí hưởng thụ được cải thiện. Một trong những ý tưởng đó đã được phát triển ứng dụng và được nhiều người quan tấm đến trong thời gian gần đây, đó là khái niệm về “nhà thông minh”. Tính năng tự động của nó đem lại, mà hiện nay các ngôi nhà thông minh ngày càng được đưa vào sử dụng rộng rãi trong thực tế, không chỉ đối với các căn biệt thự mà ý tưởng này còn có thể được mở rộng ứng dụng cho những ngôi nhà dân dụng với mức chi phí bình thường. Từ nhu cầu thực tế muốn ước mơ về sử dụng thiết bị điện dân dụng tự động đến với mọi người dân, đồ án của chúng em đề xuất và xây dựng đề tài “Thiết kế mô hình nhà thông minh ứng dụng vi điều khiển”. Với sự giúp đỡ tận tình của thầy giáo TS. Đặng Ngọc Trung cùng các thầy cô giáo trong bộ môn Kỹ Thuật Điện cùng với sự nỗ lực của cả nhóm đồ án chúng em, đến nay đồ án của chúng em đã hoàn thành. Do kiến thức của chúng em còn hạn chế nên đề tài của chúng em không tránh khỏi những thiếu sót. Chúng em rất mong sự chỉ bảo, góp ý của các thầy cô giáo cùng các bạn sinh viên để nội dung của đề tài thực sự hoàn thiện và được ứng dụng hiệu quả hơn trong đời sống. Chúng em xin chân thành cảm ơn thầy giáo TS. Đặng Ngọc Trung, cảm ơn các thầy cô giáo trong bộ môn Kỹ Thuật Điện đã tận tình giúp đỡ chúng em để đề tài của chúng em được hoàn thành đúng thời hạn. Thái Nguyên, ngày 28 tháng 11 năm 2018 Giáo viên hướng dẫn Nhóm sinh viên thực hiện TS. Đặng Ngọc Trung NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN Contents PHẦN 1 ĐẶT VẤN ĐỀ NGHIÊN CỨU Giới thiệu về hệ thống nhà thông minh Nhà thông minh (tiếng Anh là "Smart Home") hoặc hệ thống nhà thông minh là một ngôi nhà/ căn hộ được trang bị hệ thống tự động tiên tiến dành cho điều khiển đèn chiếu sáng, nhiệt độ, truyền thông đa phương tiện, an ninh, cửa tự động và nhiều tính năng khác nhằm mục đích làm cho cuộc sống ngày càng tiện nghi, an toàn và góp phần sử dụng hợp lý các nguồn tài nguyên. Theo wiseGeek, một ngôi nhà (hoặc căn hộ) được coi là "thông minh" bởi vì hệ thống máy tính/điện thoại của nó có thể giám sát được nhiều khía cạnh diễn ra xung quanh ngôi nhà của chúng ta thường ngày.Một trong những ví dụ cơ bản nhất của nhà thông minh là một hệ thống kiểm soát mức độ chiếu sáng của hệ thống đèn giúp tiết kiệm điện và phù hợp với khung cảnh, chẳng hạn như cài đặt đèn ánh sáng nhẹ cho các bữa tiệc tối. Hệ thống cũng có thể điều chỉnh rèm cửa theo yêu cầu, kiểm soát nhiệt độ, hệ thống báo sự cố khí gas, hệ thống đóng mở cửa tự động, hệ thống phòng ngừa trộmNhà thông minh ngoài ra còn có một số ứng dụng sáng tạo hơn, gồm hệ thống điều khiển giải trí loa đài với công suất khác nhau, hệ thống tưới nước... Các chức năng này có thể được thực hiện nhờ việc ghép nối các thiết bị điệntrong nhà với bộ điều khiển trung tâm thông qua hệ thống máy tính/điện thoại để có thể theo dõi các trạng thái và ra các quyết định điều khiển phù hợp. Nhà thông minh đã được hình dung trong các tác phẩm khoa học viễn tưởng từ nhiều năm nhưng nó chỉ trở thành hiện thực kể từ thế kỷ 20 sau sự phát triển rộng rãi của ngành điện - điện tử và những tiến bộ nhanh chóng của công nghệ thông tin, theo Wikipedia. Công nghệ nhà thông minh ngày càng trở nên tinh vi,các tín hiệu điều khiển và giám sát được mã hóa truyền đi thông qua hệ thống dây dẫn hoặc mạng không dây đến các bộ chuyển mạch, ổ điện được lập trình sẵn để vận hành các đồ gia dụng và thiết bị điện tử ở trong ngôi nhà. Sự tự động hóa của ngôi nhà đặc biệt có ích cho người lớn tuổi và người tàn tật, những người muốn sống tự lập. Việc lắp đặt các sản phẩm thông minh đem lại cho ngôi nhà và chủ nhân của nó rất nhiều lợi ích – tương tự như những lợi ích mà công nghệ và máy tính cá nhân đã đem lại cho chúng ta 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. Các thành phần của hệ thống nhà thông minh bao gồm các cảm biến (như cảm biến nhiệt độ, cảm biến chuyển động, cảm biến ánh sáng, cảm biến âm thanh, cảm biến khí gas), các 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à các thiết bị chấp hành khác (Rơ le trung gian). Nhờ hệ thống cảm biến, các bộ điều khiển và máy tính/điện thoại mà con người có thể theo dõi các trạng thái bên trong ngôi nhà dù chúng ta đang ở bất cứ đâu, để đưa ra các quyết định điều khiển các thiết bị chấp hành một cách phù hợp nhằm đảm bảo sự an toàn cũng như đem lại cho người sử dụng một môi trường sống tốt nhất. Hình1.1. Mô hình hệ thống nhà thông minh Trên thế giới, nhiều kiến trúc sư đang bắt đầu cân nhắc đến nhà thông minh trong khi thiết kế và xây dựng nhà. Khi đó, hệ thống được tích hợp ngay trong quá trình xây dựng thì chi phí cho việc lắp đặt, bảo trì sẽ giảm xuống đồng thời toàn bộ hệ thống điện trong tòa nhà cũng sẽ đồng bộ và linh hoạt hơn. Tuy nhiên, các ngôi nhà hoặc căn hộ đã xây dựng trước đây cũng vẫn có thể sửa đổi để tích hợp hệ thống thông minh vào, đem lại những cảm giác mới cho ngôi nhà của chúng ta. Hiện nay, trong lĩnh vực nhà thông minh, các kỹ sư vẫn đang tiếp tục sáng tạo để tạo ra nhiều tiện ích hơn nữa cho ngôi nhà cũng như tối ưu hóa về triển khai lắp đặt một ngôi nhà thông minh. Trong tương lai không xa, ngôi nhà thông minh có thể có khả năng “tư duy” để tự điều chỉnh các thiết bị một cách phù hợp và có khả năng giao tiếp với con người như trong các bộ phim viễn tưởng là có cơ sở trở thành hiện thực. Cuối những năm 1990, nhà thông minh vẫn được xem là một thứ xa xỉ của nhà giàu. Tuy nhiên, với sự ra đời và phổ biến của công nghệ vi điện tử và chi phí ngày càng giảm của chúng thì các công nghệ điều khiển thông minh có thể được ứng dụng rỗng rãi hơn và đem lại cho mọi người dân có mức sống trung bình có thể làm chủ được ngôi nhà thông minh trong tầm tay. Với sự phát triển vũ bão của công nghệ thông tin, internet và chi phí cho hệ thống nhà thông minh đã giảm xuống trong thời gian gần đây. Nhu cầu người sử dụng đã tăng cao đáng kể. Theo hãng ABI Research, năm 2012 đã có hơn 1,5 triệu hệ thống nhà thông minh được lắp đặt ở Mỹ và dự kiến con số này sẽ tăng đến 8 triệu vào năm 2017. Trong tương lai không xa, có thể hi vọng nhà thông minh sẽ là một xu hướng mới cho cuộc sống của con người 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ỉ tập trung cho các nhà biệt thự, khách sạn phục vụ cho các tầng lớp giàu có thượng lưu, mà còn đem lại cho người có mức thu nhập trung bình có được cơ hội sở hữu ngôi nhà thông minh với một số tính năng tự động nhất định của riêng mình trong khả năng kinh tế có hạn. Vì vậy trong phạm vi của đề tài đề xuất xây dựng mô hình nhà ở dân dụng nhà thông minh, đảm bảo cho ngôi nhà có được một số tính năng tự động như sau: Ø Đó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. Ø Tự động phát hiện và báo sự cố khí gas khi quá nồng độ cho phép thông qua còi báo động, đồng thời ngắt Rơ le trung gian cấp điện xoay chiều cho toàn hệ thống điện của ngôi nhà, đến khi sự cố được giải trừ thì tự động đóng Rơ le trung gian trở lại để cấp đ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 Về bản chất mô hình nhà thông minh đề xuất trong đề tài được vận hành: Đóng cắt từ xa thiết bị điện chiếu sáng và đóng mở cửa qua bộ điều khiển trung tâm. Việc đóng mở cửa và đóng cắt thiết bị chiếu sáng thông qua bộ điều khiển trung tâm giúp cho người sử dụng có thể vận hành các thiết bị ở bất cứ vị trí nào bằng ba cách: Cách 1: Điều khiển ở khoảng cách gần thông qua modul blutooth HC06 lúc này tất cả các hiệu lệnh đóng cắt thiết bị của người sử dụng thông qua các nút ấn trên bàn phím của máy tính hay điện thoại, được mã hóa thành tín hiệu nhờ phần mềm ứng dụng trên hệ điều hành Android và gửi tín hiệu về vi điều khiển thông qua kênh Bluetooth của modul Bluetooth HC06, tín hiệu sẽ được xử lý thông qua mã chương trình đã được 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 hay 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 lúc này tất cả các hiệu lệnh đóng cắt thiết bị của người sử dụng thông qua các khẩu lệnh giọng nói của ta truyền đến, được mã hóa thành tín hiệu nhờ phần mềm ứng dụng trên hệ điều hành Android và gửi tín hiệu về vi điều khiển thông qua kênh Bluetooth của modul Bluetooth HC06, tín hiệu sẽ được xử lý thông qua mã chương trình đã được 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 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 sẽ chuyển từ tín hiệu âm thanh sang tín hiệu dạng số và được đưa tới bộ xủ lý trung tâm thông qua modul DTMF từ đó sẽ được xử lý và đưa ra lệnh điều khiển đóng mở các thiết bị. Bên cạnh đó trong mô hình nhà ở dân dụng thông minh còn bố trí các công tắc ở mỗi phòng để bật tắt thiết bị chiếu sáng bằng tay. Ngoài ra nhờ các cảm biến nhiệt độ và cảm biến khí gas MQ2 và thông qua vi điều khiển và modul Bluetooth sẽ hiển thị các thông số nhiệt độ phòng cũng như nồng khí gas trên LCD, máy tính và điện thoại, để người sử dụng có thể giám sát được đảm bảo sự an toàn trong ngôi nhà tốt nhất. Một điều đáng chú ý đó là chế độ cảnh báo sự cố rò rỉ khí gas trong ngôi nhà thông qua chương trình cài đặt sẵn trong vi điều khiển đưa tín hiệu báo động ra còi báo động khi khí gas vượt quá ngưỡng cho phép, đồng thời giải trừ sự nguy hiểm cho toàn bộ hệ thống điện trong ngôi nhà nhờ tín hiệu từ vi điều khiển đưa đến Rơ le trung gian tổng, ngắt điện lưới toàn hệ thống của ngôi nhà, đảm bảo hạn chế sự cháy nổ do điện gây ra. Khi sự cố khí gas đã được giải trừ thì hệ thống lại tự động đóng tiếp điểm của Rơ le trung gian tổng cấp điện lại cho toàn hệ thống trong ngôi nhà. PHẦN 2 TÌM HIỂU VỀ HỆ ĐIỀU HÀNH ANDROID VÀ VI ĐIỀU KHIỂN PIC 16F877A CÙNG MỘT SỐ THIẾT BỊ NGOẠI VI KHÁC Hệ điều hành Android 2.1.1. Khái niệm Android là một hệ điều hành mã nguồn mở dành cho thiết bị di động như Smartphone, Tablet hay Netbook (thường gọi chung là thiết bị cầm tay thông minh). Android do Google phát triển dựa trên nền tảng Linux kernel phiên bản 2.6 và các phần mềm mã nguồn mở. Bất kỳ một hãng sản xuất phần cứng nào cũng đều có thể tự do sử dụng hệ điều hành Android cho thiết bị của mình, miễn là các thiết bị ấy đáp ứng được các tiêu chuẩn cơ bản do Google đặt ra (như có cảm ứng chạm đa điểm, GPS, 3G,). Nhờ tính mở miễn phí và những ưu điểm của hệ điều hành này, ngày nay các thiết bị cầm tay sử dụng hệ điều hành này càng nhiều và phổ biến. Và một ưu điểm nữa là hầu như các thiết bị Android là đều được tích hợp công nghệ Bluetooth, vì thế người dùng có thể dễ dàng kết nối được với mạch để điều khiển. Việc điều khiển trở lên thuận tiện và tiết kiệm chi phí. Nhờ vào tính mở của hệ điều hành Android chúng ta có thể phát triển ứng dụng một cách tối ưu, phù hợp cho bộ điều khiển. Từ những thuận lợi đó, việc tạo một ứng dụng trên chiếc Mobile Android thật sự dễ dàng, ứng dụng này sẽ có chức năng chính là truyền, nhận dữ liệu qua Bluetooth để điều khiển bảng thiết bị. Và việc này được thực hiện trên những chiếc điện thoại sử dụng hệ điều hành Android mà mọi người thường dùng hằng ngày. 2.1.2. Cấu trúc hệ điều hành Android Kiến trúc hệ điều hành Android gồm 4 tầng, từ dưới lên trên là tầng hạt nhân Linux (v2.6), tầng Libraries & Android Runtime, tầng Application Framework và trên cùng là tầng Application. Mô hình tổng thể của các thành phần bên trong hệ thống sử dụng Android được mình họa trong (Hình 2.1). Hình 2.1. Minh Kiến trúc của hệ điều hành Android Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành di động khác, android cho phép một ứng dụng của bên thứ ba được phép chạy nền. Các ứng dụng đó chỉ có một hạn chế nhỏ đó là nó không được phép sử dung quá 5~10% công suất CPU, điều đó nhằm để tránh độc quyền trong việc sử dụng CPU. Ứng dụng không có điểm vào cố định, không có phương thức main để bắt đầu. Vi điều khiển PIC 16F877A Vi điều khiển PIC 16F877A là loại vi điều khiển 8 bit tầm trung của hãng Microchip, là loại vi điều khiển có kiến trúc Havard, sử dụng tập lệnh kiểu RISC (Reduced Instruction Set Computer) với chỉ 35 lệnh cơ bản, tất cả các lệnh được thực hiện trong một chu kỳ lệnh trừ các lệnh rẽ nhánh. 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 động lại VĐK PIC + 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 PIC 16F877A gồm 3 timer: 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 Ngoài ra PIC 16F877A còn có 2 chân băm xung PWM CCP1 và CCP2 với chu kỳ xung là khoảng thời gian để 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 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 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: Điện áp sử dụng : +5V 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 Việc có chân ra số Dout rất tiện cho ta mắc các ứng dụng đơn giản, không cần đến vi điều khiển. Khi đó ta chỉ cần chỉnh giá trị biến trở tới giá trị nồng độ ta muốn cảnh báo. Khi nồng độ MQ2 đo được thấp hơn mức cho phép thì Dout = 1, đèn Led tắt. Khi nồng độ khí đo được lớn hơn nồng khí cho phép, Dout =0, đèn Led sáng. Hình 2.4. Hình ảnh cảm biến khí gas MQ2 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 đo nhiệt độ DS18B20 sử dụng chuẩn giao tiếp ONE WIRE (đường dẫn tín hiệu và đường dẫn điện áp nguồn nuôi có thể dùng chung trên một dây dẫn). Ngoài ra, nhiều cảm biến có thể dùng chung trên một đường dẫn (Rất thích hợp với 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 khi đo nhiệt độ là 9 bit . Dải đo nhiệt độ -55oC đến 125oC, từng bậc 0,5oC, có thể đạt độ chính xác đến 0,1oC bằng việc hiệu chỉnh qua phần mềm (Có thể đạt đến các độ phân giải 10 bit, 11 bit, 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 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. - RS ( Register select): 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. - R/W (Read/Write): Dùng để xác định hướng của dữ liệu được truyền giữa LCD và vi điều khiển. Khi nó ở mức thấp dữ liệu được ghi đến LCD và khi ở mức cao, dữ liệu được đọc từ LCD. Nếu chúng ta chỉ cần ghi dữ liệu lên LCD thì chúng ta có thể nối chân này xuống GND để tiết kiệm chân. - E (Enable): Cho phép ta truy cập/xuất đến LCD 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 2 chân RS và R/W và đáp ứng cho phù hợp. Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liệu. Xung này phải rộng tối thiểu là 450ns. Còn khi chân E ở mức thấp (0), LCD sẽ bị vô hiệu hoá hoặc bỏ qua tín hiệu của 2 chân RS và R/W. - Các chân D0 - D7: Đây là 8 chân dữ liệu 8 bít, được dùng để gửi thông tin lên LCD hoặc đọc nội dung của các thanh ghi trong LCD. Các kí tự được truyền theo mã tương ứng trong bảng mã ASCII. Cũng có các mã lệnh mà có thể được gửi đến LCD để xoá màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ. - LCD có 2 chế độ giao tiếp: Chế độ 4 bit (chỉ dùng 4 chân D4 đến D7 để truyền dữ liệu) và chế độ 8 bit (dùng cả 8 chân dữ liệu từ D0 đến D7), ở chế độ 4 bit, khi truyền 1 byte, chúng ta sẽ truyền nửa cao của byte trước, sau đó mới truyền nửa thấp của byte. Trước khi truyền các kí tự ra màn hình LCD ta cần thiết lập cho LCD như chọn chế độ 4 bit hoặc 8 bit, 1 dòng hay 2 dòng , bật/tắt con trỏ Để đọc thanh ghi lệnh, ta phải đặt RS=0 và R/W =1 và xung cao xuống thấp cho bít E. Sau khi đọc thanh ghi lệnh, nếu bit D7(cờ bận ) ở mức cao thì LCD bận, không có thông tin hay lệnh nào được xuất đến nó. Khi D7=0 mới có thể gửi lệnh hay dữ liệu đến LCD. Chúng ta nên kiểm tra bit cờ bận trước khi ghi thông tin lên LCD. Hình 2.6. Hình ảnh LCD 16x2 Module Bluetooth HC06 Giao tiếp không dây Bluetooth Khái niệm về Bluetooth Bluetooth là công nghệ không dây cho phép các thiết bị điện, điện tử giao tiếp với nhau trong khoảng cách ngắn, bằng sóng vô tuyến qua băng tần chung ISM (Industrial, Scientific, Medical) trong dãy tầng 2.40- 2.48 GHz. Đây là dãy băng tầng không cần đăng ký được dành riêng để dùng cho các thiết bị không dây trong công nghiệp, khoa học, y tế. Bluetooth được thiết kế nhằm mục đích thay thế dây cable giữa máy tính và các thiết bị truyền thông cá nhân, kết nối vô tuyến giữa các thiết bị điện tử lại với nhau một cách thuận lợi với giá thành rẻ. Khi được kích hoạt, Bluetooth có thể tự động định vị những thiết bị khác có chung công nghệ trong vùng xung quanh và bắt đầu kết nối với chúng. Nó được định hướng sử dụng cho việc truyền dữ liệu lẫn tiếng nói. 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 sử dụng băng tần không đăng ký 2.4Ghz trên dãy băng tần ISM. Tốc độ truyền dữ liệu có thể đạt tới mức tối đa 1Mbps (do sử dụng tần số cao) mà các thiết bị không cần phải thấy trực tiếp nhau (light-of-sight requirements). - Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một ứng dụng này với một ứng dụng khác thông qua các chuẩn “Bluetooth profiles”, do đó có thể độc lập về phần cứng cũng như hệ điều hành sử dụng. - 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. Nhược điểm: - 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. Module Bluetooth HC06 Module Bluetooth để truyền nhận dữ liệu với Smartphone Android với vi điều khiển. Vi điều khiển này có 2 nhiệm vụ chính: xử lý dữ liệu và điều khiển đóng tắt các Rơle để điều khiển dòng điện 220VAC cung cấp cho các thiết bị điện. Mục tiêu đạt ra là kết nối các thiết bị điện gia dụng thông qua khối xử lý trung tâm có sự điều khiển từ xa bởi thiết bị sử dụng hệ điều hành Android và có giao tiếp không dây Bluetooth cơ bản. Mô hình tổng thể hệ thống được trình bày như dưới đây (Hình 2.8). Hình 2.7. Mô hình tổng quan hệ thống điều khiển thiết bị thông qua Bluetooth Thông số kỹ thuật của Module - Cấu hình Slaver là cấu hình ban đầu, không thay đổi được. - Sử dụng chip CSR Bluetooth V2.0. - Điện áp sử cho 3.3V ( Hỗ trợ IC ổn áp đầu vào 5V). - Thứ tự chân: STATE   RXD   TXD   GND   VCC   KEY. - Tốc Độ Hỗ Trợ: 200,2400,4800,9600, 19200,38400,57600,115200. - Kích thước Module: 28mm x 15 mm x 2.35mm. - Dòng hoạt động: 20-30mA. - Tần số: 2.4GHz ISM band. - Tốc độ: Asynchronous: 2.1Mbps(Max)/160kbps Synchronous: 1Mbps/1Mbps. - Bảo mật: Authentication and encryption. - Giao tiếp: Bluetooth serial port. - Nhiệt độ làm việc: -20 ~ +75 oC. - Cấu hình mặc định:9600 baud rate, N, 8, 1. - Pass: 1234. Module giải mã tín hiệu DTMF + DTMF là Dual Tone Multi-Frecenry : là một phương pháp để hướng dẫn một hệ thống chuyển mạch của số điện thoại được gọi đi hoặc ra lệnh cho hệ thống chuyển mạch hoặc thiết bị điện thoại có liên quan bằng cách truyền đi tín hiệu. DTMF được tích hợp trên hầu hết điện thoại trong hệ thốn viễn thông . + Hệ thống DTMF sử dụng 8 tín hiệu tần số khác nhau được truyền đi theo cặp tần số đại diện cho 16 con số,biểu tượng và chữ cái có sẵn trên một bàn phím điện thoại thông dụng. + MT8870 là một thiết bị thu tín hiệu DTMF có tích hợp sẵn bộ lọc tín hiệu DTMF và giải mã chuyển đổi 16 mã DTMF thành một số 4bit dạng số ở đầu ra  + MT8870 có thể ứng dụng để thu tín hiệu DTMF thông qua tín hiệu Audio lấy từ điện thoại có tích hợp tính năng DTMF + Hệ thống DTMF sử dụng 8 tín hiệu tần số khác nhau được truyền đi theo cặp tần số đại diện cho 16 con số,biểu tượng và chữ cái có sẵn trên một bàn phím điện thoại thông dụng. Hình 2.8. Bảng tần số âm thanh của bàn phím điện thoại di động. + MT8870 là một thiết bị thu tín hiệu DTMF có tích hợp sẵn bộ lọc tín hiệu DTMF và giải mã chuyển đổi 16 mã DTMF thành một số 4bit dạng số ở đầu ra : Hình 2.9. Bảng chuyển đổi 16 mã DTMF thành 4 bit dạng số đầu ra Thông số kỹ thuật của Module Điện áp sử dụng : +5V Ứng dụng : - Điều khiển từ xa. - Thiết bị thu trong hệ thống viễn thông - Hệ thống nhắn tin vô tuyến. - Hệ thống thẻ tín dụng. - Máy trả lời điện thoại tự động. Cổng giao tiếp:Q1->Q4 : Đầu ra dữ liệu 4 bit. STQ : Đầu ra báo hiệu có thông tin DTMF được gửi. STQ=1 : Khi có thông tin được gửi đến. STQ=0 : Khi không có thông tin. STQ : Đầu ra đảo của STQ. IN : Đầu vào audio Vcc, GND: Chân nguồn Hình 2.10. Sơ đồ nguyên lý mạch gải mã tín hiệu DTMF Hình 2.11. Modul giải mã tín hiệu DTMF ngoài thị trường. 2.3.6. Module điều khiển động cơ L298 IC L298 là một IC tích hợp nguyên khối gồm 2 mạch cầu H bên trong. Với điện áp làm tăng công suất nhỏ như động cơ DC loại vừa Chức năng các chân của L298: + 4 chân INPUT: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7, 10, 12 của L298. Đây là các chân nhận tín hiệu điều khiển. + 4 chân OUTUT: OUT1, OUT2, OUT3, OUT4 (tương ứng với các chân INPUT) được nối với các chân 2, 3,13,14 của L298. Các chân này sẽ được nối với động cơ. Hai chân ENA và ENB dùng để điều khiển mạch cầu H trong L298. Nếu ở mức logic “1” (nối với nguồn 5V) cho phép mạch cầu H hoạt động, nếu ở mức logic “0” thì mạch cầu H không hoạt động. Với bài toán trên, cách điều khiển chiều quay với L298: - Khi ENA = 0: Động cơ không quay với mọi đầu vào. - Khi ENA = 1: INT1 = 1; INT2 = 0: Động cơ quay thuận. INT1 = 0; INT2 = 1: Động cơ quay nghịch. INT1 = INT2: Động cơ dùng ngay tức thì. Với ENB cũng tương tự với INT3, INT4. Trong bài này mình sử dụng module L298 V3 để điều khiển chiều quay của động cơ DC. Hình 2.12. Module điều khiển động cơ L298 ngoài thị trường. Thông số kỹ thuật : Module L298 có thể điều khiển 2 động cơ DC hoặc 1 động cơ bước, có 4 lỗ nằm ở 4 góc thuận tiện cho người sử dụng cố định vị trí của module. Có gắn tản nhiệt chống nóng cho IC, giúp IC có thể điều khiển với dòng đỉnh đạt 2A. IC L298N được gắn với các đi ốt trên board giúp bảo vệ vi xử lý chống lại các dòng điện cảm ứng từ việc khởi động/ tắt động cơ. Thông số kĩ thuật: Driver: L298N tích hợp hai mạch cầu H Điện áp điều khiển: +5V ~ +12 V Dòng tối đa cho mỗi cầu H là:2A Điện áp của tín hiệu điều khiển: +5 V ~ +7 V Dòng của tín hiệu điều khiển: 0 ~ 36Ma Công suất hao phí: 20W (khi nhiệt độ T = 75 °C) Nhiệt độ bảo quản: -25°C ~ +130 Hình 2.13. Sơ đồ nguyên lý củaModule điều khiển động cơ L298. Giới thiệu phần mềm App Inventor Giới thiệu chung Phương pháp này khá mới mẻ, vì toàn bộ quá trình lập trình tạo giao diện, lập trình hoàn toàn ở dạng kéo thả đồ họa trực quan, dù không biết viết code, ngại lập trình cũng hoàn toàn có thể học được. Đây là ứng dụng lập trình được Google và đại học MIT triển khai và hỗ trợ. Điểm nổi bật của App Inventor là nó cho phép chúng ta vừa thiết kế ứng dụng và chạy thử ứng dụng đó trực tiếp trên chiếc điện thoại Android đang được kết nối với máy tính. Tất cả các công đoạn viết phần mềm đều thông qua giao diện đồ họa trực quan theo kiểu WYSIWYG (What you see is what you get) mà không cần bạn phải sử dụng tới một đoạn mã nào. Các chỉ dẫn trên màn hình đủ dễ hiểu để bạn có thể tiến hành viết phần mềm ngay mà không nhất thiết phải xem qua các bản hướng dẫn sử dụng. Tuy có cách dùng đơn giản nhưng App Inventor khá "hào phóng" khi cho phép truy xuất đến các chức năng thường dùng của điện thoại như chức năng tự động nhắn tin, xác định vị trí hiện tại qua GPS và kể cả giao tiếp với các ứng dụng trên nền web như Amazon, Facebook hay Twitter. Các bước thực hiện Ø CÁCH TẠO GIAO DIỆN TRÊN APP INVENTOR Vào trang web “APP INVENTOR” à MIT APP INVENTOR à Create apps! (Trang web sẽ truy cập mặc định theo gmail đang sử dụng của máy tính) à Allow à continue à projects (trên Tabar) à Start new project (Lưu “NHATHONGMINHK49” làm tên Project), sau đó trên màn hình sẽ hiển thị cửa sổ giao diện “Creen1” là cửa sổ để thao tác gắn các nút ấn Hình 2.14. Bước đầu thiết lập tạo ứng dụng Ø Trên cửa sổ “Creen1” + Bên cửa sổ trái “ User interface” chọn “ List picker” à Trên mục Properties bên phải cửa sổ màn hình vào “Text” gán tên nút ấn, ví dụ: nút ấn “ TÌM THIẾT BỊ” { phần này nhằm tạo nút ấn để khi điện thoại kết nối với thiết bị thực qua module Bluetooth }. + Tiếp tục bên cửa sổ trái “ User interface” chọn “ Lable” à Trên mục Properties bên phải cửa sổ màn hình vào “Text” gán tên nhãn, ví dụ: Nhãn “ HỆ THỐNG NHÀ THÔNG MINH K50 ” { phần này nhằm tạo tên của mô hình điều khiển}. + Tiếp tục bên cửa sổ trái “User interface” chọn “Lable” à Trên mục Properties bên phải cửa sổ màn hình vào “Text” ta xóa kí tự trong Text, để khi có thông tin từ vi điều khiển gửi lên thì mới hiển thị.{ phần này nhằm tạo vùng chứa dữ liệu gửi từ vi điều khiển lên như: thông tin nhiệt độ, 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 thì tại “User interface ” chọn: “BUTTON” và thay đổi thuộc tính các nút ấn, cần bao nhiêu nút ấn điều khiển thiết bị thì lấy bấy nhiêu, sau đó sắp đặt sao cho hợp lý trong khung vừa chọn ở bước trên. + Để cập nhật thông tin liên tục từ vi điều khiển lên máy điện thoại hoặc ngược lại chọn “SENSOR” à Clock. Chú ý sau khi gắp thả vào khung Creen thì ngoài khung Creen phía dưới sẽ xuất hiện giao diện của Clock1. + Để giao tiếp qua Bluetooth chọn “Connectivity” à “Bluetooth Client”. Chú ý sau khi gắp thả vào khung Creen thì ngoài khung Creen phía dưới sẽ xuất hiện giao diện của Bluetooth Client1. 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 Bluetooth }. 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 “then” của (2) Vào “Bluetooth Client 1” lấy “Call.Bluetooth Client 1.Receivetext number of bytes” màu tím (5) đặt vào lòng (4), sau đó tiếp tục lấy “Call.Bluetooth Client 1.Bytes Available to Receive” màu tím(6) đặt vào lòng (5). {Bước 4 mục đích để tạo tràn timer, mỗi lần tràn timer sẽ hiển thị thông số nhiệt độ, khí gasnhận được từ cảm biến thông qua vi điều khiển gửi lên trên giao diệ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 (2), đặt (2) vào (1). Vào “Built in” à “Text” à lấy cái đầu tiên màu hồng (3), sau đó điền ký tự để truyền thông ví dụ như: 1 hoặc 2, 3 Để tạo code cho các nút còn lại tại cửa sổ Block ta chuột phải vào code của ”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: Vào “Build” trên Tabar à App (save. Apk to my computer), sau đó trang web tự down load và tạo ra file.apk, tiếp tục copy File.apk này vào điện thoại là xong. Hình 2.18. Build ứng dụng trên các môi trường giả lập PHẦN 3 THIẾT KẾ ĐIỀU KHIỂN VÀ GIÁM SÁT CHO MÔ HÌNH NHÀ Ở DÂN DỤNG THÔNG MINH Equation Chapter 3 Section 1Equation Section (Next)Equation Section (Next) Từ yêu cầu bài toán đã đưa ra ở phần 1, trong phần này tập trung thiết kế mạch điều khiển bao gồm cả phần cứng và phần mềm dưới đây. Thiết kế phần cứng Mục đích chính của đề tài xây dựng một hệ thống điều khiển thiết bị từ xa thông qua Bluetooth, wifi và tín hiệu giải mã âm thanh DTMF. Hiểu rõ được việc kết nối và trao đổi dữ liệu giữa máy tính/điện thoại Smartphone sử dụng hệ điều hành Android với Module Bluetooth HC – 06, và Module giải mã âm thanh DTMF. Từ đó ta áp dụng vào bài toán thực tế, hệ thống sẽ cho phép người dùng có thể điều khiển các thiết bị điện bằng Smartphone Android thông qua kết nối Bluetooth, wifi hoặc DTMF. Các thiết bị được điều khiển ON/OFF nhờ 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ả: RESET TẠO XUNG MODUL HC06+WIFI 06 MODUL DTMF VI ĐIỂU KHIỂN PIC16F877A RƠLE KHỐI NGUỒN Hình 3.1. Sơ đồ khối mạch điều khiển ØKhối nguồn Hình 3.2. Sơ đồ nguyên lý khối nguồn Là khối dùng để tạo ra dòng điện ổn định cung cấp cho toàn mạch. Mạch dùng nguồn từ 6V đến 24VDC, IC7805 dùng để ổn định dòng 5v cấp cho vi điều khiển và các khối khác, Diode để bảo vệ mạch khi cắm ngược âm dương; C6, C7, C4 là tụ liên lạc và tụ bù điện áp. ØKhối Reset: Hình 3.3. Sơ đồ nguyên lý mạch Reset Khối RESET có tác dụng đư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 nối vào chân Reset của vi điều khiển được chạy thẳng xuống đất lúc này điện áp tại chân vi điều khiển thay đổi đột ngột về 0, VĐK nhận biết được sự thay đổi này và khởi động lại trạng thái ban đầu cho hệ thống. ØKhối tạo xung: 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. Ø Khối điều khiển Rơle: Hình 3.5. Sơ đồ nguyên lý điều khiển Rơ le Có chức năng nhận tín hiệu điều khiển từ vi điều khiển pic 16f877A được đưa vào ic cách ly quang và ic này có nhiệm vụ mở dòng cho Transistor NPN Q4 để đóng tắt Rơle, cấp điện 220VAC cho thiêt bị điện hoạt động. ØKhối vi điều khiển: 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 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ác toolbar chính: Thanh số 1 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 Thanh số 2 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 6.I don’t use 7.Nhấp trái lên linh kiện để xem edit component 8.Nguồn, đất, bus, 9.Chân linh kiện 10.Simulation Graph, I don’t use 11.Tape recorder, I don’t know 12.Generator: DC, xung, sin, 13.Voltage Probe, giống vôn kế thường nhưng chỉ có 1 đầu dây, hiện số trực tiếp 14.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, 16.Vẽ đường 2D 17.Vẽ hộp 2D 18.Vẽ đường tròn 2D 19.Vẽ cung tròn 2D 20.Vẽ đa giác 2D 21.Text 2D, nhấp trái vào trang và type 22.I don’t use 23.I don’t know Thanh số 3 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) Hình linh kiện và sơ đồ chân mạch in hiện ra bên cạnh khi bạn nhấp vào dòng chứa tên linh kiện, để chọn, bạn nhấp OK hoặc nhấp đúp vào tên linh kiện, lúc này trên hộp thoại DEVICES sẽ xuất hiện tên linh kiện đã chọn: Tương tự như vậy ta gõ 7SEG để chọn led 7 thanh, minres10k – 100R để lấy điện trở. LED chọn màu green red và yellow. . . . Để lấy linh kiện ra trang thiết kế, nhấp vào tên linh kiện trong hộp thoại DEVICES, dùng thanh công cụ thay đổi cho phù hợp sau đó sang nhấp trái vào trang thiết kế để đặt linh kiện, ví dụ ta đặt con Pic trước: Để di chuyển nó đến vị trí mong muốn, có 2 cách: - Ta nhấp phải vào nó (lúc này nó có màu đỏ), chọn tiếp biểu tượng move trong cụm số 6 trên thanh số 1 (nút thứ 2 tính từ trái qua), lúc này linh kiện dính và di chuyển theo chuột, di chuyển đến vị trí thích hợp rồi nhấp trái là xong - Ta nhấp phải vào nó (lúc này nó có màu đỏ), sau đó nhấp và giữ chuột trái, kéo đến vị trí mong muốn và thả ra, thế là ok. Tương tự cho các linh kiện còn lại, các bạn đưa hết ra trang thiết kế, nguồn và đất các bạn lấy ra bằng cách nhấp vào biểu tượng trên thanh công cụ số 2, lúc này hộp thoại DEVICES sẽ hiện ra danh sách linh kiện trong đó có nguồn và đất, các bạn lấy ra trang thiết kế như thường.Để trở về danh sách linh kiện ban đầu, bạn nhấp vào biểu tượng trên thanh công cụ số 2, di chuyển các linh kiện đến vị trí thích hợp để chuẩn bị đi dây, ta được: 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 VD như hình sau: 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 thực hiện xong cho từng linh kiện và nối dây theo đúng nguyên lí theo các bước trên ta được mạch mô phỏng như sau: Để nạp file hex cho pic để mô phỏng, nhấp phải rồi nhấp trái lên con Pic, để có hộp thoại Edit Component sau: 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 + Chạy mô phỏng Khâu thiết kế mạch đã hoàn tất, mô phỏng xem con Pic có làm được những gì mình muốn hay không.Dùng thanh điều khiển để bắt đầu. Hướng dẫn thiết kế trên Altium Cùng với sự phát triển nhanh chóng của máy tính, CAD (Computer Aided Design) ngày càng hoàn thiện và được ứng dụng trong hầu hết các lĩnh vực của khoa học kỹ thuật. Đối với chuyên nghành Điện tử, nhiều phần mềm CAD cho phép vẽmạch, mô phỏng mạch điện và chuyển sang mạch in một cách nhanh chóng và hiệu quảnhư: OrCAD/PSPICE, EAGLE, Mutisim Workbench, MicroSim, Altium Designer, Altium Designer, phiên bản trước kia có tên gọi quen thuộc là Protel DXP, là một trong những công cụ vẽ mạch Điện tử mạnh nhất hiện nay. Được phát triển bởi hãng Altium Limited, Altium Designer (Altium) mang lại cho người dùng một môi trường làm việc hết sức chuyên nghiệp. +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 >> All programs >>Altium Designer 6 >> Altium Designer 6. Khi đó cửa sổ làm việc của Altium Designer có dạng như sau: Để tạo sơ đồ nguyên lý trước hết ta cần tạo 1 project (Dự án) mới: Từ menu File >> New >> Project >> PCB Project Hoặc bằng các phím tắt: F, N, J, (Việc sử dụng phím tắt sẽ giúp bạn thiết kến hanh hơn. Các phím tắt của menu tương ứng được gạch chân dưới menu hoặc lệnh tương ứng). Ở đây ta chọn PCB Project: Dự án mạch in để phục vụ cho việc chuyển từ sơ đồ nguyên lý sang mạch in ở các chương sau này, PCB(Printed Circuit Board): mạch in. Bây giờ trên cửa sổ Projects của Bàn làm việc bên phía trái sẽ xuất hiện tên 1 project mới có tên mặc định là: PCB_Project1.PrjPCB và phía bên dưới xuất hiện thông báo No Documents Added: Do chưa có tài liệu, bản vẽ nào trong dự án. Ta có thể lưu lại Project này với tên mới: bấm phải chuột vào PCB_Project1.PrjPCB một menu mới xuất hiện, chọn Save project tại cửa sổ hiện ra chọn nơi lưu giữ project và đặt tên mới cho project tại mục File name. Bây giờ ta thêm bản vẽ sơ đồ nguyên lý mạch điện vào project: bấm phải chuột vào dengiaothong.PrjPCB tại menu xuất hiện chọn: Add New to Project, tại menu con hiện ra chọn tiếp Schematic (Sơ đồnguyên lý). Môi trường làm việc của Altium tự động chuyển sang môi trường vẽ mạch nguyên lý. Từ yêu cầu thiết kế của đề tài ta thiết kế ra mạch gồm các phần tử sau: - 1 PIC16F877A - 1 Thạch anh 20MHz - 2 tụ gốm 22p - 10 điện trở 100 ôm, 2 điện trở 10k - led - Các jumper Ta tiến hành lấy các linh kiện này từ thư viện của Altium. Đây là giao diện vẽ mạch nguyên lý: Để tiến hành lấy linh kiện ta di chuyển chuột đến menu Libraries ở góc phải, nếu không thấy menu này thì vào menu: Designe> Browse Library (Ấn phím tắt: D, B), sau đó kéo thả cửa sổ này vào góc phải của chương trình (ấn và giữ chuột trái, rồi thả vào góc phải), hoặc ấn vào nút, khung Libraries sẽ ở chế độ tự động Nn, menu Librariesxuất hiện bên góc phải để cho ta dễ thao tác. Cửa sổ Libraries xuất hiện. Để lấy điện trở: ta gõ Res1 vào khung tên linh kiện. Hình dạng trong sơ đồ nguyên lý và chân cắm (footprint) sẽ xuất hiện bên dưới. Nhấp Place Res1 để lấy điện trở. Lúc này bên cạnh con trỏ chuột có sợi tóc hình chữ thập (crosshair) đồng thời linh kiện Res1 di chuyển theo con trỏ này. Trước khi chuột trái 1 lần nữa để đặt res1 vào mạch nguyên lý: bấm phím Tab để xuất hiện hộp thoại Component Properties chứa các thông số và tùy chọn về linh kiện. Tương tự với các linh kiện còn lại: - Thạch anh ta gõ “XT2” vào để tìm kiếm - Tụ hóa gõ “cx” - Công tắc “sw” - IC7805 gõ “lm7805” - Màn hinh LCD “LCD” - Role “RELAY” - Cách ly quang “OPTO” Sau khi đã lấy xong linh kiện ta nối các chân lại theo đúng sơ đồ nguyên lí, ta được hình sau: Tiếp theo ta đặt tên cho các linh kiện sau cho không trùng nhau bằng cách vào tools >> annotate schematics >> 1 của sổ annotate hiện ra ta bấm vào update changes lists & accept changes >> close + Chuyển sơ đồ nguyên lý sang mạch in Từ cửa sổ project sẽ có tên mới là: namePrjPCB. Để chuyển sang vẽ mạch in tại menu xuất hiện chọn: Add New to Project, tại menu con hiện ra chọn tiếp PCB (mạch in ). Một bản vẽ dạng mạch in có tên PCB1.PcbDoc xuất hiện ở cửa sổ quản lý các bản vẽ. Ta thực hiện lưu lại trong cùng 1 foder Bây giờ ta Chuyển từ mạch nguyên lý Nguyenly.SchDoc sang mạch in bằng cách, ta trở lại bản vẽ Nguyenly.SchDoc, từ menu Design >> import changes from PCB sau khi chuyển và sắp xếp các linh kiện sao cho hợp lí ta được như hình sau: Nhấn nút Save để lưu bản vẽ. Để chọn độ dày đường mạch in và các thiết lập khác, vào menu Design > Rules (phím tắt D,R) để hiện hộp thoại PCB Rules and Constraints Editor: Chọn Design Rules, chọn tiếp Routing >> Width >>Width, bên phía phải, tại khung Constraints lần lượt điền 20mil vào các mục Min Width, Preferred Width, Max Width, rồi nhấn Apply. Tiếp theo, chuyển sang mục Electrical >> Clearance >>Clearance: bên phía phải, khung Constraints, mục Minimum Clearance nhập lại giá trị 20mil vào: Chuyển sang mục Routing Layers >> Routing Layers, ở phía bên phải, mục Constraints, ta thấy có tuỳ chọn Enable Layers: tùy chọn những lớp mạch in, do ta đã thiết lập mạch in 2 mặt, nên sẽ thấy có 2 lớp: Top layer và Bottom layer, lớp Top layer ta sẽ chỉ dùng để cắm linh kiện, và sẽ cho đi dây ở mặt dưới, nên ta bỏ chọn ở cột Allow Routing đối với Top Layer: khi chọn được kích thước dây ta thực hiện xắp linh kiện và đi dây cho mạch + In mạch in ra file PDF Chuyển ra file pdf để in ra mạch in bằng cách Vào menu File > Smart PDF (phím tắt F,M), cửa sổ Smart PDFhiện ra, nhấn Next, cửa sổ tiếp theo hiện ra Choose Export Target có 2 lựa chọn:Current Project: lựa chọn này cho phép ở file pdf tạo ra tất cả các bản vẽ trong Project Baitap1.PrjPCB Current Document: lựa chọn này thì file pdf tạo ra chỉ có bản vẽ của tài liệu hiện thời, bản vẽ mà bạn chọn. Ở đây chọn Current Project. Phần Output File Name để đặt tên file pdf sẽ tạo ra và nơi lưu file này,sau đó nhấn Next để hiện cửa sổ tiếp theo với các lựa chọn cụ thể tiếp theo. Hoặc ta có thể nhấn Finish để kết thúc. Với yêu cầu bài toán đặt ra như ở phần 1ta có sơ đồ nguyên lý toàn hệ thống được thiết kế trên phần mềm Altium designer như sau: Hình 3.7. Sơ đồ nguyên lý toàn hệ thống + Mạch kết nối giữa mạch điều khiển và mạch chấp hành: Rơle2 +12V GND N L NL D1 D2 NL D3 D4 NL NC C NO NC C NO NL NC C NO NC C NO NL Rơle1 Rơle3 Rơle4 Rơle5 Rơle6 Rơle7 Rơle8 V1 C1 V2 C2 V3 C3 V4 C4 CBAS V5 V6 V7 RD1 RD0 RD3 RD2 RD5 RC1 RC0 MẠCH ĐIỀU KHIỂN PICK16F887A Nguồn Đ1 Đ2 Đ3 Đ4 Rơ le nguồn Đèn báo sự cố Hình 3.8.1. Sơ đồ kết nối giữa mạch điều khiển và mạch chấp hành 1(Mô hình điều khiển qua thiết bị androi) Rơle2 +12V GND N L NL D1 D2 NL D3 D4 NL NC C NO NC C NO NL NC C NO NC C NO NL Rơle1 Rơle3 Rơle4 Rơle5 V1 C1 V2 C2 V3 C3 V4 C4 CBAS V5 V6 V7 RD1 RD0 RD3 RD2 MẠCH ĐIỀU KHIỂN PICK16F887A Nguồn Đ1 Đ2 Đ3 Đ4 Hình 3.8.2. Sơ đồ kết nối giữa mạch điều khiển và mạch chấp hành 2(Mô hình điều khiển bằng giọng nói) 3.1.3. Hoàn thành mạch in Mạch in toàn hệ thống sau khi thiết kế hoàn chỉnh và được quan sát 3D như hình dưới đây: Hình 3.9. Mạch in 3D hoàn chỉnh 3.1.4. Mạch điện hoàn thành thực tế Sau khi lắp đặt hoàn thiện mô hình hệ thống nhà thông minh như hình dưới đây: Hình 3.10. Mô hình nhà thông minh hoàn chỉnh 3.1.5. Một số hình ảnh nhóm thực hiện đề tài 3.2. 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.11. 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 cho vi điều khiển PIC 16F877A được xây dựng và biên dịch trên trình biên dịch PIC C Compiler. Sử dụng ngôn ngữ lập trình C. a. Code chương trình điều khiển nhà thông minh bằng thiết bị Androi (sử dụng APP INVENTOR ). Hình 3.12. Trình biên dịch Chương trình điều khiển mô hình nhà thông minh #include #device ADC=10 #fuses nowdt, hs, noput, noprotect, nodebug, nobrownout, nolvp, nocpd, nowrt #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) #include #include "1wire.c" #include "DS18B20.c" #define phong_tam PIN_D1 #define phong_ngu PIN_C2 #define phong_khach PIN_D0 #define phong_bep PIN_C3 #define AT_tong PIN_C1 #define coi PIN_C0 #define DC3 PIN_D2 #define DC4 PIN_D3 #define DC1 PIN_C4 #define DC2 PIN_C5 #define Q4 PIN_D7 #define Q3 PIN_D6 #define Q2 PIN_D5 #define Q1 PIN_D4 float nhietdo; float khiga; //Ngat Timer0 de uu tien cu 200 ms thi doc tin hieu tu mot lan #INT_TIMER0 Void ngat_timer0() #int_RDA void RDA_isr(void) { char cmd = getc(); switch (cmd) { case '1': output_high(phong_tam); break; case '2': output_low(phong_tam); break; case '3': output_high(phong_ngu); break; case '4': output_low(phong_ngu); break; case '5': output_high(phong_khach); break; case '6': output_low(phong_khach); break; case '7': output_high(phong_bep); break; case '8': output_low(phong_bep); break; case 'b': output_low(DC1); // mo CUA output_high(DC2); break; case 'a': output_low(DC2); // dong CUA output_high(DC1); break; case '0': output_low(DC3); // mo CUA output_high(DC4); break; case '9': output_high(DC3); output_low(DC4); // dong CUA break; case 'c': output_high(phong_lv); output_high(phong_ngu); output_high(phong_khach); output_high(phong_bep); break; case 'd': output_low(phong_tam); output_low(phong_ngu); output_low(phong_khach); output_low(phong_bep); break; } } //*** CHUONG TRINH CHINH *** void init(void) { output_low(phong_tam); output_low(phong_ngu); output_low(phong_khach); output_low(phong_bep); output_low(AT_tong); output_low(coi); set_pwm1_duty(255); set_tris_b(0xFF); set_tris_a(0x01); lcd_init(); set_tris_d(0xff); set_tris_c(0x80); set_tris_e(0x00); set_timer1(50000); enable_interrupts(global); enable_interrupts(INT_RDA); setup_timer_0(rtcc_internal|rtcc_div_64); set_timer0(200); enable_interrupts(int_timer0); ext_int_edge(H_TO_L); } // 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>=200) { output_high(coi); delay_ms(200);} else{ output_low(coi); delay_ms(5000); {output_low(AT_tong);}} if (khiga>=320) {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; } } void main() { output_low(pin_E1); setup_adc(ADC_CLOCK_DIV_2); init(); while(true) { nhiet_do_khi_ga(); } } b. Code chương trình điều khiển nhà thông minh bằng giọng nói. Hình 3.13. Trình biên dịch Chương trình điều khiển mô hình nhà thông minh #include #device ADC=8 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) #include #include "1wire.c" #include "DS18B20.c" #define TB1 PIN_D0 #define TB2 PIN_D1 #define TB3 PIN_C1 #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) { case '1': output_high(TB1); break; case '2': output_low(TB1); break; case '3': output_high(TB2); break; case '4': output_low(TB2); break; case '5': output_high(TB3); break; case '6': output_low(TB3); break; case '7': output_high(TB4); break; case '8': output_low(TB4); break; case '9': { output_high(TB1); output_high(TB2); output_high(TB3); output_high(TB4); } break; case '0': { output_low(TB1); output_low(TB2); output_low(TB3); output_low(TB4); } break; case 'a': a=~a; if(a==1) { output_high(TB1); } if(a==0) { output_low (TB1); } break; case 'b': b=~b; if(b==1) { output_high(TB2); } if(b==0) { output_low (TB2); } break; case 'c': c=~c; if(c==1) { output_high(TB3); } if(c==0) { output_low (TB3); } break; case 'd': d=~d; if(d==1) { output_high(TB4); } if(d==0) { output_low (TB4); } break; } } void init(void) { a=0; b=0; c=0; d=0; // output_low(TB1); // output_low(TB2); // output_low(TB3); // 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); } void main() { init(); lcd_putcmd(line_1); Printf(lcd_putChar,"DK QUA GIONG NOI "); while(true) { nhiet_do(); } } 3.3. Kết luận và định hướng phát triển 3.3.1. Kết luận Qua kết quả chạy thực nghiệm trên mô mình nhà thông minh cho thấy thuật toán xây dựng hoàn toàn đáp ứng được các yêu cầu của bài toán đã đề xuất về tính năng điều khiển không dây thông qua điện thoại hoặc máy tính kiểm soát tự động báo và giải trừ sự cố khi nồng độ khí gas vượt quá nồng độ cho phép từ đó hạn chế được các rủi do có thể xảy ra, đảm bảo sự an toàn cho ngôi nhà. Mô hình nhà thông minh sử dụng đường truyền Buetooth, giải mã giọng nói, giải mã tín hiệu DTMF và các linh kiện điện tử có giá thành rẻ nên có thể lắp đặt cho bất cứ ngôi nhà dân dụng nào, tùy thuộc vào tính năng tự động của thiết bị trong ngôi nhà và khả năng kinh tế đầu tư của mỗi gia đình yêu cầu đến đâu, thì đều có thể phát triển các mô hình đáp ứng phù hợp. 3.3.2. Định hướng phát triển: - 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 không chỉ sử dụng một điện thoại mà có thể sử dụng nhiều điện thoại hoặc máy tính điều khiển các thiết bị cùng một thời điểm. - Phát triển điều khiển thiết bị điện qua các mạng 3G... TÀI LIỆU THAM KHẢO [1] Hãng Microchip, datasheet 16F877A. [2] Hãng ST, datasheet L298. [3] Hãng Texas Instruments, datasheet MAX232. [4] www.diendandientu.com. [5] www.dientuvietnam.net. [6] www.picvietnam.com.

Các file đính kèm theo tài liệu này:

  • docdo_an_tot_nghiep_thiet_ke_mo_hinh_nha_thong_minh_dnt_0505_2162623.doc