Module hạ áp LM2596

Một phần của tài liệu Thiết kế hệ thống an ninh nhà ở (Trang 32)

22 Thông số kỹ thuật:

 Điện áp đầu vào: Từ 3V đến 30V.

 Điện áp đầu ra: Điều chỉnh được trong khoảng 1.5V đến 30V.

 Dòng đáp ứng tối đa là 3A.

 Hiệu suất : 92%.

 Công suất : 15W.

 Kích thước: 45 (dài) * 20 (rộng) * 14 (cao) mm.

1.3.11 Động cơ RC servo 9G

Động cơ RC Servo 9G có kích thước nhỏ, là loại được sử dụng nhiều nhất để làm các mơ hình nhỏ hoặc các cơ cấu kéo không cần đến lực nặng. Động cơ RC Servo 9G có tốc độ phản ứng nhanh, các bánh răng được làm bằng nhựa nên cần lưu ý khi nâng tải nặng vì có thể làm hư bánh răng, động cơ RC Servo 9G có tích hợp sẵn Driver điều khiển động cơ bên trong nên có thể dễ dàng điều khiển góc quay bằng phương pháp điều độ rộng xung PWM. Hình 1.17: Động cơ RC servo 9G Thông số kỹ thuật:  Điện áp hoạt động: 4.8-5VDC.  Tốc độ: 0.12 sec/ 60 degrees (4.8VDC).  Lực kéo: 1.6KG.CM.  Kích thước: 21x12x22mm.  Trọng lượng: 9g.

23

1.3.12 Buzzer

Cịi Buzzer 5VDC có tuổi thọ cao, hiệu suất ổn định, chất lượng tốt, được sản xuất nhỏ gọn phù hợp thiết kế với các mạch còi buzzer nhỏ gọn, mạch báo động.

Hình 1.18: Buzzer 5V

Thơng số kỹ thuật:

 Nguồn : 3.5V - 5.5V.

 Dòng điện tiêu thụ: <25mA.

 Tần số cộng hưởng: 2300Hz ± 500Hz.

 Biên độ âm thanh: >80 dB.

 Nhiệt độ hoạt động:-20°C đến +70°C.

 Kích thước : Đường kính 12mm, cao 9,7mm.

1.4 Phần mềm lập trình Arduino IDE 1.4.1 Giới thiệu 1.4.1 Giới thiệu

Arduino IDE là một mơi trường phát triển tích hợp đa nền tảng, làm việc với cùng một bộ điều khiển Arduino để viết, biên dịch và tải code lên phần cứng. Đây là một cơng cụ hỗ trợ lập trình và nạp chương trình trên tất cả các dịng arduino đang có trên thị trường hiện nay.

Ngơn ngữ phổ biến cho Arduino IDE là C và C++ và thường được viết theo hướng đối tượng. Cơng cụ lập trình Arduino IDE sẽ hỗ trợ người dùng lựa chọn mơ hình để làm việc nhờ sử dụng Menu Tools của ứng dụng và một mảng các thư viện phong phú.

24

Hình 1.19: Giao diện của phần mềm Arduino IDE

Khi mới kết nối phần cứng Arduino với máy tính ta click vào Tools -> board để chọn loại board sử dụng.

Hình 1.20: Các loại board phần mềm hỗ trợ

Bên cạnh việc chọn board thì một phần quan trọng nữa là chọn cổng COM. Khi lần đầu gắn mạch Arduino vào máy tính, người sử dụng cần nhấn chọn cổng COM bằng

25 cách vào Tools -> Serial Port (một số phiên bản dùng từ Port) sau đó nhấn chọn cổng COM.

Hình 1.21: Chọn port giao tiếp với phần cứng

Ngoài ra, trong chương trình cịn chứa một lượng ví dụ rất lớn, giúp người dùng có thể dễ dàng tiếp cận và thuận lợi hơn trong việc viết chương trình.

Hình 1.22: Một số ví dụ cơ bản

