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 cấp một địa chỉ, được sử dụng trong giao tiếp dữ liệu giữa thiết bị đó và máy chủ.
Hình 2.16: Thơng số cấu tạo của 1 giao tiếp USB tiêu chuẩn 2.4.3 Giới thiệu chung về ngơn ngữ lập trình C
a) Khái niệm
C là một ngơn ngữ lập trình dùng để viết chương trình. Các chương trình là tập hợp của hướng dẫn của một lập trình viên cho máy tính bằng ngơn ngữ cấp cao.
b) Lưu đờ thuật tốn
Lưu đồ thuật tốn là một biểu đồ thế hiện trình tự và các bước để tạo ra một chương trình cụ thể, bảng 2.2 đưa ra các hình dạng và ý nghĩa của các thành phần trong lưu đồ thuật toán.
Bảng 2.6: Giới thiệu ký hiệu
Hình dạng Ý nghĩa
Dữ liệu vào (Input)
Xử lý (Process)
Quyết định, điều kiện
Luồng xử lý
Gọi chương trình con, hàm
Bắt đầu, kết thúc (Begin, end)
Điểm kết nối
Cấu trúc điều khiển là các cấu trúc dùng để điều khiển chương trình theo các hướng khác nhau, vì thế các cấu trúc này còn được gọi là cấu trúc điều khiển rẽ nhánh.
- Cấu trúc if:
Là một cấu trúc điều khiển rẽ nhánh, được sử dụng với một tốn tử so sánh. Nó sẽ kiểm tra xem điều kiện có đạt được khơng.
Cấu trúc:
if ( < điều kiện> ) {
Khối lệnh; }
Hình 2.17: Lưu đờ thuật tốn của cấu trúc if
Ví dụ:
if(A > 50) {
Thực hiện một nhiệm vụ nào đó; }
Chương trình sẽ kiểm tra xem giá trị A nào đó có lớn hơn 50 khơng, nếu có thì nhiệm vụ bên trong cấu trúc if sẽ được thực hiện, nói cách khác, nếu biểu thức điều kiện đúng thì khối lệnh bên trong hai dấu ngoặc nhọn sẽ được thực hiện, cịn nếu khơng thì chương trình sẽ bỏ qua các câu lệnh này.
Trong một số trường hợp thì hai dấu ngoặc nhọn có thể bỏ đi, nếu biểu thức điểu kiện đúng thì câu lệnh ngay sau if sẽ được thực hiện, câu lệnh này định nghĩa bằng dấu chấm phẩy, và nó chỉ thực hiện một câu lệnh duy nhất này.