Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 86 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
86
Dung lượng
3,17 MB
Nội dung
ĐỒ ÁN TỐT NGHIỆP TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CƠ KHÍ BỘ MƠN CƠ ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC CHUYÊN NGÀNH CƠ ĐIỆN TỬ Đề tài XÂY DỰNG ỨNG DỤNG ANDROID TRUY XUẤT Giáo viên hướng dẫn : TS ĐẶNG THÁI VIỆT Giáo viên duyệt : TS……………………… Sinh viên thực : NGUYỄN NGỌC TUẤN HÀ NỘI, 6/2018 ĐỒ ÁN TỐT NGHIỆP BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NHIỆM VỤ THIẾT KẾ ĐỒ ÁN TỐT NGHIỆP Thông tin sinh viên: Họ tên Sinh viên: Nguyễn Ngọc Tuấn Lớp : CN-KT Cơ điện tử 02 Khóa : K58 Nhiệm vụ thực hiện: - Phân tích, lựa chọn thiết kế mơ hình nhà thơng minh - Xây dựng ứng dụng Android truy xuất CSDL giao diện Web điều khiển nhà Smart Home mã nguồn mở - Khả mở rộng mơ hình với thiết bị hệ thống ngoại vi Nội dung u cầu: - Thiết kế mơ hình với thiết bị có khả điều khiển tự động, tương tác với có chức giám sát từ xa, đảm bảo an ninh bảo mật - Xây dựng ứng dụng Android truy xuất CSDL giao diện Web với chức giám sát điều khiển, hiển thị trạng thái hoạt động, thong số điều khiển thiết bị nhà - Mở rộng kết nối với thiết bị ngoại vi ĐỒ ÁN TỐT NGHIỆP Trưởng môn Cán hướng dẫn Sinh viên thực (ký ghi rõ họ tên) (ký ghi rõ họ tên) (ký ghi rõ họ tên) ĐỒ ÁN TỐT NGHIỆP BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ĐIỂM HƯỚNG DẪN:…………………………………………………………… ………………………………………………………………………………………… Ngày tháng năm 2018 Giáo viên hướng dẫn (ký tên) ĐỒ ÁN TỐT NGHIỆP BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NHẬN XÉT CỦA GIÁO VIÊN DUYỆT Ngày tháng năm 2018 Giáo viên duyệt (ký tên) DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP MỤC LỤC LỜI NÓI ĐẦU .11 CHƯƠNG 1: TỔNG QUAN VỀ NHÀ THÔNG MINH 13 Tổng quan nhà thông minh 13 1.1 Bối cảnh nhu cầu sử dụng nhà thông minh 13 1.2 Các mơ hình nhà thơng minh áp dụng 16 Lựa chọn hướng thiết kế 19 CHƯƠNG 2: THIẾT KẾ TỔNG QUAN HỆ THỐNG ĐIỀU KHIỂN NHÀ THÔNG MINH 21 Sơ đồ kết cấu nhà chức .21 Sơ đồ nguyên lý hoạt động 23 2.1 Hệ thống điện tử 23 Sơ đồ mạch điện hệ thống 24 Giới thiệu modul Arduino 25 4.1 Giới thiệu chung 25 4.2 Arduino Uno 26 4.3 Arduino Ethernet W5100 29 4.4 Arduino Mega 2560 .31 4.5 Một số ứng dụng Arduino 35 CHƯƠNG 3: THIẾT KẾ HỆ THỐNG CƠ CẤU CHẤP HÀNH CHO NGÔI NHÀ THÔNG MINH 36 Sơ đồ mạch điện điều khiển cấu chấp hành 36 Tổng quan thiết bị sử dụng hệ thống cấu chấp hành 36 2.1 Động servo SG90 .36 2.2 Động bước DC 5.6V/2.1A modul điều khiển A4988 .38 Các modul thiết bị sử dụng mơ hình chức .39 3.1 Vườn ngoại vi 39 DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP 3.2 Phòng khách 40 3.3 Gara để xe .41 3.4 Phòng ngủ .42 3.5 Phòng giải trí/xem phim 43 3.6 Phòng bếp .44 CHƯƠNG 4: THIẾT KẾ HỆ THỐNG GIÁM SÁT, CẢNH BÁO CHO NGÔI NHÀ THÔNG MINH 45 Sơ đồ mạch điều khiển thiết bị cảm biến 45 Tổng quan cảm biến sử dụng hệ thống giám sát, cảnh báo45 2.1 Cảm biến nhiệt độ LM35 45 2.2 Cảm biến khí gas MQ2 46 2.3 Cảm biến chuyển động HC-SR510 .49 Nguyên lý hoạt động hệ thống giám sát .52 3.1 Lưu đồ thuật toán 52 3.2 Hệ thống báo cháy hoạt động dựa cảm biến nhiệt độ LM35 52 3.3 Hệ thống báo rò rỉ khí gas 56 3.4 Hệ thống cảnh báo xâm nhập .57 CHƯƠNG 5: HỆ THỐNG GIÁM SÁT VÀ ĐIỀU KHIỂN NHÀ THÔNG MINH QUA MẠNG INTERNET 60 Mạng internet(Ethernet) 60 Địa IP .62 Thiết kế hệ thống giám sát điều khiển qua internet 63 Thư viện Ethernet cho Arduino 64 CHƯƠNG 6: THIẾT KẾ, CHẾ TẠO MƠ HÌNH THỰC NGHIỆM 65 Mơ hình thực tế 65 Giao diện giám sát điều khiển 66 Kết điều khiển số thiết bị 67 DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP 3.1 Báo có xâm nhập trái phép 67 3.2 Giám sát nhiệt độ phòng khách phòng ngủ 67 Kết đạt 69 KẾT LUẬN 70 Kết đạt đồ án 70 Hướng phát triển cho hệ thống 70 PHỤ LỤC 71 CODE HOẠT ĐỘNG .71 Phòng bếp 71 Phòng ngủ(cảm biến nhiệt độ hiển thị lên lcd) 75 Tài liệu tham khảo 84 DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP MỤC LỤC HÌNH VẼ Hình 1.1 Mơ hình tổng minh……………………………… qt nhà thơng Hình 1.2 Biểu đồ tăng trưởng thị trường Smarthome giới …………………… … 14 15 Hình 1.3 Biểu đồ tăng trưởng thị trường Smarthome (Bắc Mỹ).……………… 15 … Hình 1.4 Mơ hình Smart Technology………… home cơng ty Compro 16 Hình 1.5 Mơ hình Smart home cơng ty IEI Integration.…… …………… 17 … Hình 1.6 Mơ hình Smart home Eco-Future-World…………… …………… 17 …… Hình 1.7 Mơ hình BKAV…………………………………… Smart home Hình 1.8 Mơ hình Lumi………………………………………… Smart home 18 18 Hình 1.9 Xu hướng phát triển smarthome……………………………… 20 …… Hình 2.1 Sơ đồ kết cấu nhà thông minh……… ……………………… 21 …… Hình 2.2 Các chức sử dụng………………………………………… 22 ……… Hình 2.3 Sơ đồ nguyên tử…………………… lý hoạt động hệ thống điện 23 Hình 2.4 Sơ đồ mạch điện hệ thống………… …………………………… 24 ……… Hình 2.5 Hình ảnh Arduino Uno R3 …………………………………… 25 …… DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP Hình 2.6 Cấu trúc phần cứng Arduino Uno……………………………… 27 …… Hình 2.7 ……… Arduino Ethernet W5100……………………………………… 29 Hình 2.8 Kết nối chân điều khiển cho board mạch Arduino Ethernet 31 W5100……… Hình 2.9 Arduino Mega 2560……………………………………………… 32 …… Hình 3.1 Sơ đồ mạch điện điều khiển………………………………………… 36 … Hình 3.2 Sơ đồ chân động servo SG90…………………………………… 37 …… Hình 3.3 ………… Sơ đồ chân A4988…………………………………………… 38 Hình 3.4 Sơ đồ mạch ĐC bước A4988…………………………………… 38 …… Hình 3.5 Sơ đồ nguyên lý vườn ngoại vi…………………………………… 40 … Hình 3.6 Sơ đồ ngun lý phịng khách………………………………………… 41 … Hình 3.7 Sơ đồ nguyên lý gara để xe…………………………………………… 42 … Hình 3.8 Sơ đồ ngun ngủ……………………………………………… lý phịng 43 Hình 3.9 Sơ đồ ngun lý phịng xem phim…………………………………… 43 … Hình 3.10 Sơ đồ nguyên lý khu bếp…………………………………………… 44 … Hình 4.1 Sơ đồ chân cảm biến LM35………………………………………… 45 10 DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP KẾT LUẬN Kết đạt đồ án Do đề tài mới, nên trình tìm hiểu em gặp phải số khó khăn định Nhưng với đam mê hướng dẫn nhiệt tình thầy giáo cộng thêm nỗ lực tìm tịi, đam mê khám phá giúp em đạt số kết sau: - - Tổng quan hệ thống giám sát điều khiển qua mạng internet, nhà thông minh Đồng thời em biết tình hình sử dụng, xu hướng phát triển Việt Nam nước khác giới Thiết kế thành cơng mơ hình ngơi nhà thơng minh Tìm hiểu sở, ý nghĩa việc điều khiển thiết bị qua internet Hiểu nguyên lí làm việc module hệ thống cách ghép nối chúng Tiến hành chạy thực nghiệm, đánh giá kết Bên cạnh kết đạt mơ hình tồn nhiều giới hạn kĩ thuật khả mở rộng số lượng biến giám sát điều khiển, xảy nhiễu, thời gian đáp ứng giao diện web dài Hướng phát triển cho hệ thống Hệ thống điều khiển giám sát qua mạng internet có ý nghĩa lớn nhiều mặt sống như: an ninh, quốc phòng, chăn ni, y tế, gia đình, trồng trọt… Việc làm chủ vấn đề nhiều hạn chế định, đất nước phát triển khoa học công nghệ Qua đề tài em mong muốn sử dụng kiến thức học thời gian sinh viên để thực việc tiếp cận với công nghệ xu hướng giới Qua đồ án em xin đề xuất số hướng phát triển cho hệ thống: - Lắp đặt hệ thống camera giám sát cho hệ thống Ứng dụng hệ thống giám sát điều khiển y tế, giáo dục Xây dựng phần mềm quản lí thiết bị di động, phần mềm có khả tự động thông báo điều kiện bất lợi cho người dùng mà không cần truy cập vào trang web 72 DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP PHỤ LỤC CODE HOẠT ĐỘNG Phòng bếp Chức năng: - Đèn + quạt - Cảm biến khí gas, khói - Cảm biến nhiệt độ - Còi báo #include #define CBGAS A0 #define CBND A1 #define CBMUA #define led_bep #define fan #define buzz #define pinServo #define button_led #define button_fan #define button_dayphoi int nhiet_do, gas, i; int state_led = 0, state_fan = 0, state_phoi = 0; int pos = 0, data_send = 0, data_receive = 0; Servo myservo; void setup() { // // -Khoi tao timer // TCCR1A = 0; // TCCR1B = 0; // ghi de cau hinh ti le chia cua Timer // TIMSK1 = ; // ghi quy dinh hinh thuc ngat // 73 DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP // // duoi day la cau hinh cho Timer // TCCR1B |= (0 ban dau dieu hoa tay lcd.print("Dang khoi dong "); rem.attach(pinServo); for (pos = 0; pos < 179; pos++) { rem.write(pos); delay(20); } delay(500); } void loop() { //Serial.println(step_time); attachInterrupt(digitalPinToInterrupt(button_denpn), DEN_VA_DIEUHOA, FALLING); attachInterrupt(digitalPinToInterrupt(button_dieuhoapn), DEN_VA_DIEUHOA, FALLING); if (Serial.available()) { while (Serial.available() < 2); int b1 = Serial.read(); int b2 = Serial.read(); data_receive = b1 * 256 + b2; switch (data_receive) { case 0: // Tat den digitalWrite(relay_denpn, 0); state_denpn = 0; 79 DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP break; case 1:// Bat den digitalWrite(relay_denpn, 1); state_denpn = 1; break; case 2: // Tat dieu hoa digitalWrite(step_enable, 1); state_dieuhoapn = 0; break; case 3: //Bat dieu hoa digitalWrite(step_enable, 0); // Chân Enable kích mức thấp state_dieuhoapn = 1; break; case 4: // Kéo rèm tắt chế độ tự động while (pos != 0) { pos ; rem.write(pos); delay(20); } state_rem = 0; //rèm đóng tắt chế độ tự động break; case 5: //Bật chế độ tự động điều chỉnh rèm state_rem = 1; } } if (state_dieuhoapn == 1) DIEU_HOA(); if (i == 2000) LCD_PHONG_NGU(); if (state_rem == 1) REM(); // che tu dong thay doi độ mở rèm theo ánh sáng trời if (digitalRead(button_rem) == 0) { while (digitalRead(button_rem) == 0); state_rem = !state_rem; if (state_rem == 0) { 80 DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP while (pos != 179) { // dong rem pos++; rem.write(pos); delay(20); } data_send = 4; Serial.write(data_send / 256); Serial.write(data_send % 256); } else { data_send = 5; Serial.write(data_send / 256); Serial.write(data_send % 256); } } DEN_NGOAI_HIEN(); i++; //Serial.println(analogRead(CBAS)); //Serial.println(state_rem); } void DEN_NGOAI_HIEN() { //Serial.println(analogRead(CBAS)); if (analogRead(CBAS) 80) { pos ; rem.write(pos); delay(20); } } else { while (pos < 80) { pos++; rem.write(pos); delay(20); } } } if (analogRead(CBAS) > 500) { // troi toi while (pos != 160) { pos++; 82 DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP rem.write(pos); delay(20); } } void DEN_VA_DIEUHOA() { // BAT/TAT den if ( (digitalRead(button_denpn) == 0) ) { while (digitalRead(button_denpn) == 0); state_denpn = !state_denpn; if (state_denpn == 1) { digitalWrite(relay_denpn, 1); // bat len data_send = 1; Serial.write(data_send / 256); Serial.write(data_send % 256); } else { digitalWrite(relay_denpn, 0); // tat di data_send = 0; Serial.write(data_send / 256); Serial.write(data_send % 256); } return; } // BAT/TAT dieu hoa if (digitalRead(button_dieuhoapn) == 0) { while (digitalRead(button_dieuhoapn) == 0); state_dieuhoapn = !state_dieuhoapn; if (state_dieuhoapn == 1) { digitalWrite(step_enable, 0); // Bat len data_send = 3; 83 DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP Serial.write(data_send / 256); Serial.write(data_send % 256); } else { digitalWrite(step_enable, 1); // tat di data_send = 2; Serial.write(data_send / 256); Serial.write(data_send % 256); step_time = 0; } } } void LCD_PHONG_NGU() { i = 0; nhiet_do = 5.0 * (analogRead(CBND)) * 100.0 / 1024.0 + 1.0; lcd.clear(); lcd.print("Nhiet do: "); lcd.print(nhiet_do); lcd.print("*C"); lcd.setCursor(0, 1); lcd.print("v = "); // Lệnh in hình lcd.print(v1); lcd.println("rpm "); //TINH_VAN_TOC(); } void TINH_VAN_TOC() { double v; //int v1; v = 60000 / (9.6 * (step_time)) ; // động 96 bước/vòng v1 = int(55 * v); // lcd.setCursor(0,1); // lcd.print("v = "); // Lệnh in hình 84 DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT ĐỒ ÁN TỐT NGHIỆP // lcd.print(v1); // lcd.println("rpm "); //Serial.println(v1); return; } void DIEU_HOA() { if (nhiet_do < 30) { step_time = 950; TURN(step_time); return; } if ( (nhiet_do > 30) && (nhiet_do 40) { step_time = 500; TURN(step_time); return; } } void TURN(int t) { digitalWrite(step_pin, 1); delayMicroseconds(t); digitalWrite(step_pin, 0); delayMicroseconds(t); } ISR(TIMER1_OVF_vect) { // Ngắt timer TINH_VAN_TOC(); TCNT1 = 53035; } 85 DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT DO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUATDO.an.de.tai.xay.DUNG.UNG.DUNG.ANDROID.TRUY.XUAT