Để thêm các thư viện Arduino từ trình quản lý thư viện riêng của IDE, hãy truy cập vào Sketch > Include Library > Manage Libraries.

26

Hình 1.23: Quản lý các thư viện Arduino IDE hỗ trợ

Chọn phiên bản và download các thư viện cần thiết.

Hình 1.24: Giao diện install thư viện 1.4.2 Các lệnh, các hàm cơ bản trong Arduino IDE 1.4.2 Các lệnh, các hàm cơ bản trong Arduino IDE

27 Ngay khi mở Arduino IDE sẽ được chào đón bởi các lệnh setup() và loop(). Đây là hai lệnh duy nhất về sketch mà tìm thấy trong hầu hết tất cả các code Arduino.

 Setup(): Mỗi khi sketch bắt đầu, lệnh setup sẽ giúp khởi tạo các biến và bắt đầu sử dụng các thư viện.

 Loop(): Một vòng lặp theo sau setup và thực sự là trái tim của chương trình, khiến nó phản hồi vơ hạn với bất kỳ logic nào.

Sau khi làm quen với các sketch cần biết những lệnh điều khiển. Những lệnh quan trọng nhất là:

 Break: Nếu muốn thoát khỏi một lệnh cần nhấn break.

 If or else: Các lệnh logic khởi tạo một hành động mỗi khi một điều kiện được thỏa mãn.

Các lệnh điều khiển hữu ích khác có thể cung cấp logic nhất định. Những lệnh có thể sử dụng bao gồm:

 return: Trả về một giá trị nhất định.

 while: Một vòng lặp khác diễn ra liên tục trong một điều kiện nhất định.

 goto: Đúng như tên gọi của nó, lệnh này cho phép đi đến một dòng nhất định trong code.

 Boolean và các toán tử số học [7]

Bên cạnh sketch và các lệnh kiểm soát, cần phải biết một số Boolean và toán tử số học để chỉ huy các chương trình.

 Các tốn hạng: Bằng (=), phép cộng (+), phép trừ (-), phép nhân (*) và phép chia (/).

 Các toán hạng nâng cao: Không bằng (!=), Nhỏ hơn hoặc bằng (<=), lớn hơn hoặc bằng (>=), phần dư (%).

 Các biến quan trọng [7]

Trong một số trường hợp, cần đưa ra một vài biến để xử lý những phép toán logic khác nhau. Những biến quan trọng là:

 HIGH|LOW: Điều này mang lại giá trị cuối cùng cao và thấp cho các hằng số.

28 Các biến quan trọng khác cần nhớ bao gồm True/false, sizeof(), void, int và string. Chúng cũng giống như bất kỳ chương trình thơng thường nào khác bao gồm Python, C++,....

 Các hàm cao cấp [7]

Cuối cùng, cần biết một vài hàm nâng cao để điều khiển bo mạch Arduino. Các hàm nâng cao bao gồm:

 digitalRead(): Đọc giá trị từ một pin nhất định. Ngồi ra cịn có digitalWrite().

 random(): Hàm này giúp tạo ra các số ngẫu nhiên.

 Tone() và notone(): Thêm âm thanh xuất hiện trong pin, hàm tone() sẽ xử lý vấn đề đó, trong khi notone() giữ mọi thứ im lặng.

 Delay(): Thêm độ trễ thời gian.

1.5 Giới thiệu các ngôn ngữ lập trinh web

