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

(Luận văn) hệ thống máy tính nhúng với bìa arduino trong ngôi nhà thông minh

67 3 0

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

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

THÔNG TIN TÀI LIỆU

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Dư Thanh Bình lu an n va p ie gh tn to HỆ THỐNG MÁY TÍNH NHÚNG VỚI BÌA ARDUINO TRONG NGÔI NHÀ THÔNG MINH d oa nl w ll u nf va an lu oi m LUẬN VĂN THẠC SĨ KỸ THUẬT z at nh (Theo định hướng ứng dụng) z m co l gm @ an Lu n va ac th si HÀ NỘI - 2020 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG Dư Thanh Bình lu an n va p ie gh tn to HỆ THỐNG MÁY TÍNH NHÚNG VỚI BÌA ARDUINO TRONG NGÔI NHÀ THÔNG MINH MÃ SỐ: 8.48.01.04 d oa nl w CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN u nf va an lu ll LUẬN VĂN THẠC SĨ KỸ THUẬT m oi (Theo định hướng ứng dụng) z at nh z gm @ PGS.TS ĐỖ TRUNG TUẤN m co l NGƯỜI HƯỚNG DẪN KHOA HỌC an Lu n va ac th si HÀ NỘI - 2020 lu an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si i LỜI CAM ĐOAN Tôi cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tác giả luận văn ký ghi rõ họ tên lu an Dư Thanh Bình n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si ii LỜI CẢM ƠN Trước tiên, xin gửi lời cảm ơn đến trường Học viện Công nghệ Bưu chính Viễn thông, tạo điều kiện tổ chức khóa học để tơi có điều kiện tiếp thu kiến thức mới, có thời gian học tập hồn thành luận văn cao học Tôi xin chân thành cảm ơn thầy cô khoa Công nghệ thông tin và lu thày cô truyền đạt cho chúng tơi kiến thức q báu q trình an Tôi chân thành cảm ơn bạn bè lớp giúp đỡ, động viên n va học tập làm luận văn tn to trình học tập thực luận văn p ie gh Chân thành cám ơn sự động viên của đồng nghiệp của Công ty trách w nhiệm hữu hạn quảng cáo và xây dựngThanh Bình, Kim Châm, Đội Bình, oa nl Ứng Hòa, Hà Nội d Cuối cùng, xin cảm ơn tới gia đình người thân tơi, lu ll u nf hôm va an người hết lịng tạo điều kiện động viên tơi để tơi có kết ngày oi m z at nh z m co l gm @ an Lu n va ac th si iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC CHỮ VIẾT TẮT v DANH MỤC CÁC HÌNH VẼ VÀ BẢNG BIỂU vi MỞ ĐẦU lu CHƯƠNG TIÊU CHÍ CHO NGÔI NHÀ THÔNG MINH .7 an n va 1.1 Nhu cầu về nhà thông minh 1.2.1 Vai trò của truyền thông và hệ thống thông tin .8 ie gh tn to 1.2 Vai trò của công nghệ thông tin và truyền thông nhà thông minh .8 p 1.2.2 Vai trò của cảm biến .9 nl w 1.2.3 Hệ thống nhúng 16 d oa 1.3 Hệ thống thông tin nhà thông minh 19 an lu 1.3.1 Hệ thống thông tin .19 u nf va 1.3.2 Hệ thống thông tin cho nhà thông minh 19 ll 1.4 Nhu cầu hệ thống nhúng hệ thống thông tin quản trị nhà 21 m oi 1.5 Kết luận 21 z at nh CHƯƠNG HỆ THỐNG NHÚNG VỚI ARDUINO 22 z 2.1 Giới thiệu 22 @ gm 2.1.1 Xác định hệ thống nhúng 22 m co l 2.1.2 Các ứng dụng của hệ thống nhúng 24 2.2 Các loại vi xử lí dùng hệ thống nhúng 25 an Lu 2.2.1 Các vi xử lí dùng hệ thống nhúng 25 n va ac th si iv 2.2.2 Kiến trúc phần mềm hệ thống nhúng 25 2.2.3 MicroBit 28 2.2.4 RaspBerry Pi .29 2.3 Arduino với vi xử lí ARM Atmel .31 2.3.1 Về bìa Arduino 31 2.3.2 Phần cứng của bìa Arduino 32 2.3.3 Phần mềm Arduino .34 2.3.4 Thông số kĩ thuật của bìa Arduino 35 lu an 2.4 Thiết kế mơ hình hệ thống nhúng ngơi nhà thơng minh 39 va n 2.5 Kết luận 41 gh tn to CHƯƠNG 3.THỬ NGHIỆM MƠ HÌNH NHÀ THƠNG MINH .42 p ie 3.1 Mơi trường IDE cho Arduino .42 w 3.2 Cảm biến nhà thông minh 43 oa nl 3.2.1 Cảm biến ánh sáng và chương trình 43 d 3.2.2 Cảm biến khoảng cách và chương trình 44 lu va an 3.3 Thể cởng t̀n tự của máy tính 46 u nf 3.4 Quảng cáo bằng ánh sáng 46 ll 3.5 Ứng dụng tại đơn vị công tác .49 oi m z at nh 3.5.1 Địa điểm Công ti Thanh Bình .49 3.5.2 Nhiệm vụ của Công ti Thanh Bình 49 z 3.5.3 Hệ thống thử nghiệm 50 @ l gm 3.6 Kết luận 54 m co PHẦN KẾT LUẬN 55 TÀI LIỆU THAM KHẢO 56 an Lu n va ac th si v DANH MỤC CÁC CHỮ VIẾT TẮT Ký hiệu Chú giải Arduino Bìa máy tính nhúng Arduino Application-specific integrated circuit, mạch tích hợp chuyên dụng ASIC lu an n va COM Communication Port, cởng COM của máy tính CSDL Cơ sở liệu ESP 8266 Cảm biến Wifi FPGA Field-programmable gate array, mạch lập trình HC-SR04 Cảm biến siêu âm Information Communication Technology, Công nghệ thông tin và truyền thông IDE Integrated Development Environment, Môi trường phát triển tích hợp (cho Arduino) p ie gh tn to ICT w Internet of Things, mạng vạn vật d oa nl IoT LED u nf va an lu LASER Light Amplification by Stimulated Emission of Radiation, Khuyếch đại ánh sáng bằng phát xạ kích thích Light Emitter Diode, Đi ốt phát quang ll Cổng (của bìa Arduino) PWM Pulse width modulation, điều chế độ rộng xung ROM Read only Memory, bộ nhớ chỉ đọc Sensor Cảm biến Smart Home Ngôi nhà thông minh oi m Port z at nh z l gm Sound Navigation and Ranging, dò tìm lan truyền âm m co Wireless Fidelity, mạng 802.11 an Lu WiFi @ SONAR n va ac th si vi DANH MỤC CÁC HÌNH VẼ VÀ BẢNG BIỂU Hình 1.1 Nhà thơng minh .8 Hình 1.2 Điều khiển hệ thống nhúng nhờ thiết bị truyền thông .9 Hình 1.3 Hệ thống cảm biến cho máy bay 10 Hình 1.4 Một số cảm biến 12 Hình 1.5 Cảm biến nhiệt độ 14 lu an Hình 1.6 Cảm biến tiệm cận 15 va n Hình 1.7 Cảm biến hồng ngoại .15 gh tn to Hình 1.8 Cảm biến siêu âm 16 p ie Hình 1.9 Hệ thống nhúng .17 nl w Hình 1.10 Thí dụ hệ thống thông tin quan trắc tự động .19 d oa Hình 2.1 Hệ thống nhúng .22 an lu Hình 2.2 Thành phần của hệ thống nhúng 23 u nf va Hình 2.3 Ứng dụng của hệ thống nhúng 24 ll Hình 2.4 Micro Kernel 27 m oi Hình 2.5 MicroBit 28 z at nh Hình 2.6 Cấu trúc cấu tạo RaspBerry Pi 30 z Hình 2.7 Bìa Arduino 31 @ l gm Hình 2.8 Các dạng Arduino 32 Hình 2.9 Xử lí Sketch 34 m co Hình 2.10 Arduino UNO .35 an Lu Hình 2.11 Sơ đồ cấu trúc Arduino Uno R3 36 n va ac th si vii Bảng 2.1 Thông số kỹ thuật của Uno R3 .36 Hình 2.12 Sơ đồ chân Atmega328 37 Hình 2.13 cảm biến Wifi 39 Hình 2.14 Cảm biến phát chuyển động 39 Hình 15 Cảm biến DHT 11 đo độ ẩm, nhiệt độ .40 Hình 2.16 Màn hình LCD 1602 40 Hình 3.1 Môi trường IDE Arduino .42 lu Hình 3.2 Các tệp cài đặt máy tính 43 an n va Hình 3.3 Sơ đồ nối dây cảm biến ánh sáng 44 tn to Hình 3.4 Sơ đồ nối dây với Arduino 45 ie gh Hình 3.5 Thể kết cổng COM của máy tính 46 p Hình 3.6 Arduino điều khiển LED .47 oa nl w Hình 3.7 Chương trình dịch và tải lên bìa Arduino .48 d Hình 3.8 Địa điểm của Công ti Thanh Bình [5] 49 lu va an Hình 3.9 Ngành nghề của Công ti Thanh Bình [5] 50 u nf Hình 3.10 Thiết kế bảng mạch .50 ll Hình 3.11 Sơ đồ nối dây .51 oi m z at nh Hình 3.12 Nối với thiết bị 51 Hình 3.13 Kiểm tra cổng nối với bìa Arduino .52 z m co l gm @ Hình 3.14 Cổng COM IDE của Arduino 52 an Lu n va ac th si 43 lu an n va tn to Hình 3.2 Các tệp cài đặt máy tính Trong hệ thống thử nghiệm, luận văn sử dụng cảm biến ánh sáng và p ie gh 3.2 Cảm biến nhà thông minh nl w cảm biến đo khoảng cách d oa 3.2.1 Cảm biến ánh sáng và chương trình va sau: an lu Nếu sử dụng độc lập, cảm biến ánh sáng lập trình với bìa Arduino oi m tắt thay mạch Rơ-le ll u nf  Cảm biến sử dụng kết hợp với Arduino để lập trình bật z at nh  Cảm biến dạng cảm biến Digital; tín hiệu xuất giá trị Digital HIGH (5V) LOW Tại chân OUT, mạch trả mức HIGH (5V) z m co l gm @ trời tối (cường độ ánh sáng chiếu vào thấp) LOW ngược lại an Lu n va ac th si 44 Hình 3.3 Sơ đồ nối dây cảm biến ánh sáng lu Chương trình IDE: an n va gh tn to int cambien = 10;// khai báo chân digital 10 cho cảm biến int Led = 8;//khai báo chân digital cho đèn LED void setup (){ pinMode(Led,OUTPUT);//pinMode xuất tín hiệu đầu cho led pinMode(cambien,INPUT);//pinMode nhận tín hiệu đầu vào cho cảm biến p ie } void loop (){ int value = digitalRead(cambien);//lưu giá trị cảm biến vào biến value digitalWrite(Led,value);//xuất giá trị đèn LED } nl w d oa 3.2.2 Cảm biến khoảng cách và chương trình an lu Để đo khoảng cách, ta phát xung ngắn (5 microSeconds) từ u nf va chân Trig. Sau đó, cảm biến tạo xung HIGH chân Echo cho đến nhận lại sóng phản xạ pin Chiều rộng xung với thời ll oi m gian sóng siêu âm phát từ cảm biển quay trở lại.  z at nh Tốc độ âm khơng khí 340 m/s (hằng số vật lý), tương đương với 29,412 microSeconds/cm (106 / (340*100)) Khi tính thời z m co l gm @ gian, ta chia cho 29,412 để nhận khoảng cách an Lu n va ac th si 45 lu an n va to Chương trình IDE có dạng: p ie gh tn Hình 3.4 Sơ đồ nối dây với Arduino d oa nl w const int trig = 8; // chân trig HC-SR04 const int echo = 7; // chân echo HC-SR04  void setup() { Serial.begin(9600); // giao tiếp Serial với baudrate 960 pinMode(trig,OUTPUT); // chân trig phát tín hiệu pinMode(echo,INPUT); // chân echo nhận tín hiệu }  void loop() { unsigned long duration; // biến đo thời gian int distance; // biến lưu khoảng cách /* Phát xung từ chân trig * digitalWrite(trig,0); // tắt chân trig delayMicroseconds(2) digitalWrite(trig,1); // phát xung từ chân trig delayMicroseconds(5); // xung có độ dài microSecond digitalWrite(trig,0); // tắt chân trig /* Tính tốn thời gian * // Đo độ rộng xung HIGH chân echo duration = pulseIn(echo,HIGH); // Tính khoảng cách đến vật distance = int(duration/2/29.412) /* In kết Serial Monitor * Serial.print(distance) Serial.println("cm") delay(200) } ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 46 3.3 Thể cổng tuần tự của máy tính Chương trình hiện sử dụng cởng COM của máy tính để hiện kết từ Arduino và cảm biến lu an n va tn to Hình 3.5 Thể kết cởng COM của máy tính Công ti Thanh Bình đã sử dụng nhiều thiết bị điều khiển LED cho p ie gh 3.4 Quảng cáo bằng ánh sáng nl w công trình xây dựng và quảng cáo Thay vì sử dụng thiết bị điều khiển d oa chuyên dụng, luận văn đề xuất sử dụng hệ thống nhúng với Arduino để điều an lu khiển hệ thống LED ll Như hình vẽ sau u nf va Dưới là thí dụ về chương trình điều khiển LED đơn giản oi m z at nh z m co l gm @ an Lu n va ac th si 47 lu an n va p ie gh tn to nl w Hình 3.6 Arduino điều khiển LED oa Trước tiên, dùng LED, phải pinMode OUTPUT d chân Digital mà ta sử dụng cho đèn LED Ở sử dụng chân LED lu ll u nf OUTPUT); va an chân digital 13 Nên đoạn code sau cần nằm void setup() pinMode(13, oi m Để bật đèn LED, bạn phải digitalWrite HIGH cho chân số 13 loop() digitalWrite(13,HIGH); z at nh (chân Digtal kết nối với LED) Đoạn code nằm void z Dòng lệnh cấp điện 5V vào chân số Digital 13 Điện @ l gm qua điện trở 220 ohm đến đèn LED (sẽ làm sáng mà khơng bị cháy, ngồi loại điện trở khác đèn LED tắt Và để thấy n va ac th si 48 trạng thái bật tắt đèn LED bạn phải dừng chương trình khoảng thời gian đủ lâu để mắt cảm nhận Vì vậy, hàm delay tạo để làm việc lu an n va p ie gh tn to /* Blink - Nhấp nháy Đoạn code làm nhấp nháy đèn LED cho trước */ // chân digital 13 cần kết nối với đèn LED // chân digital 13 đặt tên 'led' Biến 'led' có kiểu liệu int có giá trị 13 int led = 13;  // Hàm setup chạy lần khởi động chương trình void setup() { // đặt 'led' OUTPUT pinMode(led, OUTPUT); }  // Hàm loop chạy mãi sau kết thúc hàm setup() void loop() { digitalWrite(led, HIGH); // bật đèn led sáng delay(1000); // dừng chương trình giây => thây đèn sáng giây digitalWrite(led, LOW); // tắt đèn led delay(1000); // dừng chương trình giây => thấy đèn tối giây } d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu Hình 3.7 Chương trình dịch và tải lên bìa Arduino n va ac th si 49 3.5 Ứng dụng tại đơn vị công tác Những nghiên cứu và ứng dụng về nhà thông minh sử dụng tại đơn vị công tác của học viên, tức Công ti Thanh Bình 3.5.1 Địa điểm Công ti Thanh Bình lu an n va p ie gh tn to w Hình 3.8 Địa điểm của Công ti Thanh Bình [5] oa nl 3.5.2 Nhiệm vụ của Công ti Thanh Bình d Theo [5], Nhà nước đã phê duyệt cho đơn vị công tác nhiệm vụ, lu va an hiện hình Những nhiệm vụ liên quan đến đề tài luận văn là: ll oi m  Quảng cáo; u nf  Lắp đặt hệ thống điện; z at nh  Bán buôn máy vi tính và thiết bị ngoại vi, phần mềm z m co l gm @ an Lu n va ac th si 50 lu an n va tn to Hình 3.9 Ngành nghề của Công ti Thanh Bình [5] gh Hệ thống luận văn đã ứng dụng tại Công ti hệ p ie thống thử nghiệm Dựa sơ đồ đơn giản, ứng dụng phức tạp xây nl w dựng theo đặt hàng của khách hàng oa 3.5.3 Hệ thống thử nghiệm d 3.5.3.1 Thiết kế sơ đồ nối dây ll u nf va an lu oi m z at nh z m co l gm @ Hình 3.10 Thiết kế bảng mạch an Lu n va ac th si 51 lu an Hình 3.11 Sơ đồ nối dây n va p ie gh tn to d oa nl w u nf va an lu ll Hình 3.12 Nối với thiết bị m oi 3.5.3.2 Kiểm tra thiết bị và cổng COM z at nh Trước chạy chương trình bìa máy tính nhúng Arduino, cần xác định bìa máy tính nhúng đó đã nới với máy tính và xác định cởng z m co l gm @ COM mà bìa Arduino nối vào máy tính an Lu n va ac th si 52 lu an n va p ie gh tn to d oa nl w Hình 3.13 Kiểm tra cổng nối với bìa Arduino ll u nf va an lu oi m z at nh z l gm @ 3.5.3.3 Chương trình IDE Arduino m co Hình 3.14 Cởng COM IDE của Arduino an Lu Chương trình thử nghiệm đã viết và tải lên bìa Arduino n va ac th si 53 const int trig = 8; // chân trig HC-SR04 const int echo = 7; // chân echo HC-SR04 int cambien = 10;// khai báo chân digital 10 cho cảm biến anh sang int Led = 3;//khai báo chân digital cho đèn LED int Led2 = 2; // LED cho sieu am void setup() { Serial.begin(9600); // giao tiếp Serial với baudrate 9600 pinMode(trig,OUTPUT); // chân trig phát tín hiệu pinMode(echo,INPUT); // chân echo nhận tín hiệu lu an pinMode(Led,OUTPUT);//pinMode xuất tín hiệu đầu cho led va pinMode(cambien,INPUT);//pinMode nhận tín hiệu đầu vào cho cảm biên n } tn to void loop() gh { p ie long duration; // biến đo thời gian int distance; // biến lưu khoảng cách w /* Phát xung từ chân trig */ oa nl digitalWrite(trig,0); // tắt chân trig d delayMicroseconds(2); an lu digitalWrite(trig,1); // phát xung từ chân trig delayMicroseconds(5); // xung có độ dài microSeconds va digitalWrite(trig,0); // tắt chân trig distance = int(duration/2/29.412); } else { an Lu digitalWrite (Led2, HIGH); m co if (distance < 15) { l delay(200); gm Serial.println("cm"); @ Serial.print(distance); z /* In kết Serial Monitor */ z at nh // Tính khoảng cách đến vật oi duration = pulseIn(echo,HIGH); m // Đo độ rộng xung HIGH chân echo ll u nf /* Tính tốn thời gian */ n va ac th si 54 digitalWrite (Led2, LOW); } // xu li LED cua anh sang int value = digitalRead(cambien);//lưu giá trị cảm biến vào biến value digitalWrite(Led,value);//xuất giá trị đèn LED } 3.6 Kết luận Chương đã trình bày trình thử nghiệm với môi trường IDE của Arduino Các cảm biến sử dụng hệ thống là (i) HC-SR04; (ii) cảm biến lu ánh sáng an n va Hiện cảnh báo đơn giản là LED, thay bằng hệ thống đèn hay còi cáo p ie gh tn to Bìa máy tính nhúng Arduino cũng dùng để điều khiển hiện LED quảng d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 55 PHẦN KẾT LUẬN Kết đã làm Luận văn đã thực hiện các nhiệm vụ đặt đề cương luận văn tốt nghiệp Trong bản viết ḷn văn, mợt sớ khía cạnh được trình bày : Hệ thống nhúng và bìa Arduino; Các cảm biến IoT; Sử dụng cảm biến hệ thống nhúng giải pháp đề xuất về lu hệ thống nhà thông minh; an n va Luận văn đã trình bày môi trường phát triển đối với bìa Arduino, tức tn to IDE Arduino, để thể hiện chương trình đọc tín hiệu từ các cảm biến và xử lí ie gh thông tin p Phương hướng phát triển luận văn w Hướng thực hiện của luận văn sẽ được phát triển với nhiều lọai cảm d oa nl biến, đặc biệt với các cảm biến truyền thông ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si 56 TÀI LIỆU THAM KHẢO [1] Phạm Quang Huy, Lê Cảnh Trung, Bài Tập Thực Hành Arduino – Lập Trình Điều Khiển Với Arduino, Nxb Khoa học Kĩ thuật, 2019 [2] Phạm Quang Huy, Nguyễn Trọng Hiếu, Vi Điều Khiển Và Ứng Dụng Arduino Dành Cho Người Tự Học, Nxb Bách khoa Hà Nội, 2019 [3] Huỳnh Minh Phú, Tự học Arduino cho người mới bắt đầu, www.ktphuhung.com, 2015 lu [4] Andrea Capitanelli, Alessandra Papetti, Margherita Peruzzini, Michele an va Germani, A smart home information management model for device n interoperabiliti simulation, 24th CIRP Design Conference, 2014 tn to Arduino, gh [5] Phần mềm IDE Arduino, https://www.arduino cc p ie /en/main/software, 2020 nl w [6] Biljana L Risteska Stojkoska, Kire V Trivodaliev, A review of Internet oa of Things for smart home: Challenges and solutions, Journal of Cleaner d Production, 2016 an lu va [7] Elecia White, Making Embedded Systems: Design Patterns for Great ll u nf Software 1st Edition, Ed O’Reilly, 2011 z at nh dung-thanh-binh.html, 2020 oi m [8] http://masocongty.vn/company/211561/cong-ty-tnhh-quang-cao-va-xay- [9] John Boxal, Arduino Workshop: A Hands-On Introduction with 65 z gm @ Projects 1st Edition, ISBN-13: 978-1593274481, 2020 l [10] Michael Barr, Programming Embedded Systems: With C and GNU m co Development Tools 2nd Edition, Ed O’Reilly, 2006 an Lu [11] Michael Mangolis, Arduino Cookbook, Ed O’Reilly Media, 2020 n va ac th si 57 [12] Simon Monk, Programming Arduino: Getting Started with Sketches, Second Edition (Tab) 2nd Edition, Ed Simon Monk, 2016 [13] Y Byul Hur, Learning Embedded Systems with MSP432 microcontrollers, MSP432 with Code Composer Studio, Ed Byul Hur, 2020 [14] Yang Yu, Getting start with MBlock, 2019 lu an n va p ie gh tn to d oa nl w ll u nf va an lu oi m z at nh z m co l gm @ an Lu n va ac th si

Ngày đăng: 12/07/2023, 17:27

Xem thêm:

w