Đối với thế giới, Smarthome đã được phát triển từ lâu, chúng đã được đưa vào ứng dụng trong mọi căn nhà và hiện đang được phát triển mạnh hơn. Đối với những nước đang phát triển như Việt Nam, Smarthome có lẽ là một cụm từ khá lạ đối với mọi người nhưng khá quen thuộc cho những người thuộc lĩnh vực cơ khí – công nghệ. Hiện nay, có nhiều nước trên thế giới hay một số hãng điện tử lớn như SAMSUNG đã chế tạo thành công bộ điều khiển cho ngôi nhà thông minh. Trong đề tài này tổng hợp các tài liệu từ nhiều nguồn khác nhau nhằm hệ thống một cách khái quát, chi tiết về cảm biến, module sim900, cụ thể là cấu tạo, nguyên lý, nguyên tắc hoạt động và các ứng dụng quan trọng của nó.
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH KHĨA LUẬN TỐT NGHIỆP THIẾT KẾ, CHẾ TẠO BỘ ĐIỀU KHIỂN CHO MƠ HÌNH NGÔI NHÀ THÔNG MINH Họ tên sinh viên: NGUYỄN LÊ HỒNG THƠNG Ngành: CƠ ĐIỆN TỬ Niên khố: 2011-2015 Tp Hồ Chí Minh, tháng năm 2015 THIẾT KẾ, CHẾ TẠO BỘ ĐIỀU KHIỂN CHO MƠ HÌNH NGƠI NHÀ THƠNG MINH TÁC GIẢ NGUYỄN LÊ HỒNG THƠNG Khóa luận trình đề để đáp ứng yêu cầu cấp Kỹ sư chuyên ngành Cơ Điện Tử Giảng viên hướng dẫn: Thạc sĩ NGUYỄN TẤN PHÚC Tháng 06 năm 2015 LỜI NÓI ĐẦU Thời gian gần đây, cụm từ smarthome (ngôi nhà thông minh) nhắc đến nhiều không giới cơng nghệ mà lĩnh vực kiến trúc, thiết kế nhà Đúng tên nó, ngơi nhà thơng minh mang đến cho người sử dụng tính hữu ích, tiện dụng đại nhờ việc kết hợp kiến trúc công nghệ cảm biến nhà dân dụng Đối với giới, Smarthome đã phát triển từ lâu, chúng đã đưa vào ứng dụng mọi nhà phát triển mạnh Đối với nước phát triển Việt Nam, Smarthome có lẽ mợt cụm từ lạ đối với mọi người quen thuộc cho người tḥc lĩnh vực khí – cơng nghệ Hiện nay, có nhiều nước giới hay mợt số hãng điện tử lớn SAMSUNG đã chế tạo thành công bộ điều khiển cho nhà thông minh Trong đề tài tổng hợp tài liệu từ nhiều nguồn khác nhằm hệ thống một cách khái quát, chi tiết cảm biến, module sim900, cụ thể cấu tạo, nguyên lý, nguyên tắc hoạt động ứng dụng quan trọng Đề tài bao gồm chương: Chương 1: TỔNG QUAN Chương 2: CƠ SỞ LÝ THUYẾT Chương 3: MÔ PHỎNG VÀ MÔ HÌNH HĨA Chương 4: KẾT QUẢ NGHIÊN CỨU VÀ KHẢO NGHIỆM Chương 5: KẾT LUẬN VÀ ĐỀ NGHỊ Do đề tài thực thời gian ngắn, kiến thức điều kiện mặt tài hạn chế nên khơng thể tránh khỏi sai sót Em mong nhận đóng góp ý kiến từ thầy (cơ) bạn để đề tài hoàn thiện LỜI CẢM ƠN Trải qua năm học (2011 – 2015) Trường đại học Nông Lâm thành phố Hồ Chí Minh, với giúp đỡ quý Thầy Cô giáo viên hướng dẫn mọi mặt từ nhiều phía thời gian thực đề tài Được đồng ý Khoa khí – công nghệ, Trường đại học Nông Lâm thành phố Hồ Chí Minh, thầy giáo viên hướng dẫn Thạc sĩ Nguyễn Tấn Phúc, em đã thực đề tài “Thiết kế, chế tạo bộ điều khiển cho nhà thông minh” Em xin chân thành cảm ơn đến quý Thầy Cô bộ môn Cơ Điện Tử thầy cô thuộc bộ môn khác đã giảng dạy kiến thức chuyên môn làm sở để thực tốt đồ án tốt nghiệp đã tạo điều kiện thuận lợi cho em thực hoàn tất khóa học Xin chân thành cảm ơn thầy Th.s Nguyễn Tấn Phúc đã tận tình hướng dẫn, cho em ý kiến, lời dạy giúp em theo định hướng thực đề tài Đồng thời, xin cảm ơn tất bạn đã ủng hộ giúp đỡ śt thời gian làm đề tài Thành phố Hồ Chí Minh, ngày 03 tháng 06 năm 2015 Sinh viên thực Nguyễn Lê Hồng Thơng MỤC LỤC DANH SÁCH CÁC HÌNH Hình 2.1.1 Cảm biến nhiệt độ .6 Hình 2.1.3 Sơ đồ nguyên lý cảm biến nhiệt độ Hình 2.1.4 Sơ đồ tính tốn sai sớ hệ thớng LM35 Hình 2.2.1 Module cảm biến mưa .9 Hình 2.3.1a Cảm biến chuyển đợng HC-SR501 .11 Hình 2.3.1b Giới thiệu cảm biến chuyển động HC-SR501 .12 Hình 2.3.4 Ngun lý hoạt đợng đầu dò PIR 13 Hình 2.4.1 Mợt sớ board Arduino .14 Hình 2.4.2a Sơ đồ chân board Arduino UNO R3 .15 Hình 2.4.2b Sơ đồ chân board Arduino UNO R3 .15 Hình 2.5.1 Mợt sớ hình ảnh Module Sim900 .17 Hình 2.5.3 Chức Module Sim900 19 Hình 2.5.3a Khởi đợng Module Sim900 19 Hình 2.5.3b Test kiểm tra đường truyền Module Sim900 20 Hình 2.5.3c Test nhận cuộc gọi từ Module Sim900 20 Hình 2.5.3d Test nhận tin nhắn SMS Module Sim900 20 Hình 2.5.3e Test gọi điện thoại Module Sim900 .21 Hình 2.5.3f Test tin nhắn Module Sim900 21 Hình 2.5.4c Cấu trúc một tin nhắn .22 Hình 2.5.4d SMS gateway 23 Hinh 2.6.1a Màn hình LCD 1602 .28 Hình 2.6.1b Sơ đồ tên chân hình LCD 1602 28 Hình 3.1 Sơ đồ khối tổng quát 30 Hình 3.1.1a Khới nguồn 31 Hình 3.1.1b Sơ đồ ổn áp 32 Hình 3.1.2 Vi điều khiển Arduino .32 Hình 3.1.3a Cảm biến nhiệt đợ LM35 34 Hình 3.1.3b Module cảm biến mưa 35 Hình 3.1.3c Cảm biến chuyển đợng PIR HC-SR501 36 Hình 3.1.3d Arduino 37 Hình 3.2.1 Lưu đồ giải thuật .38 Hình 4.1.1 Mơ hình mơ 39 Hình 4.1.2 Mơ hình thực tế .40 Hình 4.2.1a Cảm biến mưa mơ hình 41 Hình 4.2.1b Cảm biến chuyển động HC-SR501 động Servo mô hình41 Hình 4.2.1c Module Sim900 mơ hình 42 Hình 4.2.1d Arduino, bợ nguồn, LM35 mơ hình .42 Hình 4.2.2a Hoạt đợng cảm biến chuyển đợng PIR đợng servo 43 Hình 4.2.2b Hoạt đợng Module cảm biến mưa động servo 43 Hình 4.2.2c Cảm biến chuyển đợng PIR module cảm biến mưa hoạt đợng 44 Hình 4.2a Cú pháp soạn tin nhắn 44 Hình 4.2b Có chuyển đợng thân nhiệt 45 Hình 4.2c Khi trời có mưa 45 Hình 4.2d Khi có chuyển động thân nhiệt trời mưa .45 Hình 4.2e Khi nhà khơng có tượng 45 DANH SÁCH CÁC BẢNG Bảng 2.4.3 Bảng đặc điểm kỹ thuật Arduino UNO R3 .16 Bảng 2.5.2 Bảng mô tả chức chân Module Sim900 18 Bảng 2.5.6a Cú pháp mở rộng chế độ lệnh AT 27 Bảng 2.5.6b Một số lệnh thường dùng tập lệnh AT 27 Bảng 2.6.2 Chức chân hình LCD 1602 28-29 Bảng 4.2.2 Cú pháp gửi tin nhắn đến Module Sim900 .44 Chương TỔNG QUAN 1.1/ Mục tiêu đề tài Phát triển ứng dụng cảm biến, vi điều khiển, hệ thống hóa thiết bị tự đợng vào ngơi nhà thơng thường, hạn chế việc thủ công mà người hàng ngày làm: đóng/mở cơng tắc điện, quạt; điều hòa nhiệt độ phù hợp theo ý muốn chủ nhà Nghiên cứu, thiết kế, chế tạo bộ điều khiển dành cho ngơi nhà thơng minh với chi phí thấp đảm bảo phát huy hết tính bợ điều khiển theo yêu cầu người sử dụng Tạo điều kiện cho sinh viên nắm khái niệm kỹ thuật đo lường cảm biến, giúp sinh viên có khả tự làm mạch cảm biến Kỹ sẽ hỗ trợ sinh viên việc thực đồ án mơn học, đồ án tớt nghiệp… Khảo sát tính xác cảm biến thông dụng nghiên cứu sâu lập trình cho Arduino đọc tín hiệu từ thiết bị khác, phát huy tối đa chức với loại cảm biến module Sim900 Tìm hiểu, nghiên cứu lập trình chi tiết đoạn chương trình cụ thể tảng vi điều khiển board Arduino Uno R3 để đọc liệu một số loại cảm biến hiển thị chúng lên thiết bị điện tử số thông thường LCD, với module Sim900 Phát huy mạnh vi điều khiển Arduino vào thực tế 1.2/ Lý chọn đề tài Từ lâu cảm biến đã phát triển theo tiến bộ khoa học – công nghệ Đặc biệt thiết bị tự đợng hóa khơng thể thiếu cảm biến Nó ứng dụng rộng rãi mọi lĩnh vực: đời sống hàng ngày, cơng nghiệp, qn sự,… Vậy cảm biến mà đóng góp mợt phần khơng nhỏ phát triển ấy? Cảm biến một thiết bị điện tử cảm nhận thay đổi từ mơi trường bên ngồi biến đổi thành tín hiệu điện để điều khiển thiết bị khác Nhờ đó, kỹ sư đã sáng tạo tạo dây chuyền đóng gói sản phẩm tự đợng, thang máy, robot thay cho người,… Một phát minh mang ý nghĩa thực tế mà dùng hàng ngày, trở thành một phần thiếu cuộc sống người, mạng di đợng Nhưng để mọi người liên lạc với thông qua mạng di động cần phải có bợ module nhận tín hiệu, sau xử lý gửi tín hiệu Để làm nhà khoa học, kỹ sư đã nghiên cứu cho bộ module Sim GSM Chưa dừng lại đó, cảm biến có mợt ứng dụng riêng, thiết bị có ứng dụng riêng nên nhà khoa học, kỹ sư sáng tạo làm một bộ điều khiển mà ứng dụng vào nhiều lĩnh vực, vào đời sống hàng ngày để hạn chế sức lao động người Sự kết hợp loại cảm biến bộ module sim GSM cho một bộ điều khiển nhà thông minh, mợt mơ hình phát triển mạnh tồn giới Mơ hình ngơi nhà thơng minh phát triển rộng rãi phổ biến một tương lai gần Đây một ứng dụng thiết bị khoa học – kỹ thuật đại, tự động hóa vào c̣c sớng hàng ngày Hạn chế công sức người từ việc lớn việc nhỏ, từ việc thủ cơng như: đóng/mở cửa sổ, bật đèn có người vào, thơng báo nhiệt đợ ngơi nhà, điều chỉnh máy điều hòa phù hợp với nhiệt đợ bên ngồi nhà, kéo sào phơi quần áo, cảnh báo trộm,… Việc nghiên cứu đề tài nhầm đóng góp mợt phần nhỏ phát triển khoa học – kỹ thuật, nâng cao trình đợ Việt Nam sánh đơi nước phát triển giới Đây lý để em tìm hiểu rõ loại cảm biến, module sim GSM mà mọi sinh viên khối kỹ thuật, hết sinh viên thuộc chuyên ngành Cơ – điện tử cần phải hiểu rõ Do ảnh hưởng nhiều yếu tố, quan trọng vấn đề kinh tế chưa cho phép trường đại học, cao đẳng Việt Nam nói chung trường đại học Nơng Lâm TPHCM nói riêng, việc sinh viên tiếp xúc với loại cảm biến, module sim GSM, làm đề tài để tiếp xúc với thực tế… hạn chế mức điều kiện kinh tế cho phép trường Mặc dù đã thầy cô khoa dạy, hướng dẫn chi tiết śt năm học qua mặt lý thuyết, việc áp dụng vào thực tế nhiều khó khăn kết hợp vi điều khiển cảm biến; đòi hỏi em phải tìm tòi, nghiên cứu nhiều để thực đề tài “Thiết kế, chế tạo bợ điều khiển cho nhà thơng minh” 10 Hình 4.2d: Khi có chuyển đợng thân nhiệt trời mưa + Khi nhà khơng có tượng gì: Hình 4.2e: Khi nhà khơng có tượng 53 Chương KẾT LUẬN VÀ ĐỀ NGHỊ 5.1/ Kết luận Qua nghiên cứu tìm hiểu phần cứng, em đã giới thiệu tổng quan arduino, module sim900, (module) cảm biến một linh kiện điện tử khác; đồng thời em viết chương trình đọc loại cảm biến, module sim900, hình LCD 1602 mơi trường arduino để xuất lên hình Serial monitor thơng qua phần mềm Arduino IDE hiển thị lên hình LCD 1602 Về phần mềm, em đã sử dụng phần mềm Arduino IDE để viết chương trình cho Arduino để đọc giá trị cảm biến, module sim900, LCD 1602; phần mềm Autocad 2012 để vẽ ghi kích thước mơ hình cho ngơi nhà Về mơ khảo nghiệm thực tế, em đã cải thiện đợ xác cảm biến, module sim cho xác * Ưu nhược điểm mơ hình - Ưu điểm: + Mơ hình đã thể tính thơng minh + Các cảm biến hoạt đợng ổn định + Module Sim900 tự động gọi thoại, tắt gọi thoại, đọc nhắn tin SMS + Độ thẫm lỹ mơ hình tương đới tớt - Nhược điểm: + Đợng rung lắc 5.2/ Đề nghị Do thời gian thực ngắn nên em chưa thể thiết kế mơ hình hồn hảo ý mn mơ hình hoạt đợng tương đới tớt Vì vậy, em xin đưa một vài đề nghị để mô hình tương lai hồn thiện hơn, sau: 54 - Xây dựng thêm khới mở rợng để kết nối thêm nhiều cảm biến khác, khai thác tối đa chức vi điều khiển Arduino - Thiết kế cho module cảm biến mưa, có trời mưa cảm biến hoạt đợng 55 TÀI LIỆU THAM KHẢO Nguồn tài liệu tham khảo từ: http://wiki.chipfc.com/wiki/index.php?title=SIM900(A)_Mini https://www.youtube.com/watch?v=ZVigZf778a4 https://www.youtube.com/watch? v=WRqOrYfD4eQ&index=85&list=PLdyQhP9aC9btGc-LvYFV8XdtalEVL4zG0 http://arduino.vn/bai-viet/274-cam-bien-mua-voi-arduino http://www.hshopvn.com/cam-bien-mua http://www.phuclanshop.com/TraoDoiHocTap-ChiTiet.aspx?NewsId=109 http://arduino.vn/bai-viet/411-timercounter-tren-avrarduino https://www.arduino.cc/en/Guide/Introduction https://www.arduino.cc/en/Tutorial/LiquidCrystal http://tronixstuff.com/2014/01/08/tutorial-arduino-and-sim900-gsm-modules/ http://playground.arduino.cc/Main/LM35HigherResolution https://www.arduino.cc/en/Reference/ServoAttach https://www.arduino.cc/en/Reference/ServoWrite https://www.arduino.cc/en/Reference/ServoRead 56 CHƯƠNG TRÌNH CODE CHO BÀI LUẬN VĂN #include "SIM900.h" #include #include "sms.h" SMSGSM sms; #include "call.h" CallGSM call; #define MUA 10 #define PIR 11 char number[]="+84943129567"; char message[180]; char pos; boolean p; int nhietdo; int chanlaynhiet=0; #include LiquidCrystal lcd(9, 8, 7, 6, 5, 4); #include Servo myservo2; int j = 0; Servo myservo1; int i = 0; void setup() { Serial.begin(9600); gsm.begin(9600); lcd.begin(16,2); pinMode(PIR,INPUT); 57 pinMode(MUA,INPUT); myservo2.attach(13); myservo1.attach(12); } void loop() { nhietdo=analogRead(chanlaynhiet); nhietdo=(nhietdo*5.0*1000.0/1024.0)/10; Serial.println(nhietdo); delay(500); lcd.setCursor(0,0); lcd.print("Temperature "); lcd.print(nhietdo); lcd.print("oC"); if (digitalRead(PIR) == & digitalRead(MUA) == 1) { Serial.println("NO RAIN & NO MOTION"); lcd.setCursor(0, 1); lcd.println("NO PIR ; NO RAIN"); myservo2.write(158); myservo1.write(100); } if (digitalRead(PIR) == & digitalRead(MUA) == 0) { Serial.println("MOTION & RAINING"); lcd.setCursor(0, 1); lcd.println(" PIR ; RAINING "); myservo2.write(70); myservo1.write(150); 58 } if (digitalRead(PIR) == & digitalRead(MUA) == 1) { Serial.println("MOTION & NO RAIN"); lcd.setCursor(0, 1); lcd.println(" PIR ; NO RAIN "); myservo2.write(70); myservo1.write(100); } if (digitalRead(PIR) == & digitalRead(MUA) == 0) { Serial.println("NO MOTION & RAINING"); lcd.setCursor(0, 1); lcd.println(" NO PIR; RAINING"); myservo2.write(158); myservo1.write(150); } pos=sms.IsSMSPresent(SMS_UNREAD); if((int)pos>0&&(int)pos