Ba ngôn ngữ lập trình thuần được sử dụng là HTML, CSS và Javascript

 HTML là viết tắt của HyperText Markup Language (ngôn ngữ đánh dấu siêu văn bản) dùng mô tả cấu trúc của các trang Web và tạo ra các loại tài liệu có thể xem được trong trình duyệt.

 CSS (viết tắt của Cascading Style Sheets) là một ngôn ngữ định dạng được sử dụng để mơ tả trình bày các trang Web, bao gồm màu sắc, cách bố trí và phơng chữ. Nó cho phép hiển thị nội dung tương thích trên các loại thiết bị có kích thước màn hình khác nhau, chẳng hạn như màn hình lớn, màn hình nhỏ, hoặc máy in.

 JS (viết tắt của Javascript) là một nền tảng (cross-platform), ngơn ngữ kịch bản hướng đối tượng (object-oriented). Nó là một ngơn ngữ nhỏ và nhẹ. Chạy trong môi trường máy chủ lưu trữ (ví dụ: trình duyệt web), JavaScript có thể được kết nối với các đối tượng của mơi trường để cung cấp kiểm sốt chương trình đối với chúng.

1.6 Giới thiệu Google Firebase 1.6.1 Khái niệm 1.6.1 Khái niệm

Firebase là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảng đám mây được cung cấp bởi Google nhằm giúp người lập trình phát triển nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu…

29 Firebase là sự kết hợp giữa nền tảng cloud với hệ thống máy chủ cực kì mạnh mẽ tới từ Google, để cung cấp cho chúng ta những API đơn giản, mạnh mẽ và đa nền tảng trong việc quản lý, sử dụng database.

1.6.2 Realtime Database System

Cơ sở dữ liệu thời gian thực Firebase lưu trữ dữ liệu database dưới dạng JSON và thực hiện đồng bộ database tới tất cả các client theo thời gian thực. Cụ thể hơn có thể xây dựng được client đa nền tảng (cross-platform client) và tất cả các client này sẽ cùng sử dụng chung một database đến từ Firebase và có thể tự động cập nhật mỗi khi dữ liệu trong database được thêm mới hoặc sửa đổi. Ngồi ra Firebase cịn cho phép phân quyền một các đơn giản bằng cú pháp tương tự như javascript [8].

1.6.3 Tại sao chọn Google Firebase

 Triển khai ứng dụng nhanh [8]:

Với Firebase có thể giảm bớt rất nhiều thời gian cho việc viết các dòng code để quản lý và đồng bộ cơ sở dữ liệu, mọi việc sẽ diễn ra hoàn toàn tự động với các API của Firebase. Khơng chỉ có vậy Firebase cịn hỗ trợ đã nền tảng nên sẽ càng đỡ mất thời gian rất nhiều khi muốn xây dựng là ứng dụng đa nền tảng.

Khơng chỉ nhanh chóng trong việc xây dựng database, Google Firebase cịn giúp ta đơn giản hóa q trình đăng kí và đăng nhập vào ứng dụng bằng các sử dụng hệ thống xác thực do chính Firebase cung cấp.

 Bảo mật [8]:

Firebase hoạt động dựa trên nền tảng cloud và thực hiện kết nối thông qua giao thức bảo mật SSL, chính vì vậy sẽ bớt lo lắng rất nhiều về việc bảo mật của dữ liệu cũng như đường truyền giữa client và server. Khơng chỉ có vậy, việc cho phép phân quyền người dùng database bằng cú pháp javascipt cũng nâng cao hơn nhiều độ bảo mật cho ứng dụng, bởi chỉ những user cho phép mới có thể có quyền chỉnh sửa cơ sở dữ liệu.

 Tính linh hoạt và khả năng mở rộng [8]:

Sử dụng Firebase sẽ giúp dễ dàng hơn rất nhiều mỗi khi cần nâng cấp hay mở rộng dịch vụ. Ngồi ra firebase cịn cho phép tự xây dựng server riêng để có thể thuận tiện hơn trong quá trình quản lý. Việc Firebase sử dụng NoSQL, giúp cho database sẽ

30 khơng bị bó buộc trong các bảng và các trường mà có thể tùy ý xây dựng database theo cấu trúc riêng.

 Sự ổn định [8]:

Firebase hoạt động dựa trên nền tảng cloud đến từ Google vì vậy hầu như không bao giờ phải lo lắng về việc sập server, tấn công mạng như DDOS, tốc độ kết nối lúc nhanh lúc chậm, … nữa, bởi đơn giản là Firebase hoạt động trên hệ thống server của Google. Hơn nữa nhờ hoạt động trên nền tảng Cloud nên việc nâng cấp, bảo trì server cũng diễn ra rất đơn giản mà không cần phải dừng server để nâng cấp như truyền thống.

 Giá thành [8]:

Google Firebase có rất nhiều gói dịch vụ với các mức dung lượng lưu trữ cũng như băng thông khác nhau với mức giá dao động từ free đến $1500 đủ để đáp ứng được nhu cầu của tất cả các đối tượng.

1.6.4 Tạo một cơ sở dữ liệu trên Google Firebase

Tạo một tài khoản để truy cập vào giao diện điều khiển. Sau đó, chọn “ Get start” để bắt đầu tạo project.

Hình 1.25: Giao diện trang Google Firebase

31

Hình 1.26: Tạo project mới

Từ menu bên trái, nhấp vào “Database” và “Create database” trong phần Realtime Database.

Hình 1.27: Tạo cơ sở dữ liệu mới

32

Hình 1.28: Chọn chế độ cho project

Chọn cách lưu trữ dữ liệu trên Firebase.

Hình 1.29: Chọn chế độ lưu trữ dữ liệu

33

34

CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 2.1 Phân tích hệ thống 2.1 Phân tích hệ thống

2.1.1 Yêu cầu thiết kế

Hệ thống được thiết kế với các yêu cầu:

 Có thể đóng mở cửa tiện lợi, dễ dàng hơn chìa khóa thơng thường nhưng vẫn đảm bảo an tồn.

 Có thể giám sát, báo động khi có người lạ đột nhập hoặc cháy nổ xảy ra.

 Chủ nhà có thể nhận được thơng tin báo động có sự đột nhập trái ý hoặc cháy nổ khi khơng có mặt tại nhà để có thể xử lý kịp thời các tình huống.

 Hệ thống có thể hoạt động ổn định.

2.1.2 Đặc tả hệ thống

Dựa vào những yêu cầu, hệ thống phải đáp ứng được các chức năng:

 Khóa mở cửa bằng cách sử dụng thẻ RFID hoặc mật khẩu.

 Phát hiện cháy nổ.

 Phát hiện người lạ đột nhập.

 Báo động bằng loa khi có sự đột nhập trái phép hoặc khi có cháy nổ xảy ra.

 Thực hiện cuộc gọi khẩn cấp, tin nhắn SMS từ hệ thống khi phát hiện có cháy, trộm.

 Một giao diện website đơn giản để có thể theo dõi, điều khiển hệ thống.

 Cấp nguồn điện dự phòng cho hệ thống hoạt động liên tục khi có sự cố mất điện xảy ra.

2.2 Thiết kế sơ lược

35

Hình 2.1: Sơ đồ khối hệ thống

Chức năng từng khối:

 Khối hiển thị: kết nối nhận dữ liệu từ khối xử lý trung tâm để hiển thị cho người dùng.

36

 Khối nhập dữ liệu đóng/mở cửa: kết nối khối xử lý trung tâm để truyền nhận dữ liệu.

 Khối đóng/mở cửa: thực hiện chức năng đóng mở cửa.

 Khối cảm biến: thu thập các thông tin dữ liệu cảm biển và truyền về khối xử lý trung tâm.

 Khối thực hiện sms/gọi: thực hiện chức năng gửi sms hoặc gọi đến người dùng.

 Khối báo động: thực hiện chức năng phát ra âm thanh cảnh báo khi cần.

 Khối xử lý trung tâm: là nơi xử lý chính của hệ thống và được kết nối tới tất cả các khối khác để truyền nhận dữ liệu, xử lý điều khiển toàn bộ hệ thống hoạt động.

 Khối nguồn: cung cấp nguồn điện cho tồn bộ các khối cịn lại của hệ thống hoạt động và duy trì nguồn điện liên tục cho hệ thống.

2.2.2 Mô tả hệ thống

