đề tài thiết kế nhà thông minh dựa trên arduino

82 2.4K 13
đề tài thiết kế nhà thông minh dựa trên arduino

Đ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

thiết kế mô hình nhà thông minh dựa trên arduino sư dụng các cảm biến quang trở, khí ga, cảm biến chuyển động, cảm biến siêu âm, thẻ từ RFID.

Nghiên cứu Khoa học-SV-2015 Chương 3:Viết chương trình Nghiên cứu Khoa học-SV-2015 Chương 3:Viết chương trình LỜI NÓI ĐẦU Ngày khoa học công nghệ ngày phát triển, vi điều khiển AVR vi điều khiển PIC ngày thông dụng hoàn thiện , nói xuất Arduino vào năm 2005 Italia mở hướng cho vi điều khiển Sự xuất Arduino hỗ trợ cho người nhiều lập trình thiết kế, người bắt đầu tìm tòi vi điều khiển mà nhiều kiến thức, hiểu biết sâu sắc vật lý điện tử Phần cứng thiết bị tích hợp nhiều chức mã nguồn mở Ngôn ngữ lập trình Java lại vô dễ sử dụng tương thích với ngôn ngữ C hệ thư viện phong phú chia sẻ miễn phí Chính lý nên Arduino dần phổ biến phát triển ngày mạnh mẽ toàn giới Trên sở kiến thức học môn học : Tin học cở sở 2, Điện tử tương tự điện tử số … với hiểu biết thiết bị điện tử, chúng em định thực đề tài : Thiết kế nhà thông minh với mục đích để tìm hiểu thêm Arduino, làm quen với thiết bị điện tử nâng cao hiểu biết cho thân Do kiến thức hạn hẹp, thêm vào lần đầu chúng em thực đồ án nên chắn không tránh khỏi thiếu sót , hạn chế chúng em mong có góp ý nhắc nhờ từ thầy giáo để hoàn thiện đề tài Chúng em xin chân thành cảm ơn thầy giáo Th.s Lan Anh giúp đỡ chúng em nhiều trình tìm hiểu ,thiết kế hoàn thành đề tài đồ án Hồ Chí Minh, ngày tháng 11 năm 2015 Sinh viên thực Nghiên cứu Khoa học-SV-2015 Chương 3:Viết chương trình NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN  Tp.HCM, ngày tháng năm 2015 Giáo viên hướng dẫn Nghiên cứu Khoa học-SV-2015 Chương 3:Viết chương trình NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN  Tp.HCM, ngày tháng năm 2015 Giáo viên phản biện Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan Chương 1: TỔNG QUAN 1.1 Tổng quan nhà thông minh Nhà thông minh nhà trang bị hệ thống tự động thông minh với cách bố trí hợp lý, hệ thống có khả tự điều phối hoạt động nhà theo thói quen sinh hoạt nhu cầu cá nhân gia chủ Chúng ta hiểu nhà thông minh hệ thống chỉnh thể mà đó, tất thiết bị điện tử gia dụng liên kết với thiết bị điều khiển trung tâm phối hợp với để thực chức Các thiết bị tự đưa cách xử lý tình lập trình trước, điều khiển giám sát từ xa Giải pháp nhà thông minh biến đồ điện tử bình thường nhà trở nên thông minh gần gũi với người dùng hơn, chúng kiểm soát thông qua thiết bị truyền thông điều khiển từ xa, điện thoại di động… nhà thông minh đơn giản hình dung bao gồm mạng điều khiển liên kết số lượng cố định thiết bị điện, điện tử gia dụng nhà chúng điều khiển thông qua điều khiển từ xa Chỉ với kết nối đơn giản đủ để hài lòng số lượng lớn cá nhân có nhu cầu nhà thông minh mức trung bình Vậy liệu nhà thông minh có làm thay đổi thói quen vốn gắn bó từ trước đến với hầu hết người? Chúng ta biết phần lớn hộ từ trung bình đến cao cấp sử dụng loại điều khiển từ xa để điều khiển máy lạnh, ti vi…còn lại phần lớn thiết bị khác hệ thống đèn, bình nước nóng lạnh…phải điều khiển tay Những việc đôi lúc đem lại bất tiện, mà mong muốn có tiện nghi thoải mái hơn, vừa tận hưởng nằm giường coi ti vi vừa kiểm soát hệ thống thiết bị nhà với smartphone hay máy tính bảng 1.1.1 Các thành phần hệ thống nhà thông minh Mô hình mô nhà thực tế phân bố hợp lý hệ thống kèm Việc bố trí quan trọng, thiết bị không sử dụng nên xếp vào chỗ hợp lý tránh gây bất tiện sinh hoạt Vì vậy, thiết kế nhà thông minh cần quan tâm đến thay đổi mềm dẻo cách thức lắp đặt cấu hình sử dụng  Hệ thống quản lý chiếu sáng Các thiết bị chiếu sáng bóng đèn sợi đốt, đèn neon, đèn ngủ, trang trí… sử dụng nhiều Vì phối hợp chiếu sáng không hợp lý dẫn tới bị “ô nhiễm” ánh sáng Ngoài ra, việc chiếu sáng gây lãng phí điện, giảm tuổi thọ thiết bị Bên cạnh số lượng đèn dùng để chiếu sáng lớn, gia chủ gặp bất tiện nhỏ việc bật tắt, điều chỉnh độ sáng cho phù hợp Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan Hệ thống chiếu sáng tích hợp chung với hệ thống khác tách riêng để điều khiển độc lập Các giải pháp nhằm tối ưu hóa hệ thống giúp gia chủ điều khiển dễ dàng Các giải pháp kết hợp tính đến để tự động hóa tới mức tối đa  Hệ thống kiểm soát vào Khi gia chủ vắng, việc kiểm soát hệ thống vào nhà quan trọng, giúp đề phòng trộm v.v… Ngôi nhà thông minh cung cấp hệ thống kiểm soát vào cho phép chủ nhà quản lý cấp quyền “đăng nhập” cho thành viên gia đình người thân Hệ thống cửa vào phòng lắp đặt khóa vân tay khóa phím v.v… nhằm nhận dạng người nhà khách để cấp quyền “đăng nhập” Ngoài ra, dùng hệ thống nhận diện khuôn mặt hay giọng nói tùy vào phòng riêng người Mỗi có kiện mới, hệ thống kiểm soát vào kích hoạt hệ thống khác để lưu giữ thay đổi người dùng tạo  Hệ thống quan sát, thông tin liên lạc Một nhà bình thường có từ đến phòng kín, có vài vấn đề khó khăn giao tiếp từ phòng sang phòng khác Một hệ thống thông tin liên lạc nội giúp giải vấn đề Hệ thống liên lạc nội đơn giản điện thoại cố định điện thoại mẹ bồng Ngoài chức liên lạc nhà, hệ thống cần kết nối với mạng điện thoại để tiện cho việc giao tiếp công việc hơn, để làm việc cần đến chuyển kênh Hệ thống quan sát giúp việc kiểm soát an ninh, người vào/ra nhà… giúp cho gia chủ nhận diện khách nhanh chóng thông qua camera  Hệ thống giải trí đa phương tiện Ngôi nhà nơi sinh hoạt gia đình gồm nhiều hệ hệ lại có nhu cầu giải trí khác Do đó, hệ thống giải trí đa phương tiện cung cấp cho thành viên hoạt động giải trí phù hợp…  Hệ thống quản lý cấp điện, nước, gas Đối với nhà bình thường việc cung cấp đo lường số điện nước phải thông qua quan nhà nước Ngôi nhà thông minh cung cấp giải pháp nhằm đo lường báo lại thông số điện, nước thường xuyên, kết hợp với hệ thống quản lý chiếu sáng hệ thống kiểm soát vào ra, từ tự động bật/tắt thiết bị nhà nhằm tiết kiệm lượng Ngoài ra, cảm biến giúp hạn chế cảnh báo nguy khác rò rỉ gas, mực nước bể chứa thấp, bể đường ống nước, cháy chập điện…  Hệ thống cảm biến báo động, báo cháy Hệ thống cảm biến thành phần quan trọng hệ thống nhà, cảm biến có nhiệm vụ gửi thông số đo cho xử lý trung tâm để có giải pháp phù hợp với gói liệu xử lý tình tương ứng Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan Các cảm biến cảm biến nhiệt độ, độ ẩm, cảm biến gas, cảm biến áp suất, cảm biến hồng ngoại…  Hệ thống điều hòa không khí, kiểm soát môi trường Thông thường nhà cần có không gian xanh, không giúp thành viên gia đình thư giãn mà giúp điều hòa không khí Việc xây dựng trì màu xanh nhà cần thiết, hệ thống điều hòa không khí kiểm soát môi trường giúp ích nhiều việc chăm sóc độ ẩm cần thiết, ánh sáng phù hợp…  Hệ thống công tắc điều khiển trạng thái Hệ thống công tắc bảng hiển thị cung cấp thông tin nhận lệnh điều khiển từ gia chủ Đảm bảo tương tác hai chiều thành viên hệ thống tự động Hệ thống bao gồm: điều khiển từ xa, công tắc gắn tường, bảng điều khiển tương tác HMI, điện thoại thông minh…  Hệ thống mạng, xử lý trung tâm kết hợp hoạt động Ngôi nhà thông minh đánh giá cao khác hẳn nhà bình thường trang bị hệ thống mạng điều khiển toàn thay đổi điều khiển tự động nhà xử lý đồng thông qua hệ thống mạng xử lý trung tâm Nó có vai trò quan trọng, làm nhiệm vụ liên kết hệ thống khác nhà lại với nhau, điều phối hệ thống chấp hành cách nhịp nhàng theo điều kiện tác động lập trình từ trước Chúng ta gọi hoạt cảnh – điều kiện môi trường nhà Một vài kết hợp tiêu biểu: • Hệ thống chiếu sáng với Hệ thống xử lý trung tâm lập trình theo thói quen người sử dụng Các thiết bị chiếu sáng hoạt động theo chu trình thời gian đặt trước • Hệ thống chiếu sáng kết hợp với Hệ thống cảm biến cung cấp khả tự động điều khiển ánh sáng như: đèn tự động tắt người phòng, số khu vực tự sáng đèn qua 18h… • Hệ thống cảnh báo kết hợp với hệ thống chiếu sáng: có vấn đề xảy cháy nổ, phát ăn trộm…các bóng đèn chớp sáng liên tục, đồng thời có tiếng còi báo hiệu • Hệ thống cảm biến kết hợp với hệ thống xử lý trung tâm báo cáo tình trạng lưu trữ điện UPS, báo cáo mực nước bồn chứa…nhằm đảm bảo nguồn cung cho nhu cầu sinh hoạt ngày • Hệ thống giải trí đa phương tiện kết hợp với hệ thống chiếu sáng nhằm đem lại giây phút thư giãn cho thành viên gia đình 1.1.2 Triển khai mô hình nhà thông minh thực tế  Mô tả yêu cầu Đảm bảo đầy đủ yếu tố mô nhà thông minh thu nhỏ Có tính khả thi thực thời gian ngắn Đảm bảo phát triển theo mục tiêu đề tài đặt ra: điều khiển quản lý thiết bị thông qua mạng internet Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan  Mục tiêu thực Thiết lập mô hình mạng điều khiển từ internet đến board điều khiển trung tâm, từ đến nút mạng khác Xây dựng chương trình điều khiển web server tích hợp board, cho phép điều khiển thông qua trình duyệt web Có thể dùng thiết bị laptop, máy tính bàn, điện thoại thông minh để truy cập Thiết kế thi công số cảm biến như: cảm biến ánh sáng, cảm biến nhiệt độ, độ ẩm…và mạch công suất để điều khiển thiết bị đèn chiếu sáng, quạt… 1.2 Giới thiệu chung Arduino Arduino thực gây sóng gió thị trường người dùng DIY (là người tự chế sản phẩm mình) toàn giới vài năm gần đây, gần giống với Apple làm thị trường thiết bị di động Số lượng người dùng cực lớn đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học làm cho người tạo chúng phải ngạc nhiên mức độ phổ biến Hình 1.1: Những thành viên khởi xướng Arduino Arduino mà khiến sinh viên nhà nghiên cứu trường đại học danh tiếng MIT, Stanford, Carnegie Mellon phải sử dụng; Google muốn hỗ trợ cho đời kit Arduino Mega ADK dùng để phát triển ứng dụng Android tương tác với cảm biến thiết bị khác? Arduino thật bo mạch vi xử lý dùng để lập trình tương tác với thiết bị phần cứng cảm biến, động cơ, đèn thiết bị khác Đặc điểm bật Arduino môi trường phát triển ứng dụng dễ sử dụng, với ngôn ngữ lập trình học cách nhanh chóng với người am hiểu điện tử lập trình Và điều làm nên tượng Arduino mức giá thấp tính chất nguồn mở từ phần cứng tới phần mềm Chỉ với khoảng $30, người dùng sở hữu board Arduino có 20 ngõ I/O tương tác điều khiển chừng thiết bị Arduino đời thị trấn Ivrea thuộc nước Ý đặt theo tên vị vua vào kỷ thứ King Arduin Arduino thức đưa giới thiệu vào năm 2005 công cụ khiêm tốn dành cho sinh viên giáo sư Massimo Banzi, người phát triển Arduino, trường Interaction Design Instistute Ivrea (IDII) Mặc dù không tiếp thị cả, tin tức Arduino lan truyền với tốc độ chóng mặt nhờ lời truyền miệng tốt đẹp người dùng đầu Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan tiên Hiện Arduino tiếng tới nỗi có người tìm đến thị trấn Ivrea để tham quan nơi sản sinh Arduino 1.3 Giới thiệu board Arduino Uno Nhắc tới dòng mạch Arduino dùng để lập trình, mà người ta thường nói tới dòng Arduino UNO Hiện dòng mạch phát triển tới hệ thứ (R3) Bạn bắt đầu đến với Arduino qua thứ Bạn dùng Arduino Nano khuyên bạn nên dùng  Một vài thông số Arduino UNO R3 Vi điều khiển ATmega328 (họ 8bit) Điện áp hoạt động 5V – DC (chỉ cấp qua cổng USB) Tần số hoạt động 16 MHz Dòng tiêu thụ 30mA Điện áp vào khuyên dùng 7-12V – DC Điện áp vào giới hạn 6-20V – DC Số chân Digital I/O 14 (6 chân PWM) Số chân Analog (độ phân giải 10bit) Dòng tối đa chân I/O 30 mA Dòng tối đa (5V) 500 mA Dòng tối đa (3.3V) 50 mA Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan bootloader SRAM KB (ATmega328) EEPROM KB (ATmega328)  Vi điều khiển Arduino UNO sử dụng vi điều khiển họ 8bit AVR ATmega8, ATmega168, ATmega328 Bộ não xử lí tác vụ đơn giản điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm trạm đo nhiệt độ - độ ẩm hiển thị lên hình LCD,… hay ứng dụng khác mà bạn xem Thiết kế tiêu chuẩn Arduino UNO sử dụng vi điều khiển ATmega328 với giá khoảng 90.000đ Tuy nhiên yêu cầu phần cứng bạn không cao túi tiền không cho phép, bạn sử dụng loại vi điều khiển khác có chức tương đương rẻ ATmega8 (bộ nhớ flash 8KB) với giá khoảng 45.000đ ATmega168 (bộ nhớ flash 16KB) với giá khoảng 65.000đ Ngoài việc dùng cho board Arduino UNO, bạn sử dụng IC điều khiển cho mạch tự chế Vì ? Vì bạn cần board Arduino UNO để lập trình cho vi điều khiển Trên thực tế, bạn không cần phải dụng Arduino UNO sản phẩm mình, thay vào mạch tự chế để giảm chi phí hình đây: 10 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan  Dạo vòng Arduino IDE Giao diện 68 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan Vùng lệnh Bao gồm nút lệnh menu (File, Edit, Sketch, Tools, Help) Phía icon cho phép sử dụng nhanh chức thường dùng IDE miêu tả sau: Vùng viết chương trình Bạn viết đoạn mã Tên chương trình bạn hiển thị dãy Icon, tên “Blink” Để ý phía sau tên chương trình có dấu “§” Điều có nghĩa đoạn chương trình bạn chưa lưu lại 69 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan Vùng thông báo (debug) Những thông báo từ IDE hiển thị Để ý góc bên phải hiển thị loại board Arduino cổng COM sử dụng Luôn ý tới mục chọn sai loại board cổng COM, bạn upload code 3.2 Chương trình 3.2.1 Chương trình điều khiển tổng hợp thiết bị nhà #include #include LiquidCrystal_I2C lcd(0x27,16,2); byte degree[8] = { 0B01110, 0B01010, 0B01110, 0B00000, 0B00000, 0B00000, 0B00000, 0B00000 70 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan }; //khai bao pir int ledPin = 9; // chọn chân cho đèn int inputPin = 2; // Chọn chân số làm tín hiệu vào cho PIR int pirState = LOW; // giả sử ban đầu không phát chuyển động int val = 0; // khai báo biến cho trình đọc trạng thái đầu vào // khai bao cho LM35 int sensorPin = A0; //khai bao chuyen dong const int trig =6; const int echo =8; int distance; unsigned long duration; void setup() { Serial.begin(9600); //pir pinMode(ledPin, OUTPUT); // khai báo, chọn đèn led ngõ pinMode(inputPin, INPUT); // chọn inputPin tín hiệu vào; //nhiet pinMode (12, OUTPUT);// thiết đặt chân 12 OUTPUT digitalWrite(12, LOW);// tắt quạt Serial.println(" done"); Serial.println("SENSOR ACTIVE"); 71 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan delay(50); //sieu am pinMode(11,OUTPUT);// thiết đặt chân 11 output pinMode(trig, OUTPUT); pinMode(echo, INPUT); lcd.init(); lcd.backlight(); lcd.print("Nhiet do: "); lcd.setCursor(0,1); lcd.print("k.cach:"); lcd.setCursor(0,2); lcd.createChar(1, degree); // khai báo cảm biến khí gas pinMode(A2, INPUT_PULLUP); pinMode(13, OUTPUT); //thiết đặt chân 13 OUTPUT } void loop() { //pir val = digitalRead(inputPin); // đọc giá trị cảm biến nhận if (val == HIGH) { // kiểm tra giá trị vào HIGH digitalWrite(ledPin, HIGH); // bật đèn LED if (pirState == LOW) { // we have just turned on 72 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan Serial.println("Motion detected!"); // We only want to print on the output change, not state pirState = HIGH; } } else { digitalWrite(ledPin, LOW); // turn LED OFF if (pirState == HIGH){ // we have just turned of Serial.println("Motion ended!"); // We only want to print on the output change, not state pirState = LOW; }} //LM35 int reading = analogRead(sensorPin); // đọc giá trị cảm biến từ lm35 float voltage = reading * 5.0 / 1024.0; // '5' điện áp cung cấp cho lm35 float temp = voltage * 100.0; if ( temp >= 37){ digitalWrite(12, LOW);// nhiệt độ >=32 quạt tự động bật delay(50); } else{ digitalWrite(12, HIGH);// nhiệt độ< 32 quạt tắt delay(50); 73 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan } Serial.println(temp);// xuất giá trị nhiệt độ lcd.setCursor(10,0); lcd.print(round(temp));// in hình LCD lcd.print(""); lcd.write(1); lcd.print("C "); delay(50);// //chuyen dong digitalWrite(trig,0); delayMicroseconds(2); digitalWrite(trig,1); delayMicroseconds(5); digitalWrite(trig,0); duration = pulseIn(echo, HIGH); distance = int (duration/2/29.412); if(distance>5) {digitalWrite(11, HIGH); lcd.setCursor(8,1); lcd.print("k.phat hien"); } 74 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan else{ digitalWrite(11, LOW); //delay(5000); lcd.setCursor(8,1); lcd.print(round(distance)); lcd.print(" "); lcd.print("CM "); } delay(50); if(analogRead(A2)>=300) // đọc giá trị cảm biến MQ2 chân A2 { digitalWrite(13, LOW);}// nồng độ khí gas >=500, bật còi báo động //Serial.println(analogRead(A2));} else{ digitalWrite(13, HIGH);//khi nồng độ< 500, còi tắt //Serial.println(analogRead(A2));// xuất giá trị A2 } Serial.println(analogRead(A2)); delay(500); } 75 Nghiên cứu Khoa học-SV-2015 3.2.2 Chương 1:Tổng quan Chương trình điều khiển hệ thống vào đèn trước nhà #include #include //Lấy thư viện thẻ từ RC522 https://github.com/ljos/MFRC522 #include #include #include LiquidCrystal_I2C lcd(0x27,16,2); #define SAD 10 #define RST MFRC522 nfc(SAD, RST); #define ledPinOpen 2//Điều khiển led chân sáng thẻ từ đưa vào nhận diện #define ledPinClosed 3//Điều khiển led chân sáng thẻ từ đưa vào chưa nhận điện int cambien = 5;// khai báo chân digital 10 cho cảm biến int Led = 6;//kháo báo chân digital cho đèn LED Servo myservo; 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ê myservo.attach(9); myservo.write(0); lcd.init(); lcd.backlight(); lcd.print("Nha thong minh"); lcd.setCursor(0,1); pinMode(ledPinOpen , OUTPUT); pinMode(ledPinClosed, OUTPUT); SPI.begin(); Serial.begin(9600); //baurate 115200 9600 Serial.println("Dang tim chip MFRC522."); nfc.begin(); byte version = nfc.getFirmwareVersion(); if (! version) { Serial.print("Khong thay chip MFRC522."); while(1); //halt } 76 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan Serial.print("Da thay chip MFRC522 "); Serial.print("Firmware phien ban 0x"); Serial.print(version, HEX); Serial.println("."); } byte AAuthorized[6] = {0xB4, 0xCA, 0x4A, 0x1A, 0xFF, 0xFF};//Mã thẻ lập trình để nhận diện //,{0xD4, 0x4B, 0xAA, 0x72, 0xFF, 0xFF} //,{0x10, 0x14, 0x39, 0x2E, 0xFF, 0xFF, }/ /Ví dụ cách thêm thẻ cần nhận diện/ //Thử thêm vào byte BAuthorized[6] = {0xD4, 0x4B, 0xAA, 0x72, 0xFF, 0xFF}; //,{0x10, 0x14, 0x39, 0x2E, 0xFF, 0xFF, }/ /Ví dụ cách thêm thẻ cần nhận diện/ void printSerial(byte *serial); boolean isSame(byte *key, byte *serial); boolean isAuthorized(byte *serial); void loop() { while(1){ 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 byte status; int pos = 0; byte data[MAX_LEN]; byte serial[5]; boolean Opening = false; digitalWrite(ledPinOpen, Opening); digitalWrite(ledPinClosed, !Opening); status = nfc.requestTag(MF1_REQIDL, data); if (status == MI_OK) { status = nfc.antiCollision(data); memcpy(serial, data, 5); if(isAAuthorized(serial)) { printSerial(serial); lcd.setCursor(0,1); Serial.print("VUONG TRIEU "); Serial.println("Ma the dung"); lcd.print("VUONG TRIEU: accepted"); for (pos = 0; pos = 0; pos -= 1) { // goes from 180 degrees to degrees myservo.write(pos); // tell servo to go to position in variable 'pos' delay(30); // waits 15ms for the servo to reach the position } Opening = true; } else if(isBAuthorized(serial)) { printSerial(serial); lcd.setCursor(0,1); Serial.print(": Khach VIP "); Serial.println("Ma the dung"); lcd.print("KHACH VIP: accepted"); for (pos = 0; pos = 0; pos -= 1) { // goes from 180 degrees to degrees myservo.write(pos); // tell servo to go to position in variable 'pos' delay(30); // waits 15ms for the servo to reach the position } Opening = true; } else { printSerial(serial); lcd.setCursor(0,1); Serial.println("Ma the KHONG dung"); lcd.print("MA THE KHONG DUNG"); Opening = false; } nfc.haltTag(); digitalWrite(ledPinOpen, Opening); digitalWrite(ledPinClosed, !Opening); delay(2000); }//if (status == MI_OK) 78 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan delay(500);} }//void loop() boolean isSame(byte *key, byte *serial) { for (int i = 0; i < 4; i++) { if (key[i] != serial[i]) { return false; } } return true; } boolean isAAuthorized(byte *serial) { if(isSame(serial, AAuthorized)) return true; else return false; } //Thử boolean isBAuthorized(byte *serial) { if(isSame(serial, BAuthorized)) return true; else return false; } void printSerial(byte *serial) { Serial.print("The:"); for (int i = 0; i < 4; i++) { Serial.print(serial[i], HEX); Serial.print(" "); } } 79 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan 80 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan TỔNG KẾT Sau nhiều tháng thực nỗ lực cố gắng thành viên nhóm với hướng dẫn tận tình cô Ths Lan Anh, tập nghiên cứu hoàn thành thời hạn theo quy định, theo yêu cầu đặt thiết kế nhà thông minh với đặc điểm sau: Thiết kế hệ thống cảnh báo khí gas, hiển thị nhiệt độ tự động điều hòa Thiết kế hệ thống cảm biến chuyển động nhà cảm biến ánh sáng Thiết kế hệ thống vào thẻ từ hệ thống an toàn chống trộm đột nhập Tuy nhiên mạch có hạn chế cụ thể sau” Mạch cảm biến ánh sáng chưa thể điều chỉnh ánh sáng cách xác có thay đổi nhỏ Mạch cảm biến nhiệt cảnh báo khí gas chưa nhớ nhà cúp điện Mạch mở cửa chưa thể ghi lại thời gian vào đợt khách qua lại Chưa điều khiển hệ thống từ nơi khác Hướng phát triển đề tài: Cần lắp đặt IC nhớ để lưu trữ liệu cúp điện mạch cảm biến khí gas nhiệt độ Hệ thống chống trộm nhận biết qua di chuyển Điều khiển hệ thống từ internet qua điện thoại Mặc dù đề tài hoàn thành mặt hướng phát triển hoàn thành hết yêu cầu nhiệm vụ đặt Một lần em chân thành cảm ơn cô Ths.Lan Anh tận tình giúp đỡ, bảo đưa hướng đắn cho nhóm em thời gian vừa qua, giúp chúng em hoàn thành tốt nhiệm vụ đặt Trong trình thực nghiên cứu không tránh khỏi sai sót, chúng em mong nhận chia sẻ, bảo thầy cô bạn bè Em xin chân thành cảm ơn 81 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan TÀI LIỆU THAM KHẢO [1]Tự học nhanh arduino cho người bắt đầu (Ths Huỳnh Minh Phú) [2]Beginning arduino (Micheal McRobert) [3] Gíao trình ARDUINO bản, Nguyễn Trung Tín - Học viện bưu viễn thông Việt Nam [4] John Boxall, Arduino Workshop: A Hands - On Introduction with 65 Projects, No Starch Press, 2013 [5] Alan G Smith, Introduction to Arduino, CreateSpace Independent Publishing Platform, 2011 [6] Brian Evans, Beginning Arduino Programming, Apress, 2011 [4] Massimo Banzi, Getting Started with Arduino, Maker Media, 2011 [7] Trang Web tham khảo: http://arduino.cc/en/Reference/HomePage http://arduino-info.wikispaces.com/ArduinoPower http://arduino.vn/ 82 [...]... AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác 1.4 Lập trình cho Arduino Các thiết bị dựa trên nền tảng Arduino. .. đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối)  Một số chân digital có các chức năng đặc biệt như sau: • • • • 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này Kết... Xe đua Ngoài ra còn có nhiều loại kích thước thông dụng khác Để quay động cơ, tín hiệu số được gới tới mạch điều khiển Tín hiệu này khởi động động cơ, thông qua chuỗi bánh răng, nối với vôn kế Vị trí của trục vôn kế cho biết vị trí trục ra của servo Khi vôn kế đạt được vị trí mong muốn, mạch điều khiển sẽ tắt động cơ Như ta dự đoán, động cơ servo được thiết kế để quay có giới hạn chứ không phải quay... hơn, thông tin được lưu giữ trên con chíp có thể được sửa đổi bởi sự tương tác của bộ đọc Dung lượng lưu trữ cao của những thẻ nhãn RFID thông minh này sẽ cho phép chúng cung cấp nhiều thông tin đa dạng như thời gian lưu trữ, ngày bày bán, giá và thậm chí cả nhiệt độ sản phẩm "Bằng việc gắn thẻ RFID lên các vật dụng và mở bộ đầu đọc trên máy tính, các công ty có thể tự động biết được rất nhiều thông. .. Arduino được lập trình bằng ngôn riêng Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói Và Wiring lại là một biến thể 12 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan của C/C++ Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++ Riêng tôi thì gọi nó là “ngôn ngữ Arduino , và đội ngũ phát triển Arduino cũng gọi như vậy Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do... cứu Khoa học-SV-2015 Chương 1:Tổng quan Hình 18 Hình 19 20 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan Các thông số cơ bản của module cảm biến PIR Dưới đậy là thông số kỹ thuật của nhà sản xuất cung cấp cho module cảm biến PIR Độ rộng vùng quét của cảm biến PIR (Hình 20) Kết nối PIR với Arduino Ta cấp nguồn cho PIR là 5V, Cực âm ta nối GND, Tín hiệu vào là chân số 2 Tín hiệu ra led chọn chân 13... SRF05 là bản nâng cấp của SRF04, được thiết kế để tăng độ chính xác, phạm vi hoạt động và giảm giá thành Như vậy, việc sử dụng SRF05 hoàn toàn tương tự SRF04 ngoài những cải tiến trên Phạm vi hoạt động được tăng từ 3m lên 4m + SRF05 cho phép sử dụng một chân duy nhất cho cả kích hoạt và phản hồi, do đó tiết kiệm giá trị trên chân điều khiển Khi chân chế độ không kết ối, thì SRF05 hoạt động riêng biệt... dụng chế độ này, chỉ cần chân chế độ không kết nối- SRF05 có một nội dừng trên chân này 22 Nghiên cứu Khoa học-SV-2015 Chương 1:Tổng quan  Chế độ 2- Dùng một chân cho cả kích hoạt va phản hồi Mode này sử dụng một chân duy nhất cho cả hai tín hiệu trigger và echo, được thiết kế để tiết kiệm chân sử dụng cho các bộ điều khiển nhúng Để sử dụng chế độ này, ta kết nối chân Mode với mass Khi đó sau khi gửi... 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân... Năng lượng Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO  Các chân năng lượng • • • • • • • • • GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO

