Nghiên cứu thiết kế thiết bị “Điều khiển Cửa tự động” sử dụng họ vi điều khiển PIC8051…Điểm A bào vệ đồ án VXL khóa D14 Đại học Điện Lực, bao gồm code và sơ đồ nối dây chi tiết, bản word mang đi bảo vệ, sơ đồ nối dây chi tiết đến từng linh kiện
CƠ SỞ LÝ THUYẾT VỀ CÁC LINH KIỆN
Vi điều khiển Ardruino Uno R3
Arduino Uno R3 sử dụng vi điều khiển ATmega328 và tương thích với hầu hết các loại Arduino Shield hiện có trên thị trường Bên cạnh đó, nó cho phép gắn thêm các module mở rộng để thực hiện nhiều chức năng khác nhau như điều khiển motor, kết nối wifi và nhiều tính năng khác.
Sử dụng ngôn ngữ lập trình C,C++ hoặc Arudino, một ngôn ngữ bắt nguồn từ C,C++ trên phần mềm riêng cho lập trình Arduino IDE.
Hình 2.1 Hình ảnh VĐK Arduino Uno R3
Arduino Uno R3 có thể được cấp nguồn 5V qua cáp USB hoặc từ nguồn ngoài thông qua bộ chuyển đổi, với điện áp khuyên dùng từ 7-12V Ngoài ra, nó cũng có thể nhận nguồn từ máy tính qua cổng USB.
- Các chân 5V, 3.3V là chân dùng để cấp nguồn đầu ra cho các thiết bị chứ không phải chân cấp nguồn vào.
- Vin(Voltage Input): Dùng để cấp nguồn ngoài cho Arduino Uno, nối dương cực vào chân này và cực âm vào chân GND.
GND (Ground) là cực âm của nguồn điện cấp cho Arduino Uno Khi làm việc với các thiết bị sử dụng nguồn điện riêng biệt, việc nối các chân GND là cần thiết để đảm bảo hoạt động ổn định và chính xác.
- IOREF: Điện áp hoạt động của Arduino, có mức điện áp là 5V Không được sử dụng để lấy nguồn từ chân này.
- RESET: Việc nhấn nút RESET trên mạch arduino tương tự như khi nối chân RESET với GND qua điện trở 10KΩ.
2.1.2 Các chân vào/ra của Arduino
Arduino Uno R3 sở hữu 14 chân digital cho phép đọc và ghi dữ liệu, hoạt động ở hai mức điện áp là 0V và 5V Mỗi chân có khả năng xử lý dòng vào/ra tối đa lên đến 40 mA.
Một số chân digital có chức năng đặc biệt như:
Chân Serial 0 (RX) và 1 (TX) trên Arduino Uno cho phép gửi (TX) và nhận (RX) dữ liệu TTL Serial, giúp thiết bị giao tiếp với các linh kiện khác Ví dụ, bạn có thể kết nối màn hình LCD để hiển thị thông tin dễ dàng.
- Chân PWM: 3, 5,6,9, 10 và 11: Cho phép bạn xuất xung PWM với độ phân giải
8 bit( giá trị từ 0 -> 28-1 tương ứng với 0 - 5V
Chân giao tiếp SPI bao gồm 10(SS), 11(MOSI), 12(MISO) và 13(SCK) Ngoài chức năng chính, bốn chân này còn có khả năng truyền phát dữ liệu qua giao thức SPI đến các thiết bị khác.
Trên Arduino, có một đèn LED được kết nối với chân số 13, sẽ nhấp nháy khi bạn bấm nút reset để báo hiệu Khi chân này được kích hoạt, đèn LED sẽ sáng lên.
- Arduino Uno R3 có 6 chân analog(A0 -> A5) cung cấp độ phân giải 10 bit(0 → 210-1) để đọc giá trị điện áp trong khoảng 0 -> 5V.
- Arduino Uno còn 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.
- Điện áp hoạt động: 5V (qua cổng USB)
- Số chân digital I/O: 14 chân (6 chân PWM)
- Dòng ra tối thiểu trên mỗi chân I/O: 30mA
- Dòng ra tối đa (5V): 500mA
- Dòng ra tối đa (3,3V): 500mA
- Bộ nhớ Flash: 32 KB (ATmega328) với 0.5 KB dùng bởi bootloader
- Giao động của thạch anh: 16MHz
Bàn phím ma trận 4x4 (KEYPAD 4X4)
Hình 2.2 Hình ảnh bàn phím 4x4 thực tế và cách đấu nối
Keypad là một thiết bị nhập có nút nhấn, cho phép người dùng nhập chữ số, chữ cái hoặc ký hiệu vào bộ điều khiển Khác với bàn phím, keypad không bao gồm toàn bộ bảng mã ASCII, nên thường được sử dụng trong các thiết bị chuyên dụng.
Các nút nhấn trên máy tính điện tử cầm tay là ví dụ điển hình của keypad, với số lượng nút nhấn thay đổi tùy theo yêu cầu ứng dụng Keypad 4x4, với 16 nút được sắp xếp theo ma trận 4 hàng và 4 cột, là một kiểu phổ biến Cách bố trí này cho phép các nút cùng hàng và cùng cột kết nối với nhau, tạo ra tổng cộng 8 ngõ ra, bao gồm 4 hàng và 4 cột.
Khi nút ‘2’ được nhấn, đường R1 và C2 sẽ kết nối, và nếu C2 nối với GND, R1 cũng trở thành GND Tuy nhiên, việc kiểm tra trạng thái của R1 không cho phép chúng ta xác định chắc chắn rằng nút ‘2’ đã được nhấn Nếu tất cả các đường C1, C2, C3, C4 đều nối với GND, khi đó R1 bằng GND, chúng ta không thể khẳng định được rằng nút ‘1’, ‘2’, ‘3’ hay ‘A’ đã được nhấn.
Kỹ thuật khắc phục vấn đề này là kỹ thuật "quét" keypad, bao gồm hai phương pháp quét: quét theo cột và quét theo hàng Dưới đây là ví dụ về quét theo hàng, trong khi quét cột cũng thực hiện theo cách tương tự.
Ta lần lượt xuất tín hiệu mức 0 ra các hàng (khi một hàng là mức ‘0’ thì tất cả các hàng khác phải là mức 1).
Sau đó kiểm tra các cột nếu cột nào có mức logic 0 thì phím có tọa độ hàng và cột đó được ấn.
2.2.3 Thông số kỹ thuật của keypad 4x4
- Module bàn phím ma trận 4x4 loại phím mềm
- Dòng / áp hoạt động tối đa: 30mA, 24V DC.
- Tuổi thọ hoạt động: khoảng 1.000.000 lần nhấn phím
- Thời gian phản hồi: ≤ 5ms
- Kích thước bàn phím 77 x 69mm
2.2.4 Ứng dụng Ý tưởng ứng dụng:
- Hệ thống an ninh bảo vệ bằng mật khẩu.
- Nhập liệu lựa chọn menu, điều khiển thiết bị.
- Nhập dữ liệu cho hệ thống nhúng
Module Bluetooth HC05
Module Bluetooth HC05 đã ra chân được thiết kế nhỏ gọn ra chân tín hiệu giao tiếp cơ bản và nút bấm để bảo vệ chế độ AT COMMAND.
Mạch được thiết kế để cung cấp nguồn và giao tiếp ở mức 3.3VDC hoặc 5VDC, phù hợp cho nhiều ứng dụng như Robot Bluetooth và điều khiển thiết bị từ xa.
Khi kết nối HC-05 với máy tính, nó sẽ xuất hiện như một cổng COM ảo ở chế độ truyền Half Duplex, có nghĩa là trong cùng một thời điểm, thiết bị chỉ có thể thực hiện một trong hai chức năng: truyền hoặc nhận tín hiệu.
- Dòng khi hoạt động: 100mA
2.3.2 Chức năng các chân của HC05
- VCC: Nguồn dương từ 3.3 - 5VDC
- EN: Mặc định nối lên cao, chức năng dùng để khởi động (Enable) hoặc dừng hoạt động (Disable)
- RXD: Kết nối với RX của MCU.
- TXD: Kết nối với TX của MCU
- Reset: Chân khởi động lại bluetooth (thường không dùng).
Hình 2.3 Hình ảnh và sơ đồ chân module
Màn hình LCD 16x2
Hình 2.4 Hình ảnh và sơ đồ chân LCD 16x2 Bảng chức năng các chân của LCD 16x2
Thứ tự Tên kí hiệu I/O Mô tả
3 Vo Analog Điều khiển ánh sáng nền
Cấp dương nguồn +5V và đất tương ứng thì V0 được dùng để điều khiển độ tương phản của LCD.
- Chân chọn thanh ghi RS (Register select)
Trong LCD, có hai thanh ghi quan trọng mà chân RS giúp chọn lựa Khi RS = 0, thanh ghi mã lệnh được kích hoạt, cho phép người dùng gửi lệnh như xóa màn hình hoặc di chuyển con trỏ về đầu dòng Ngược lại, khi RS = 1, thanh ghi dữ liệu được chọn, cho phép người dùng gửi dữ liệu cần hiển thị trên màn hình LCD.
-Chân đọc/ghi(R/W) Đầu đọc/ghi cho phép người dùng ghi thông tin trên LCD Khi R/W = 0 thì ghi, R/W = 1 thì đọc.
Chân E của LCD cho phép chốt thông tin từ chân dữ liệu khi nhận dữ liệu Để chốt dữ liệu, cần phải áp một mức xung từ cao xuống thấp với độ rộng tối thiểu 450ns vào chân E.
Chân D0 - D7 là 8 chân dữ liệu 8 bit, dùng để truyền thông tin lên LCD hoặc đọc nội dung từ các thanh ghi của LCD Để hiển thị chữ cái và số, chúng ta gửi mã ASCII của các ký tự từ A đến Z, a đến z, và các số từ 0 đến 9 đến các chân này khi RS= 1.
Cũng có các mã lệnh mà có thể gửi đến LCD để xóa màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ.
Để kiểm tra trạng thái sẵn sàng của LCD trong việc nhận thông tin, chúng ta sử dụng RS = 0 để kiểm tra bit cờ bận, được biểu thị bằng D7 Cờ bận này có thể được đọc khi R/W = 1 và RS = 0.
Khi R/W = 1 và RS = 0 với D7 = 1, LCD sẽ bận do thực hiện các công việc nội bộ và không thể tiếp nhận thông tin mới Ngược lại, khi D7 = 0, LCD đã sẵn sàng để nhận dữ liệu mới Do đó, cần kiểm tra cờ bận trước khi ghi dữ liệu lên LCD.
Do không đủ chân nên chúng ta sẽ tích hợp module I2C vào LCD1602 để dễ dàng trong việc thực hiện
Module I2C
Module chuyển đổi I2C cho LCD giúp giảm số lượng chân kết nối từ 6 xuống chỉ còn 2 chân (SCL, SDA), giải quyết vấn đề chiếm dụng nhiều chân của vi điều khiển Nó tương thích với các loại LCD sử dụng driver HD44780 như LCD 1602, LCD 2004, và có thể kết nối với hầu hết các vi điều khiển hiện nay thông qua giao tiếp I2C.
+ Dễ dàng kết nối với LCD
+ Tiết kiệm chân cho Vi điều khiển
- Hỗ trợ màn hình: LCD1602, 1604 ,2004 (Driver HD44780)
- Địa chỉ mặc định: 0x27 (dùng khi khai báo chương trình)
- Thay đổi độ tương phản cho LCD: Xoay biến trở
- Jump chốt : Cấp nguồn cho led của LCD
Module thu phát RFID RC522 13.56MHz
Module RFID RC522 NFC 13.56MHz cho phép đọc và ghi dữ liệu cho thẻ NFC với tần số 13.56MHz Thiết kế nhỏ gọn và linh hoạt của module này làm cho nó trở thành lựa chọn lý tưởng cho các ứng dụng đọc – ghi thẻ NFC, đặc biệt khi kết hợp với Arduino RFID (Radio Frequency Identification) là công nghệ nhận dạng đối tượng thông qua sóng vô tuyến, sử dụng thiết bị thẻ RFID và đầu đọc RFID để tự động lưu trữ và truy xuất dữ liệu từ xa.
Hình 2.6 Hình ảnh module RFID RC522
2.6.1 Ứng dụng của Module RFID RC522
- Ứng dụng quản lý lưu thông hàng hóa
- Ứng dụng quản lý kho hàng
- Ứng dụng quản lý thu phí đường bộ tự động
Các ứng dụng quản lý đa dạng như quản lý nhà máy, thư viện, chấm công, bãi giữ xe, nhà ăn, sinh viên, bệnh viện và khóa cửa, đóng vai trò quan trọng trong việc tối ưu hóa quy trình và nâng cao hiệu quả hoạt động.
2.6.2 Thông số kĩ thuật Module RFID RC522
- Dòng ở chế độ chờ: 10-13mA
- Dòng ở chế độ nghỉ: