Xem mẫu

  1. TRƯƠNG ĐAI HOC MO – ĐIA CHÂT ̀ ̣ ̣ ̉ ̣ ́ BÔ MÔN MANG MAY TINH ̣ ̣ ́ ́       TIÊU LUÂN MÔN HOC ̉ ̣ ̣       KIÊN TRUC VA HA TÂNG MANG IOT ­ 7080713 ́ ́ ̀ ̣ ̀ ̣        ̣ ̀ Ho va tên: Nguyễn Hữu Thắng Ma sô sinh viên : 1821050139 ̃ ́ Lơp: DCCTKH63C                     Nhom:02 ́ ́ ́ ̣ ̉ ̣ ̣            Can bô giang day: Trân Thi Thu Thuy ̀ ́ 1
  2.                                                                   HA NÔI – 2021 ̀ ̣ Mục lục 2
  3. I.Mở đầu    Ngày này công nghệ thông minh đã được phát triển và áp dụng vào trong cuộc sống  con người rất nhiều , đem lại những tiện nghi khi sử dụng. Khóa cửa thông minh cũng  vậy. Là sản phẩm được áp dụng công nghệ thông minh giúp người dùng dễ dàng thực  hiện các thao tác đóng mở  cửa mà không cần đến chìa khóa. Thay vào đó người dùng  có thể thực hiện mở cửa bằng mã số , vân tay , thẻ từ , . . . thậm chí là ứng dụng điện   thoại. Khóa cửa thông minh được thiết kế với công nghệ bảo mật cao giúp cho người  dùng an tâm hơn khi sử  dụng , đặc biệt một số  mẫu khóa thông minh có chức năng   theo dõi qua  ứng dụng điện thoại giúp chủ  nhà dễ  dàng kiểm soát và theo dõi được  hoạt động của ngôi nhà. *Ưu điểm: ­ Tính tiện lợi: không phải mang chìa khóa , không sợ mất chìa, tiết kiệm thời gian  công sức. ­ Tính an toàn và bảo mật cao: sử dụng vân tay , mã số , ... cấu tạo chắc chắn 5 chốt  thay vì 2 chốt như khóa thường, không có lỗ khóa tránh cạy phá, có chức năng báo  động. ­Tính tiện dụng: có thể ghi lại ngày giờ , kiểm soát khu vực, quản lí người ra vào vào  từng thời điểm,. . . ­Thiết kế và mẫu mã đa dạng , phù hợp với từng nội thất của các gia đình hiện đại. *Nhược điểm: ­ Giá thành cao hơn các loại khóa truyền thống ­Thời gian lắp đặt và chi phí cao ­Nhiều sản phẩm hàng nhái kém chất lượng khó phân biệt.    Nhận thấy tính thực tế, em xin được thực hiện Đề tài 8: Xây dựng một ứng dụng  đóng/mở cửa dựa trên (thẻ từ , mật khẩu ,vân tay,...) sử dụng mạch arduino. II.Nội dung II.1 Nội dung 1:    Vẽ sơ đồ mạch điện ( trên proteus...). viết chương trình trên arduino IDE; mô phỏng  mạch hiển thị “ Tên của bạn” trên màn hình LCD. Hiện thị kết quả. Sơ đồ mạch: 3
  4. Code: #include  LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() {   lcd.begin(16, 2) ;   lcd.print("Nguyen Huu Thang") ;   } void loop() {   lcd.setCursor( 0, 1) ;   lcd.print("1821050139") ; } II.2 Nội dung 2:    Xây dựng một ứng dụng đóng/mở cửa dựa trên (thẻ từ , mật khẩu ,vân tay,...) sử  dụng mạch arduino. 4
  5. Sơ đồ mạch: 5
  6. 6
  7. *Các thiết bị được sử dụng: ­ Mạch arduino uno ­ Keypad­phone : bảng số để nhập mật mã khóa cửa ­ Led­Grenn: bóng đèn báo cửa mở hoặc khóa ­ LM016L : Màn hình LCD hiển thị ­ Motor­PWMSERVO: động cơ Servo PWM , được sử dụng như một khóa điện ­ POT: biến trở *Nguyên tắc hoạt động ­ Khi được cấp điện , màn hình LCD hiện thị “ XIN CHAO NHAP PASSWORD  “ và đèn khóa báo xanh. ­ Khi nhập password sai , màn hình LCD hiển thị “ PASSWORD SAI” 7
  8. ­ Khi nhập đúng , động cơ Servo sẽ quay 180 độ và cửa mở , đèn báo UNLOCK  sáng và màn hình LCD hiện “ MOI VAO” *Code: #include "Keypad.h" #include  #include  Servo servo; LiquidCrystal lcd (A0, A1, A2, A3, A4, A5); // khai bao cac chan ket noi lcd const int hang = 4; // khai bao so hang const int cot = 3; // khai bao so cot char keys[hang][cot] = //dinh nghia cac phim {{'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'}}; byte rowPins[hang] = {4, 3, 2, 1}; byte colPins[cot] = {7, 6, 5}; char* password ="5555"; // cai dat password int pozisyon = 0; // keypad position #define Led1 8 // den bao trang thai UNLOCK #define Led2 9 // den bao trang thai LOCK Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, hang, cot ); void setup() {   lcd.begin(16, 2); // thiet lap loai LCD su dung la 16 cot va 2 dong   pinMode(Led1, OUTPUT); //set OUTPUT cho Led1   pinMode(Led2, OUTPUT); //set OUTPUT cho Led2   setLocked (true); // trang thai password   servo.attach(10); // chan xuat tin hieu den Servo } void loop(){   char whichKey = keypad.getKey(); //dinh nghia bien lay trang thai ban phim   lcd.setCursor(0, 0);   lcd.print(" XIN CHAO ");     lcd.setCursor(0, 1); 8
  9.   lcd.print(" NHAP PASSWORD ");   if(whichKey == '*'||whichKey == '#'||whichKey == '0'||whichKey == '3'|| whichKey == '4'||whichKey == '6'||whichKey == '7'||whichKey == '8'||whichKey == '9'){    // dinh nghia key khong co gia tri     pozisyon=0;     setLocked (true);     lcd.clear();     lcd.setCursor(0, 0);     lcd.print(" PASSWORD SAI ");     delay(1000);     lcd.clear();   }   if(whichKey == password [pozisyon]){     pozisyon ++;   }   if(pozisyon == 4){     setLocked ( false);     lcd.clear();     lcd.setCursor(0, 0);     lcd.print(" ***MOI VAO***  ");     delay(3000);     lcd.clear();   }   delay(100); } void control_servo(){   servo.write(180);   delay(1000);   servo.write(90);   delay(1000);   servo.write(0);   delay(1000); } void setLocked(int locked){   if(locked){     digitalWrite(Led2,HIGH);     digitalWrite(Led1,LOW);   }    else{ 9
  10.     control_servo();     digitalWrite(Led1,HIGH);     digitalWrite(Led2,LOW);        }    } III.KẾT LUẬN    Qua quá trình học tập và thực hành , em đã tiếp thu được những kiến thức bổ  ích do giáo viên bộ môn truyền đạt và vận dụng thành công trong việc làm tiểu luận.  Sơ đồ mạch được vẽ đầy đủ , dễ nhìn , phần code đầy đủ và chi tiết. Sau thời gian  học tập , em mong muốn sẽ phát triển lên những thiết bị khóa tân tiến và hiện đại hơn  như sử dụng bằng vân tay hoặc sinh trắc học. Đáp ứng được nhu cầu sử dụng hiện  đại hơn trong tương lai. IV.TÀI LIỆU THAM KHẢO https://kienthuctudonghoa.com/dieu­khien­servo­bang­pwm­arduino/ http://arduino.vn/bai­viet/531­dieu­khien­lcd­bang­arduino­uno http://arduino.vn/bai­viet/5893­khoa­dien­tu­bam­so­su­dung­keypad­4x3 https://istarhome.vn/khoa­cua­thong­minh­la­gi­uu­nhuoc­diem­khi­su­dung­ khoa­cua­thong­minh/ 10
nguon tai.lieu . vn