Ngày đăng: 29/04/2016, 22:57

Từ khóa liên quan

Mục lục

  • LỜI NÓI ĐẦU

  • TỔNG QUAN

    • 1.1 Tổng quan về nhà thông minh

      • 1.1.1 Các thành phần cơ bản trong hệ thống ngôi nhà thông minh

      • 1.1.2 Triển khai mô hình ngôi nhà thông minh thực tế

      • 1.2 Giới thiệu chung về Arduino

      • 1.3 Giới thiệu về board Arduino Uno

      • Năng lượng

      • Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO.

      • Các chân năng lượng

      • Các cổng vào/ra

      • 1.4 Lập trình cho Arduino

      • 1.5 Cảm biến nhiệt độ LM35

      • 1.6 Tổng quan về cảm biến chuyển động PIR

        • 1.6.1 PIR là gì?

        • 1.6.2 Nguyên lý hoạt động của module cảm biến pir

        • 1.7 Cảm biến siêu âm SRF05

          • 1.7.1 Giới thiệu cảm biến siêu âm SRF05

          • 1.7.2 Các chế độ của SRF05

          • 1.7.3 Hoạt động phát và nhận phản hồi sóng cơ bản của SRF05:

          • 1.8 Động cơ servo

          • 1.9 Module RFID RC522. Tần số 13,56mhz

          • 1.10 Cảm biến khí gas

          • Mô tả:

            • Tính năng

Tài liệu cùng người dùng

Tài liệu liên quan