ĐỒ Á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[.]
Trang 1LỜ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 đờisố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ủaSmartphone, 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ườinhữ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ốngngà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 giangầ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ệnnay 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ụngcho 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 đồ áncủ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ủachú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ủacá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ácthầ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ủachú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
Trang 2NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 3
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Trang 4
LỜI NÓI ĐẦU 1
PHẦN 1 6
ĐẶT VẤN ĐỀ NGHIÊN CỨU 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
TÌM HIỂU VỀ HỆ ĐIỀU HÀNH ANDROID VÀ VI ĐIỀU KHIỂN 11
PIC 16F877A CÙNG MỘT SỐ THIẾT BỊ NGOẠI VI KHÁC 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
THIẾT KẾ ĐIỀU KHIỂN VÀ GIÁM SÁT CHO MÔ HÌNH NHÀ Ở 35
DÂN DỤNG THÔNG MINH 35
3.1 Thiết kế phần cứng 35
3.1.1 Thiết kế mạch điều khiển 35
Trang 53.1.2 Hướng dẫn các bước thiết kế trên phần mềm Proteous và Altium
38
3.1.3 Hoàn thành mạch in 61
3.1.4 Mạch điện hoàn thành thực tế 62
3.2 Xây dựng phần mềm 65
3.2.1 Lưu đồ thuật toán chương trình điều khiển nhà thông minh 65
3.2.2 Code chương trình điều khiển nhà thông minh 65
a Code chương trình điều khiển nhà thông minh bằng thiết bị Androi 66
(sử dụng APP INVENTOR ) 66
b Code chương trình điều khiển nhà thông minh bằng giọng nói 75
3.3 Kết luận và định hướng phát triển 81
3.3.1 Kết luận 81
3.3.2 Định hướng phát triển: 81
TÀI LIỆU THAM KHẢO 82
Trang 6PHẦN 1 ĐẶT VẤN ĐỀ NGHIÊN CỨU
1.1 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 đènchiếu sáng, nhiệt độ, truyền thông đa phương tiện, an ninh, cửa tự động và nhiều tínhnă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 xungquanh 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ệctố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ốngbáo sự cố khí gas, hệ thống đóng mở cửa tự động, hệ thống phòng ngừa trộm…Nhà thôngminh 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ệntrongnhà 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õicá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ủangành điện - điện tử và những tiến bộ nhanh chóng của công nghệ thông tin, theoWikipedia 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 đếncá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ị
Trang 7đ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ấtnhiề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ạicho 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ănglượ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ếnnhiệ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êntrong ngôi nhà dù chúng ta đang ở bất cứ đâu, để đưa ra các quyết định điều khiển cácthiế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 chongườ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
Trang 8dự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ệntrong 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ạinhữ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ộtngô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 conngườ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ànggiả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ãihơ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ốngnhà thông minh đã giảm xuống trong thời gian gần đây Nhu cầu người sử dụng đã tăngcao đáng kể Theo hãng ABI Research, năm 2012 đã có hơn 1,5 triệu hệ thống nhà thôngminh đượ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 Trongtươ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ốngcủa con người hiện đại
1.2 Đặ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ôngchỉ 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ượnglư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ôinhà 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ăngkinh 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ụngnhà thông minh, đảm bảo cho ngôi nhà có được một số tính năng tự động như sau:
Trang 9 Đó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 BluetoothHC06 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ệuDTMF 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ạigiá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òibá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ủangôi nhà, đến khi sự cố được giải trừ thì tự động đóng Rơ le trung gian trở lại để cấp điệncho ngôi nhà hoạt động bình thường
1.3 Ý 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ànphí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ụngtrê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ủamodul Bluetooth HC06, tín hiệu sẽ được xử lý thông qua mã chương trình đã được lậptrì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
Trang 10trê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ủamodul Bluetooth HC06, tín hiệu sẽ được xử lý thông qua mã chương trình đã được lậptrì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áccô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ềukhiển và modul Bluetooth sẽ hiển thị các thông số nhiệt độ phòng cũng như nồng khí gastrê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ự antoà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ự nguyhiể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ơ letrung 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ểmcủa Rơ le trung gian tổng cấp điện lại cho toàn hệ thống trong ngôi nhà
Trang 11Từ 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
Trang 12Hì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 độngkhá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ấtCPU, đ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
2.2 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ãngMicrochip, 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ệntrong một chu kỳ lệnh 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
Trang 13+ 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ế
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
Trang 142.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
2.3 Các thiết bị ngoại vi sử dụng trong đề tài
- 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
Trang 15Việ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
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 đo nhiệt độ DS18B20 sử dụng chuẩn giao tiếp ONE WIRE (đường dẫntí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:
Trang 16- Độ 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)
Trang 17Khi ở 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
- 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 dungcủ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 contrỏ 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ửacao 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ọnchế độ 4 bit hoặc 8 bit, 1 dòng hay 2 dòng , bật/tắt con trỏ…
Trang 18Để đọc thanh ghi lệnh, ta phải đặt RS=0 và R/W =1 và xung cao xuống thấp chobí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 đếnLCD 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
2.3.4 Module Bluetooth HC06
a 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ớinhau 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ácthiế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ộtcách thuận lợi với giá thành rẻ Khi được kích hoạt, Bluetooth có thể tự động định vị
Trang 19nhữ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ớichú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 3mứ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ôngthườ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
- 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à 5mtrong 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ớimột ứng dụng khác thông qua các chuẩn “Bluetooth profiles”, do đó có thể độc lập về
Trang 20- Bluetooth được dùng trong giao tiếp dữ liệu tiếng nói: có 3 kênh để truyền tiếngnó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 inauthentication 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
b Module Bluetooth HC06
Module Bluetooth để truyền nhận dữ liệu với Smartphone Android với vi điềukhiể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ácRơ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ôngdâ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)
Trang 21Hì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
- 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
Trang 222.3.5 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ạchhoặ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ợptrê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ôngdụ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ôngdụng
Hình 2.8 Bảng tần số âm thanh của bàn phím điện thoại di động.
Trang 23+ 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
Trang 24STQ : Đầ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.
Trang 252.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 áplà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ủaL298 Đâ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ứclogic “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
Trang 26Hình 2.12 Module điều khiển động cơ L298 ngoài thị trường.
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
Trang 27Dò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.
2.4 Giới thiệu phần mềm App Inventor
2.4.1 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ìnhhoà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ũnghoà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ểnkhai 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áytí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 theokiể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
Trang 28đ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ầnmề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éptruy 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
2.4.2 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
Trang 29 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 Propertiesbê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 Propertiesbê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
Trang 30+ Để 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ớikhung để 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ộctí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 đặtsao 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
Trang 31 Để 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.ELEMENTSTo” 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)
Trang 32Và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 ofbytes” màu tím (5) đặt vào lòng (4), sau đó tiếp tục lấy “Call.Bluetooth Client 1.BytesAvailable 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í gas…nhậ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
Trang 33Hì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.
Trang 34PHẦ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
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
3.1 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ôngqua 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ớiModule Bluetooth HC – 06, và Module giải mã âm thanh DTMF Từ đó ta áp dụng vàobà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ằngSmartphone 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ả:
Hình 3.1 Sơ đồ khối mạch điều khiển
MODUL HC06+WIFI 06
MODUL DTMF
VI ĐIỂU KHIỂN PIC16F877A
RƠLE
KHỐI NGUỒN
Trang 35Khố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ùngnguồn từ 6V đến 24VDC, IC7805 dùng để ổn định dòng 5v cấp cho vi điều khiển và cáckhố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ạythẳ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ậnbiết được sự thay đổi này và khởi động lại trạng thái ban đầu cho hệ thống
Trang 36Khố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ạchanh 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ắtRơle, cấp điện 220VAC cho thiêt bị điện hoạt động
Trang 37Khối vi điều khiển:
PWM2 EN
LRS LE LD4 LD6 RX TX
T1CK TX
RX
1 3 5 7 J1
1 3 5 J2
1 3 5 7 9
10 J3
1 3 5 7 9
10 J4 1 3 5 7 9
10 J5 RA0/AN0
2 RA1/AN1 3 RA2/AN2/VREF- 4
RA4/T0CKI 6 RA5/AN4/SS 7
RE0/AN5/RD 8 RE1/AN6/WR 9 RE2/AN7/CS 10
OSC1/CLKIN 13
OSC2/CLKOUT 14
RC1/T1OSI/CCP2RC2/CCP1 16
17 RC3/SCK/SCL 18
RD0/PSP0 19RD1/PSP1 20RB7/PGD 40RB6/PGC 39RB5 38RB4 37RB3/PGM 36RB2 35RB1 34RB0/INT 33
RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21RC7/RX/DT 26RC6/TX/CK 25RC5/SDO 24RC4/SDI/SDA 23RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI 15MCLR/Vpp/THV
1
VDD 11/32
GND
? U1
PIC16F877A 1
X1 CRYSTAL C1
22nF C2 22nF
C3
100nF
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
Trang 38Giao 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
Trang 391 Component, cho phép chọn linh kiện sau khi nhấp nút P ở hộp thoại DEVICES2.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 chocù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
Trang 4015.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
22.I don’t use
23.I don’t know
- 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