1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

THIẾT kế NHÀ THÔNG MINH sử DỤNG ARDUINO (có code)

37 1,7K 16

Đ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

Thông tin cơ bản

Định dạng
Số trang 37
Dung lượng 12,94 MB

Nội dung

ĐỒ ÁN TỐT NGHIỆP Trang 1/37 ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ NHÀ THÔNG MINH SỬ DỤNG ARDUINO Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 2/37 CHƯƠNG TỔNG QUAN 1.1 Giới thiệu Smart home: Smart home đề tài phát triển sâu rộng cách mạng công nghiệp 4.0, coi xu hướng tương lai Hình 1-1 Lịch sử cách mạng cơng nghiệp Những yếu tố kỹ thuật số cách mạng cơng nghiệp 4.0 trí tuệ nhân tạo (AI); vạn vật kết nối – Internet of things (IoT) liệu lớn (Big Data) Trong lốc cách mạng cơng nghệ 4.0 tồn giới, đời nhà thơng minh (Smart home) điều tất yếu xu hướng toàn giới Nhà thông minh hiểu theo nghĩa đơn giản kết hợp tất thiết bị nhà thông qua kết nối Internet không dây điều khiển trực tiếp, gián tiếp qua thiết bị thơng minh như: điện thoại, máy tính bảng v.v… giọng nói, tự động cài đặt theo hoạt cảnh khác v.v… 1.2 Internet Of Things: Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 3/37 Hình 1-2 Sự kết nối IOT Khả định danh độc nhất: Một vấn đề với IoT khả tạo ứng dụng IoT nhanh chóng Để khắc phục, nhiều hãng, công ty, tổ chức giới nghiên cứu tảng giúp xây dựng nhanh ứng dụng dành cho IoT Hình 1-3 IOT kết nối thiết bị với Những tác nhân ngăn cản phát triển Internet of Things: - Chưa có ngôn ngữ chung: Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 4/37 Ở mức nhất, Internet mạng dùng để nối thiết bị với thiết bị khác Nếu riêng có kết nối khơng thơi khơng có đảm bảo thiết bị biết cách nói chuyện nói - Hàng rào subnetwork: Lấy ví dụ xe ô tô chẳng hạn Một Ford Focus giao tiếp tốt đến dịch vụ trung tâm liệu Ford gửi liệu lên mạng Nếu phận cần thay thế, hệ thống xe thông báo Ford, từ hãng tiếp tục thơng báo đến người dùng Nhưng trường hợp muốn tạo hệ thống cảnh báo kẹt xe chuyện rắc rối nhiều xe Ford thiết lập để nói chuyện với server Ford, khơng phải với server Honda, Audi, Mercedes hay BMW Lý cho việc giao tiếp thất bại? Chúng ta thiếu ngôn ngữ chung Và để thiết lập cho hệ thống nói chuyện với tốn kém, đắt tiền Một số vấn đề nói đơn giản vấn đề kiến trúc mạng, kết nối mà thiết bị liên lạc với (Wifi, Bluetooth, NFC, ) Những thứ tương đối dễ khắc phục với cơng nghệ khơng dây ngày Còn với vấn đề giao thức phức tạp nhiều, vật cản lớn trực tiếp đường phát triển Internet of Things - Có q nhiều "ngơn ngữ địa phương": Tiền chi phí: 1.3 Phạm vi đồ án: Mô hệ thống nhà thông minh tảng Arduino Kết hợp với IOT để điều khiển, giám sát hoạt động hệ thống 1.4 Mục tiêu đồ án: Sử dụng Arduino để lập trình, xây dựng hệ thống nhà thông minh, kết hợp với IOT để giám sát, điều khiển hệ thống Dựng mơ hình nhà thông minh thiết lập giao diện dễ tiếp cận với người sử dụng Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 5/37 CHƯƠNG CƠ SỞ LÝ THUYẾT 1.5 Phần cứng: 1.1.1 Board Arduino Uno R3: Hình 2-1 Board mạch Arduino Uno R3 Bảng Thông số kỹ thuật Arduino Uno R3 Loại vi điều ATmega328 họ khiển Điện áp hoạt động (chỉ cấp qua cổng USB) Tần số hoạt động Dòng tiêu thụ Điện bit 5V DC vào khuyên dùng Điện áp vào giới hạn Thiết kế nhà thông minh sử dụng Arduino 16 MHz Khoảng mA 7-12V 6-20V 300 ĐỒ ÁN TỐT NGHIỆP Trang 6/37 Số chân 14 chân ( Digital I/O chân hardware) Số chân ( độ phân giải Analog 10bit) Dòng tối đa chân 30mA I/O Dòng tối đa (5V) Dòng tối đa (3.3V) 500mA 50mA 32 KB (Atmega328 Bộ nhớ với 0.5KB dùng với 0.5KB dùng SRAM EEPROM Thiết kế nhà thông minh sử dụng Arduino boothloader 2KB (Atmega328) KB (Atmega328) ĐỒ ÁN TỐT NGHIỆP Trang 7/37 1.1.2 Cảm biến chuyển động PIR: Hình 2-4 Cảm biến chuyển động PIR - Nguyên lí hoạt động: Các nguồn nhiệt (đối với người vật nguồn thân nhiệt) phát tia hồng ngoại, qua kính Fresnel, qua kích lọc lấy tia hồng ngoại, cho tiêu thụ cảm biến hồng ngoại gắn đầu dò, tạo điện áp khuếch đại với transistor FET Khi có vật nóng ngang qua, từ cảm biến cho xuất tín hiệu tín hiệu khuếch có biên độ đủ cao đưa vào - mạch so áp để tác động vào thiết bị điều khiển hay báo động Phương pháp đấu dây: Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 8/37 Hình 2-2 Kết nối PIR với Arduino ứng dụng phát chuyển động Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 9/37 1.1.3 Module khí gas (MQ5 – Gas Sensor): Hình 2-3 Cảm biến khí gas Hình 2-4 Kết nối cảm biến với Arduino Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 10/37 1.1.4 Động servo SG90: Hình 2-5 Động servo SG90 - Thơng số kỹ thuật: Khối lượng : 9g Kích thước: 22.2×11.8.32 mm Momen xoắn: 1.8kg/cm Tốc độ hoạt động: 60 độ 0.1 giây Điện áp hoạt động: 4.8V(~5V) Nhiệt độ hoạt động: ºC – 55 ºC Kết nối dây màu đỏ với 5V, dây màu nâu với mass, dây màu cam với chân phát - xung vi điều khiển Ở chân xung cấp xung từ 1ms-2ms theo để điều khiển góc quay theo ý muốn Hình 2-6 Kết nối servo SG90 với Arduino 1.6 Phần mềm Arduino IDE (Intergrated Development Environment): Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 23/37 Hình 3-27 Lưu đồ giải thuật điều khiển, giám sát nhà thông minh 1.11 Thiết kế hệ thống nút bấm sử dụng chân Analog Arduino: Để sử dụng cách tiết kiệm số chân board Arduino UNO R3, ta sử dụng chân analog Arduino cho tất nút bấm thay phải sử Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 24/37 dụng riêng chân digital cho nút bấm Trong đề tài này, ta sử dụng nút bấm, kết nối theo sơ đồ sau: Hình 3-28 Sơ đồ kết nối nút bấm sử dụng chân Analog Cơng thức tính mức điện áp cấp vào chân Analog: UA = [VCC/(R1 + R)] * R Trong đó: UA mức địện áp quy đổi cho nút bấm (dùng cho IDE) R điện trở nối từ A0 qua nút bấm tới GND R1 điện trở nối trực tiếp từ VCC tới chân Analog Ta có : U1 = [VCC / (1K2)] U2 = [VCC / (1K2 + 220)] * 220 U3 = [VCC / (1K2 +440)] * 440 U4 = [VCC / (1K2 + 1K2)] * 1K2 1.12 Mơ hình thành phẩm: Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 25/37 Hình 3-29 Bản vẽ mặt mơ hình Hình 3-30 Bản vẽ loại cửa Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 26/37 Hình 3-31 Thay mơ hình thật Hình 3-32 Thay mơ hình thật Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 27/37 Hình 3-33 Thay mơ hình thật Hình 3-34 Thay mơ hình thật Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 28/37 Hình 3-35 Thay mơ hình thật Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 29/37 CHƯƠNG KẾT LUẬN Hệ thống hoạt động yêu cầu đặt Người dùng dễ dàng sử dụng giao diện hệ thống Nên khởi động, điều khiển thiết bị mốt cách lần lượt, không điều khiển nhiều thiết bị lúc - Ưu điểm hệ thống: Hệ thống hoạt đống yêu cầu đặt Giá thành rẻ, dễ dàng lắp đặt, lập trình sử dụng Hạn chế : Thỉnh thoảng nút bấm bị nhiễu tín hiệu sử dụng lúc nhiều thiết bị - không đáng kể Hướng phát triển hồn thiện: Có thể phát triển thêm ứng dụng khác điều khiển điều chỉnh nhiệt độ - độ ẩm Có thể sử dụng module loại lớn để điều khiển nhiều thiết bị - Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 30/37 TÀI LIỆU THAM KHẢO [1] qweqwe [2] qwqeeqwe Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 31/37 PHỤ LỤC Code chạy chương trình Arduino IDE: const int relay1 = 2; //định dạng relay1 chân số const int relay2 = 4; //định dạng relay1 chân số const int relay3 = 7; //định dạng relay1 chân số 12 const int relay4 = 8; //định dạng relay1 chân số 13 #define Button_analogPin A0 //định dạng nút bấm vào chân A0 int inbyte = 0; int val; bool d1 = false; bool d2 = false; bool d3 = false; bool d4 = false; #include VarSpeedServo myservo1; VarSpeedServo myservo2; VarSpeedServo myservo3; VarSpeedServo myservo4; int inputPin = 11; int chuyendong = 0; int pirState = LOW; void setup() { //Thiết lập cho đèn pinMode(relay1, OUTPUT); pinMode(relay2, OUTPUT); Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 32/37 pinMode(relay3, OUTPUT); pinMode(relay4, OUTPUT); digitalWrite(relay1,1); digitalWrite(relay2,1); digitalWrite(relay3,1); digitalWrite(relay4,1); pinMode(Button_analogPin, INPUT); //Thiết lập cho động Servo myservo1.attach(3); myservo2.attach(5); myservo3.attach(6); myservo4.attach(9); //Cảm biến pinMode(inputPin, INPUT); Serial.begin(9600); } void loop() { if(Serial.available()) { inbyte = Serial.read(); } nhannutbam(); mocua(); inbyte = 0; int gas = analogRead(A1); Serial.print("gas,"); Serial.println(gas); delay(1000); Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 33/37 } //Phần nút bấm //Giới hạn điện áp nút bấm nối vào chân analog: //nút < 60 //nút > 60, < 250 //nút > 250, < 400 //nút > 400, < 800 void nhannutbam() { val=analogRead(Button_analogPin); //Đèn if(inbyte == 'A' || (val < 90 &&!d1)) { digitalWrite(relay1,0); delay(500); //chờ buông tay relay1,0; d1 = true; Serial.println("A"); } else if(inbyte == 'a' || (val < 90 && d1)) { digitalWrite(relay1,1); delay(500); //chờ buông tay relay1,1; d1 = false; Serial.println("a"); } //Đèn Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 34/37 if(inbyte == 'B' || (val > 90 && val < 250 &&!d2)) { digitalWrite(relay2,0); delay(500); //chờ buông tay relay2,0; d2 = true; Serial.println("B"); } else if(inbyte == 'b' || (val > 90 && val < 250 && d2)) { digitalWrite(relay2,1); delay(500); //chờ buông tay relay2,1; d2 = false; Serial.println("b"); } //Đèn if(inbyte == 'C' || (val > 250 && val < 400 &&!d3)) { digitalWrite(relay3,0); delay(500); //chờ buông tay relay3,0; d3 = true; Serial.println("C"); } else if(inbyte == 'c' || (val > 250 && val < 400 && d3)) { digitalWrite(relay3,1); delay(500); //chờ buông tay Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 35/37 relay3,1; d3 = false; Serial.println("c"); } //Đèn if(inbyte == 'D' || (val > 400 && val < 800 &&!d4)) { digitalWrite(relay4,0); delay(500); //chờ buông tay relay4,0; d4 = true; Serial.println("D"); } else if(inbyte == 'd' || (val > 400 && val < 800 && d4)) { digitalWrite(relay4,1); delay(500); //chờ buông tay relay4,1; d4 = false; Serial.println("d"); } } //Phần mở cửa void mocua() { int LEF = 0; int RIG = 70; int SPEED1 = 40; //servo Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 36/37 if(inbyte == 'E') { myservo1.write(RIG, SPEED1); myservo1.wait(); } if(inbyte == 'e') { myservo1.write(LEF, SPEED1); myservo1.wait(); } //servo & if(inbyte == 'F') { myservo2.write(LEF, SPEED1); myservo3.write(RIG, SPEED1); myservo2.wait(); myservo3.wait(); } if(inbyte == 'f') { myservo2.write(RIG, SPEED1); myservo3.write(LEF, SPEED1); myservo2.wait(); myservo3.wait(); } //servo if(inbyte == 'G') Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 37/37 { myservo4.write(LEF, SPEED1); myservo4.wait(); } if(inbyte == 'g') { myservo4.write(RIG, SPEED1); myservo4.wait(); } } void pir() { chuyendong = digitalRead(inputPin); // đọc giá trị đầu vào delay(1000); if (chuyendong == HIGH) { Serial.println("Z"); delay(3000); } else { Serial.println("z"); delay(1000); } } Thiết kế nhà thông minh sử dụng Arduino // giá trị mức cao.(1) ... thuật: Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 23/37 Hình 3-27 Lưu đồ giải thuật điều khiển, giám sát nhà thông minh 1.11 Thiết kế hệ thống nút bấm sử dụng chân Analog Arduino: ... cho người sử dụng Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 21/37 CHƯƠNG XÂY DỰNG HỆ THỐNG NHÀ THÔNG MINH 1.8 Lắp ráp hệ thống với Arduino: Ta tiến hành lắp ráp thiết bị đơn... thiết bị điều khiển hay báo động Phương pháp đấu dây: Thiết kế nhà thông minh sử dụng Arduino ĐỒ ÁN TỐT NGHIỆP Trang 8/37 Hình 2-2 Kết nối PIR với Arduino ứng dụng phát chuyển động Thiết kế nhà

Ngày đăng: 29/03/2019, 21:17

TỪ KHÓA LIÊN QUAN

w