Khối nhập dữ liệu để kiểm tra đóng/mở cửa sẽ tiến hành lấy thơng tin và đưa về khối xử lý trung tâm để kiểm tra điều kiện để đóng/mở cửa nếu đúng thẻ đã đăng ký hay nhập đúng mã số thì cho khối đóng/mở cửa thực hiện.

Giao diện nhập mật khẩu sẽ hiển thị qua LCD của khối hiển thị.

Nếu chủ nhà bật chế độ cảnh báo đột nhập thì khối cảm biến cho phép cảm biến chuyển động phát hiện người lạ hoặc cảm biến cháy nổ phát hiện lửa thì khối báo động sẽ tiến hành bật loa và khối thực hiện sms/gọi sẽ nhắn tin, gọi điện để cảnh báo cho chủ nhà.

Hệ thống sử dụng mạng internet để cập nhật trạng thái các thiết bị và cập nhật lại danh sách thẻ RFID qua firebase.

Chủ nhà có thể bật chế độ cảnh báo đột nhập, tắt mở loa báo động, thay đổi mật khẩu thông qua trang web.

Nếu trong trường hợp mất internet hệ thống vẫn có thể hoạt động báo động bình thường qua loa và nhắn tin, gọi điện, mở cửa bằng các thẻ RFID được cập nhật ở lần gần nhất hoặc bằng mật khẩu mặc định.

Bình thường sẽ dùng nguồn điện lấy từ nguồn điện trong nhà, khi cúp điện thì sẽ chuyển sang sử dụng nguồn dự phòng.

37

2.3 Thiết kế chi tiết từng khối 2.3.1 Khối hiển thị 2.3.1 Khối hiển thị

Sử dụng màn hình LCD 20x4 hiển thị thơng tin mật khẩu khi nhập bằng keypad 4x4 để mở cửa nhà, trong trường hợp không sử dụng thẻ từ RFID.

Để dễ dàng giao tiếp với khối xử lý trung tâm, nhóm thực hiện giao tiếp LCD thông qua module I2C LCD. Kết nối 16 chân LCD với 16 chân của module I2C LCD theo đúng các thứ tự từ VSS đến LED-.

Module I2C LCD giao tiếp theo chuẩn I2C sẽ được kết nối các chân VCC, GND, SDA, SCL đến khối xử lý trung tâm.

2.3.2 Khối nhập dữ liệu đóng/mở cửa

Mở cửa bằng keypad 4x4: Bàn phím ma trận 4x4 được sử dụng để nhập mật khẩu mở cửa nhà trong trường hợp không sử dụng thẻ RFID.

Ở đề tài để giảm thiểu số lượng chân kết nối vào khối xử lý trung tâm nhóm đã dùng ADC để đọc giá trị phím nhấn. Kết nối keypad 4x4 với các điện trở theo hình dưới để đọc được giá trị điện trở cho từng nút nhấn.

38

Bảng 2.1: Giá trị điện trở các nút nhấn (đơn vị Ω)

Ký tự Giá trị 0 812 1 990 2 900 3 830 4 935 5 860 6 799 7 910 8 840 9 783 A 773 B 749 C 730 D 713 * 875 # 762

Mở cửa bằng RFID: Gồm module RFID RC522 được lắp đặt ngay cửa nhà có nhiệm vụ nhận dạng mã thẻ đúng, gửi về khối xử lý trung tâm. Nếu mã thẻ được đọc đúng sẽ mở cửa nhà.

Module RFID RC522 giao tiếp theo chuẩn SPI sẽ được kết nối các chân VCC, GND, SDA, SCK, MISO, MOSI đến khối xử lý trung tâm.

2.3.3 Khối đóng/mở cửa

Để mơ phỏng hoạt động mở cửa cho mơ hình trong đề tài này nhóm sử dụng động

Một phần của tài liệu Thiết kế hệ thống an ninh nhà ở (Trang 32)

Tải bản đầy đủ (PDF)

(78 trang)