Thông số kỹ thuật:
Bảng 2.1: Thông số kỹ thuật của Arduino Uno
Chip điều khiển : ATmega328 họ 8bit
Điện áp hoạt động : 5V DC (chỉ được cấp qua cổng USB) Tần số hoạt động : 16 MHz
Dòng tiêu thụ : khoảng 30 mA Đ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 hardware PWM) Số chân Analog : 6 (độ phân giải 10 bit) Dòng tối đa trên mỗi chân I/O : 30 mA
Dòng ra tối đa(5V) : 500 mA Dòng ra tối đa (3,3V) : 50 mA
Bộ nhớ flash : 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
SRAM : 2 KB (ATmega328)
EEPROM :1 KB (Atmega328)
2.2.2 Giới thiệu về Module RFID a) Giới thiệu chung
RFID (Radio Frequency Identification) là công nghệ nhận dạng đối tượng bằng sóng vơ tuyến. Cơng nghệ này cho phép nhận biết các đối tượng thơng qua hệ thống thu phát sóng radio, từ đó có thể giám sát, quản lý hoặc lưu vết từng đối tượng. Một hệ thống RFID thường bao gồm 2 thành phần chính là thẻ tag (chip RFID chứa thơng tin) và đầu đọc (reader) đọc các thông tin trên chip. Các thẻ RFID nhận yêu cầu truy vấn và phản hồi với thơng tin định danh (ID) của nó và nhiều thơng tin khác. Đây có thể là số series duy nhất của thẻ, hoặc các thông tin liên quan đến sản phẩm, như số kho hàng hoặc lô hàng, ngày sản xuất hoặc các thông tin đặc thù khác. Nhờ trải nghiệm người dùng đơn giản
và dễ tiếp cận, Arduino đã được sử dụng trong hàng ngàn dự án và ứng dụng khác nhau. Phần mềm Arduino rất dễ sử dụng cho người mới bắt đầu, nhưng đủ linh hoạt cho người dùng cao cấp.[6]
Hình 2.3: Module đọc thẻ RFID b) Đặc điểm chính
Module RFID RC522 sử dụng IC MFRC522 của Phillip dùng để đọc và ghi dữ liệu cho thẻ NFC tần số 13.56mhz. mỗi thẻ RFID có số series riêng, hệ thống RFID có thể được thiết kế để đọc được nhiều thẻ cùng lúc, miễn là chúng nằm trong tầm hoạt động của đầu đọc RFID.
Thông số kỹ thuật:
Bảng 2.2:Thông số kỹ thuật của Module RFID
Nguồ n : 3.3V DC, 13-26 mA
Dòng ở chế đồ chở : 10-13mA Dòng ở chế đồ nghỉ : <80uA Tầ n sồ sóng mang : 13.56 MHz Khoầ ng cách hoầ t đồ ng : 0~60 mm
Giao tiế p : SPI
Tồ c đồ truyế n dữ liế u : tồ i đa 10Mbit/s Nhiế t đồ hoầ t đồ ng : -20 đế n 80°C
Tồ c đồ cao SPI :10 Mbit/s
Hồ trở : ISO/IEC 14443A/MIFAR
2.2.3 Giới thiệu về Module thu phát hồng ngoại a) Giới thiệu chung
Module Thu Phát Hồng Ngoại V1 là một loại cảm biến thông dụng được dùng rất nhiều trong các hệ thống cửa tự động thơng minh, cảm biến an tồn của cổng tự động cũng như barrie tự động, cổng co giãn inox tự động đó là cảm biến phát hiện vật cản hồng ngoại hay cảm biến IR (IR detector).
x
Hình 2.4: Module cảm biến hờng ngoại b) Đặc điểm chính
Cảm biến Module có khả năng thích nghi với ánh sáng mơi trường xung quanh. Module sử dụng 1 cặp thu-phát hồng ngoại.
Ứng dụng dò đường, tránh chướng ngại vật, đếm sản phẩm, robot và nhiều ứng dụng khác.
Thông số kỹ thuật:
Bảng 2.3: Thông số kỹ thuật của module cảm biến hồng ngoại
Khoầ ng cách phát hiế n : 2-30 cm
Góc phát hiế n : 35°
Điế n áp cung cầ p : 3-5V DC
Dòng điế n tiêu thụ 5V : 43mA Dòng điế n tiêu thụ 3.3V : 23mA
2.2.4 Giới thiệu về động cơ Servo a) Giới thiệu chung
Trong kỹ thuật điều khiển, cơ cấu servo, đôi khi được gọi tắt là servo, là một thiết bị tự động có sử dụng lỗi cảm biến phản hồi âm để điều chỉnh hành động của một cơ cấu. Nó thường bao gồm một bộ mã hóa (encoder) đi kèm bên trong hoặc cơ cấu phản hồi vị trí khác để đảm bảo đầu ra đạt được hiệu quả mong muốn.
Hình 2.5: Module động cơ Servo b) Đặc điểm chính b) Đặc điểm chính
Đây là loại động cơ đặc biệt, những động cơ này có khả năng quay đến 1 độ chính xác nào đó, nhưng những động cơ này chỉ có thể di chuyển từ 0 đến 180 độ. Nó là được điều khiển bằng cách gửi các xung điện từ Arduino.
Thông số kỹ thuật:
Bảng 2.4: Thông số kỹ thuật của động cơ Servo
Điế n áp hoầ t đồ ng : 4.8V (~5V) Tồ c đồ hoầ t đồ ng : 60 đồ trong 0.1 giây Nhiế t đồ hoầ t đồ ng : 0 ºC – 55 ºC
Momen xoầ n : 1.8kg/cm
Kích thưở c : 23mm×12.2mm×29mm
2.2.5 Giới thiệu về LCD I2C a) Giới thiệu chung
I2C là giao thức truyền thông nối tiếp đồng bộ phổ biến hiện nay, được sử dụng rộng rãi trong việc kết nối nhiều IC với nhau, hay kết nối giữa IC và các ngoại vi với tốc độ thấp. Ví dụ về kết nối oled bằng I2C có thể xem ở đây. Giao tiếp I2C sử dụng 2 dây để kết nối là SCL (Serial Clock) và SDA (Serial Data). Trong đó dây SCL có tác dụng để đồng bộ hóa giữa các thiết bị khi truyền dữ liệu, cịn SDA là dây dữ liệu truyền qua.
Hình 2.6: Module I2C
LCD1602: Thiết bị hiển thị LCD 1602 (Liquid Crystal Display) được dùng trong rất nhiều các ứng dụng của VĐK. LCD 1602 có rất nhiều ưu điểm so với các dạng hiển thị khác như: khả năng hiển thị kí tự đa dạng (kí tự đồ họa, chữ, số,… ); đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau dễ dàng , tiêu tốn rất ít tài nguyên hệ thống, giá thành rẻ,…
Màn hình LCD là một phần không thể thiếu trong hầu hết các dự án nhúng và bài viết này hướng dẫn kết nối màn hình LCD 16 × 2 với vi điều khiển 8051
Thông số kỹ thuật:
Bảng 2.5: Thông số kỹ thuật LCD I2C
Điế n áp hoầ t đồ ng : 4.7V – 5.3V Dòng hoầ t đồ ng module mạch còi : <25mA
Chế độ : 4-bit và 8-bit
Chức năng hiển thị 16 ký tự 1 hàng
2.3 Giới thiệu phần mềm
2.3.1 Arduino IDE a) Giới thiệu a) Giới thiệu
Arduino IDE là một cơng cụ tuyệt vời cung cấp một mơi trường hồn chỉnh cho tất cả các dự án dựa trên Arduino. IDE trông rất tối giản, nhưng nó cung cấp tất cả thư viện và chức năng cần thiết để thực hiện bất kỳ dự án Arduino phức tạp nào. Các thanh menu trên cùng có các tùy chọn tiêu chuẩn như File, Edit, Tools, Sketch, Help.
Các dự án được thực hiện bằng Arduino IDE được gọi là Sketch và những Sketch này thường được viết bằng phiên bản C ++ ngắn (nhiều tính năng của C ++ không bao gồm trong Arduino IDE). Bởi vì lập trình một bộ vi điều khiển là khác với lập trình máy tính, có một số thư viện được bao gồm trong Phần cứng Arduino như - đọc chân, ghi vào chân, đọc giá trị tương tự và các chức năng cụ thể của phần cứng khác, điều này thường khiến nhiều người nhầm lẫn và họ nghĩ rằng Arduino được lập trình bằng “ngơn ngữ Arduino.” Tuy nhiên, Arduino được lập trình bằng C ++ và sử dụng một số thư viện riêng của ArduinoHardware [6].
IDE trong Arduino IDE là phần có nghĩa là mã nguồn mở. Nghĩa là phần mềm này miễn phí cả về phần tải về lẫn phần bản quyền. Người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung được nhà phát hành cho phép mà không cần xin phép ai, điều mà họ không được phép làm đối với các phần mềm nguồn đóng.
b) Giao diện phần mềm.
Hình 2.8: Giao diện của phần mềm IDE
- Nút kiểm tra chương trình
Dùng để kiểm tra xem chương trình được viết có lỗi khơng. Nếu chương trình bị lỗi thì phần mềm sẽ hiển thị thơng tin lỗi ở vùng số 5.
- Nút nạp chương trình xuống bo Arduino
Dùng để nạp chương trình được viết xuống mạch Arduino. Trong quá trình nạp, chương trình sẽ được kiểm tra lỗi trước sau đó mới thực hiện nạp xuống mạch Arduino.
- Hiển thị màn hình giao tiếp với máy tính
Khi nhấp vào biểu tượng cái kính lúp thì phần giao tiếp với máy tính sẽ được mở ra. Phần này sẽ hiển thị các thông số mà người dùng muốn đưa lên màn hình. Muốn đưa lên màn hình phải có lệnh Serial.print() mới có thể đưa thơng số cần hiển thị lên màn hình
- Vùng lập trình: Vùng này để người lập trình thực hiện việc lập trình cho chương trình của mình.
- Vùng thơng báo thơng tin: Có chức năng thơng báo các thơng tin lỗi của chương trình hoặc các vấn đề liên quan đến chương trình được lập.
Có vài menu trong phần mềm IDE, tuy nhiên thông dụng nhất vẫn là menu File, ngoài những tính năng như mở một file mới hay lưu một file, phần menu này có một mục đáng chú ý là Example. Phần Example (ví dụ) đưa ra các ví dụ sẵn để người lập trình có thể tham khảo, giảm bớt thời gian lập trình. Hình bên dưới thể hiện việc chọn một ví dụ cho led chớp tắt (blink) để nạp cho mạch Arduino. Ví dụ về led chớp tắt này thường được dùng để kiểm tra bo khi mới mua về.
Hình 2.9: Menu file trên IDE
Một menu thường được sử dụng khác là menu Tools. Khi mới kết nối bo Arduino với máy tính ta click vào Tools => board để chọn loại board sử dụng. Phần mềm chọn sẵn kiểu bo là bo Arduino Uno, nếu người dùng dùng kiểu bo khác thì chọn kiểu bo đang dùng.
Bên cạnh việc chọn bo thì một phần quan trọng nữa là chọn cổng COM. Hình bên dưới minh họa cho việc 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 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, ví dụ như COM1.
Hình 2.11: Cách chọn cổng COM trên IDE
Sau khi thực hiện các bước trên xong, người dùng sẽ bắt tay vào việc lập trình. Phần kế tiếp sẽ trình bày cấu trúc của một chương trình trong phần mềm IDE [1].
2.3.2 Giới thiệu về phần mềm PLX-DAQ a) Giới thiệu chung
PLX DAQ v2 là một chương trình được sử dụng để thiết lập giao tiếp dễ dàng giữa Microsoft Excel trên Máy tính Windows và bất kỳ thiết bị nào hỗ trợ giao thức cổng nối tiếp. Nó đã được viết có chủ đích để cho phép giao tiếp giữa Arduino và Excel.
b) Giao diện phần mềm
- Port: Đặt thành cổng Arduino (giống như trong Arduino IDE => Cơng cụ => Cổng, ví dụ: 3 cho COM3.
- Baud: Đặt thành tốc độ truyền mà bạn chạy Arduino của mình (ví dụ: 9600 nếu bạn đang sử dụng Serial.begin (9600); trong mã Arduino của bạn)
- Connect: Kết nối với Arduino của bạn và bắt đầu ghi nhật ký - Pause logging/resume logging: Khi kết nối sẽ tạm dừng ghi nhật ký dữ liệu
- Reset Timer: Sẽ đặt Timer thành 0. Timer có thể được sử dụng để đo thời gian Excel đã ghi nhật ký
- Clear Columns: Sẽ xóa tất cả dữ liệu đã ghi ra khỏi trang tính. Khơng xóa nhãn của các cột
- Display/Hide direct debug: Sẽ hiển thị hoặc ẩn trường văn bản ở bên phải. Cửa sổ gỡ lỗi trực tiếp có thể được sử dụng để theo dõi thủ công các lệnh mà PLX DAQ v2 nhận được trong Excel
- Sheet name to post to: Đều này sẽ liệt kê tất cả các trang tính trong sổ làm việc Excel. Bất kỳ trang tính nào bạn chọn trong menu thả xuống, dữ liệu đã ghi sẽ được đăng lên trang tính đó. Trang tính này sẽ được gọi là “ActiveSheet” trong toàn bộ tài liệu này.
- Note: Sau khi thêm / xóa trang tính, vui lịng nhấn nút “Tải” nhỏ ở bên trái của hộp thả xuống để danh sách trang tính được cập nhật.
- Controller Messages: Trong trường bên dưới các lệnh gần đây nhất và thông tin trạng thái sẽ được hiển thị. Nhiều khả năng thông tin thay đổi quá nhanh khiến bạn khơng thể đọc được, do đó hãy sử dụng Cửa sổ gỡ lỗi trực tiếp.
- Reset on Connect: Hộp kiểm nên được đánh dấu vào mọi lúc. Nếu thẻ lệnh đầu tiên từ Excel tới Arduino sẽ là khởi động lại, do đó mã của bạn cũng bắt đầu từ đầu. Bằng cách này, bạn có thể có một phiên làm việc mới. Nếu bạn muốn kết nối với Arduino của mình mà khơng cần khởi động lại nó, chỉ cần bỏ chọn hộp.
- “Custom Checkbox 1/2/3”: Chúng có thể được sử dụng để điều khiển Arduino của bạn trong quá trình chạy theo bất kỳ cách nào bạn muốn. Có các lệnh để gắn nhãn Hộp kiểm bằng Arduino của bạn và để truy vấn trạng thái của các hộp. Ví dụ, bạn có thể dán nhãn cho một hộp “Cũng đo độ ẩm?” và kiểm tra theo yêu cầu trong Excel nếu bạn muốn Arduino của mình đo độ ẩm bằng cảm biến thứ hai bên cạnh chỉ đo, ví dụ: nhiệt độ. Có những lệnh đặc biệt Arduino có thể sử dụng để truy vấn trạng thái của các hộp kiểm.
2.4 Giới thiệu công nghệ
2.4.1 Giới thiệu chung về RFID a) Định nghĩa
Công nghệ nhận dạng tần số vô tuyến điện (RFID) đã được phát minh bởi Charlie Walton [2]. RFID về cơ bản các thẻ là một bộ phát (tag) và có một dữ liệu bên trong có thể xác định từng mục thơng qua việc truyền sóng vơ tuyến sóng. Việc truy xuất thơng tin và dữ liệu trong RFID hệ thống có thể được thực hiện bằng cách sử dụng dữ liệu có thể đọc được bằng máy tại thời gian và địa điểm cụ thể để đáp ứng các ứng dụng cụ thể [3]. Hiện tại, các hệ thống dựa trên RFID có thể được sử dụng như một hệ thống theo dõi ngồi bảo mật. Nó tích hợp bảo mật với theo dõi tài liệu có thẩm quyền cho thư viện bao gồm sạc và xả một cách dễ dàng và nhanh chóng, kiểm kê và xử lý vật liệu.
b) Cấu tạo
Một thiết bị bay một hệ thống RFID được cấu tạo bởi hai thành phần chính là thiết bị đọc (reader) và thiết bị phát mã RFID có gắn chip hay còn gọi là tag. Một đầu đọc thường chứa một mô-đun tần số vô tuyến (máy phát và máy thu), một đơn vị điều khiển và một phần tử ghép nối với bộ phát. Bộ phát(tag), đại diện cho thiết bị mang dữ liệu thực tế của hệ thống RFID, thông thường bao gồm một phần tử ghép nối và một vi mạch điện tử [4].
c) Nguyên lý hoạt động
Giống như hệ thống thẻ thông minh, dữ liệu được lưu trữ trên một thiết bị mang dữ liệu điện tử - bộ phát. Tuy nhiên, không giống như những thẻ, nguồn điện cho thiết bị mang dữ liệu và trao đổi dữ liệu giữa thiết bị mang dữ liệu
thiết bị và đầu đọc đạt được mà không cần sử dụng các tiếp điểm điện, thay vào đó sử dụng từ tính hoặc điện trường [4].
Hình 2.13; Nguyên lý hoạt động của RFID d) Ứng dụng
- Ứng dụng quản lý lưu thơng hàng hố. - Ứng dụng quản lý kho hàng.
- Ứng dụng quan lý thu phí đăng ký tự động.
Hình 2.14: Ứng dụng của RFID 2.4.2 Giới thiệu chung về chuẩn giao tiếp USB
a) Định nghĩa
USB (Universal Serial Bus) là một giao diện kết nối thiết bị với máy tính. Với kết nối này, máy tính gửi hoặc truy xuất dữ liệu từ thiết bị. USB cung cấp cho các nhà phát triển một giao diện tiêu chuẩn để sử dụng trong nhiều loại ứng dụng khác nhau. USB thiết bị dễ dàng kết nối và sử dụng do quy trình thiết kế có hệ thống. Ghi chú ứng dụng này nhằm giúp đỡ làm cho q trình đó đơn giản hơn [7].
Hình 2.15: Đầu đọc USB tiêu chuẩn b) Cấu tạo b) Cấu tạo
Hệ thống USB bao gồm một máy chủ, thường là một máy tính cá nhân (PC) và nhiều thiết bị ngoại vi được kết nối thông qua cấu trúc liên kết tầng sao. Cấu trúc liên kết này cũng có thể bao gồm các trung tâm cho phép các điểm kết nối bổ sung vào hệ thống USB.
Thiết bị USB bao gồm một hoặc nhiều chức năng của thiết bị, chẳng hạn như chuột, bàn phím hoặc thiết bị âm thanh. Mỗi thiết bị được máy chủ cung