Tư vấn: 0979.466.469 / 0938.128.290

MENU

Điều khiển chuột (Air Mouse) bằng cử chỉ tay có sử dụng Arduino & Gia tốc kế

Nhận mua hàng nước ngoài
bài viết giới thiệu về Dự án: Cử chỉ điều khiển chuột (Air Mouse) Sử dụng Arduino & Gia tốc kế

Dự án: Điều khiển chuột (Air Mouse) bằng cử chỉ tay có sử dụng Arduino & Gia tốc kế

AIR Mouse còn được gọi là chuột điều khiển bằng cử chỉ và nó hoạt động dựa trên cử chỉ tay. Trong dự án này, gia tốc kế được sử dụng để đo độ nghiêng của bàn tay theo hướng X và Y và di chuyển con trỏ theo độ nghiêng.

Trong dự án hai loại mạch được sử dụng, một là mạch truyền và khác là mạch thu. Mạch truyền sử dụng dòng gia tốc MPU6050, được kết nối với Arduino thông qua giao tiếp I2C. Dữ liệu được chuyển đến mạch thu sử dụng mô-đun RF, ASK433. Hai thiết bị chuyển mạch cũng được sử dụng trong mạch phát để hoạt động như Nhấp chuột trái và Nhấp chuột phải.

Ở phía người nhận một Arduino Leonardo được sử dụng. Mục đích của việc sử dụng Arduino Leonardo là nó hỗ trợ HID (Human Interface Device). HID cho phép chúng tôi kiểm soát chuột và bàn phím của máy tính hoặc máy tính xách tay của chúng tôi.

Linh kiện

Mạch

Trong dự án hai mạch được sử dụng, một là mạch phát và mạch khác là mạch thu.

Mạch phát

Mạch phát được đặt trong tay chúng ta. Trong mạch này, Arduino Nano được sử dụng để nhận dữ liệu từ gia tốc kế thông qua giao tiếp I2C. MPU6050 được sử dụng trong mạch phát, là gia tốc kế và hỗ trợ giao tiếp I2C. Chân SCL và SDA hoặc gia tốc kế (MPU 6050) được kết nối với SCL và SDA pin của Arduino Nano, nơi SCL là A5 và SDA là chân A4 của Arduino. MPU 6050 có một pin INT, được kết nối với ngắt (INT0) pin của Arduino đó là D2.

Bây giờ dữ liệu của gia tốc kế được chuyển đến mạch thu bằng cách sử dụng giao tiếp RF. Đối với máy phát RF truyền thông RF được sử dụng ở phía máy phát. Pin dữ liệu của máy phát RF được kết nối với pin D4 của Arduino. Một ăng-ten được kết nối với chốt ANT của máy phát RF. Antenna là gì, nhưng chỉ có một dây lõi đơn dài 15 cm.

Hai thiết bị chuyển mạch được kết nối với D11 và D13 của Arduino được nhấp chuột trái và nhấp chuột phải. Toàn bộ mạch này được cung cấp bởi pin 9-volt được kết nối với Vin pin của Arduino thông qua một công tắc.

 

Nếu bạn là tốt trong PCB etching xin vui lòng sử dụng mạch được cung cấp dưới đây để xây dựng dự án.

 

Nếu bạn muốn xây dựng các mạch trên phổ PCB (ZERO PCB) hoặc breadboard, sử dụng thiết kế được cung cấp dưới đây.

Mạch thu

Ở phía nhận, hai thành phần chính được sử dụng là Arduino Leonardo và RF Receiver. Hai thiết bị chuyển mạch được sử dụng cho Kích hoạt / Vô hiệu hóa chuột và bật / tắt giao tiếp RF.

Quảng cáo đặt hàng nhập

Trong pin dữ liệu mạch thu của RF receiver được kết nối với ngắt pin (INT1) của Arduino, đó là D2 pin.

Một chuyển đổi được sử dụng trong đường dây điện của RF Receiver, được sử dụng cho ON / OFF của bộ thu RF. Một chuyển đổi cũng được kết nối với D4 pin của Arduino được sử dụng để Kích hoạt / Vô hiệu hóa chuột. Arduino Leonardo được kết nối với máy tính thông qua cáp USB tiêu chuẩn.

Mạch và sơ đồ PCB được hiển thị dưới đây.

Bạn có thể đặt hàng những PCB thông qua PCBWay (chúng tôi đã thiết kế chúng theo quy tắc của PCBway).

Làm việc

Ở phía máy phát, một Nano Arduino được sử dụng làm bộ điều khiển. Gia tốc kế được kết nối với Arduino thông qua giao tiếp I2C đo gia tốc hấp dẫn theo hướng X, Y và Z, nhưng chúng ta chỉ cần các giá trị theo hai trục vì vậy chúng ta đang sử dụng các giá trị của X và Y. Hai thiết bị chuyển mạch cũng được kết nối với Arduino; chúng được sử dụng cho nhấp chuột trái và phải. Arduino đo lường tất cả các giá trị, bây giờ chúng tôi có bốn giá trị

1. Tăng tốc theo hướng X

2. Tăng tốc theo hướng Y

3. Trạng thái bấm chuột phải

4. Trạng thái của nhấp chuột trái

Tất cả các giá trị được hợp nhất thành một số nguyên của bốn chữ số, trong đó mỗi chữ số hiển thị mỗi giá trị.

Ở phía người nhận, Arduino nhận dữ liệu (số nguyên) từ máy phát và chia thành bốn giá trị. Arduino Leonardo hỗ trợ HID (Human Interface Device) vì vậy nó di chuyển con trỏ theo giá trị của X và Y.

 

 

Mã trong dự án này hai Arduino được sử dụng một là ở phía máy phát và khác là ở phía bên nhận.Mã bộ phát tải xuống Phần Máy phát – Chương trình/MãỞ phía máy phát ba tập tin tiêu đề được sử dụng và bạn có thể tải về các thư viện từ liên kết1.h : Đã đính kèm2. h : Đối với gia tốc MPU6050: Https://github.com/jarzebski/Arduino-MPU60503. h: Đối với mô-đun máy phát và bộ thu RF: https://github.com/sui77/rc-switch"RCSwitch" được tuyên bố trong dòng 5 và MPU6050 được tuyên bố trong dòng 7. Hai số nguyên được khai báo cho Bấm Chuột trái và Bấm chuột phải.Trong "void setup()" "serial.begin(115200)" được sử dụng cho màn hình nối tiếp. Từ dòng 16 đến 20 "mpu6050" được kiểm tra, nó giúp kiểm tra hệ thống dây điện. Sau khi nó một chức năng "checkSettings()" được sử dụng để kiểm tra các thiết lập của "MPU6050". Sau đó "mySwitch.enableTransmit(4)" được sử dụng cho Kích hoạt máy phát (mô-đun máy phát RF) được kết nối với pin D4 của Arduino. Ở cuối chức năng "pinMode" được sử dụng để khai báo nhấp chuột trái và phải là đầu vào.Một "void cleckSetting()" được tuyên bố, nó được sử dụng để kiểm tra các thiết lập của "MPU6050". Chức năng này là rất dài và phức tạp vì vậy chúng tôi không thảo luận về phần này.Trong gia tốc hấp dẫn "void loop()" (tăng tốc chuẩn hóa) được đọc từ gia tốc kế. Trong dòng 72 và 73 giá trị của X và Y được lưu trong số nguyên được xử lý giá trị.Trong dòng 75 và dòng 76 trạng thái của trái và nhấp chuột phải được đọc và lưu trong số nguyên. Bây giờ tất cả các số nguyên được hợp nhất trong dòng 78 và lưu trong một số nguyên và dữ liệu được truyền trong dòng 80 qua mô-đun RF.Mã người nhậnTải xuống Phần Người nhận – Chương trình/MãTại nhìn chằm chằm của mã hai tập tin tiêu đề được sử dụng, đầu tiên được sử dụng cho các mô-đun RF và khác (Mouse.h) được sử dụng cho chuột máy tính.Trong dòng 4 "RCSwitch" được đặt tên là "mySwitch". Một số số nguyên được khai báo trong dòng 6 nơi "rvalue" được sử dụng cho dữ liệu nhận được và "a", "b", "c" và "d" là bốn giá trị sau khi phá vỡ "rvalue". Hai phao cũng được khai báo bằng tên "xReading" và "yReading".Trong "void setup()" "mySwitch.enableReceived" được sử dụng để cho phép người nhận. Sau khi nó "mouse.begin" được sử dụng để bắt đầu chuột. "pinMode" được sử dụng để khai báo pin D5 là đầu vào.Trong điều kiện "void loop()" một "nếu" được sử dụng, quá trình đi vào vòng lặp khi dữ liệu có sẵn qua giao tiếp RF. Bây giờ nhận được dữ liệu được gán trong một số nguyên "rvalue". Trong dòng 23-26 nhận được dữ liệu (rvalue) được chia thành bốn số nguyên "a", "b", "c" và "d". Trong trường hợp "c" và "d" là giá trị của tăng tốc theo hướng x và y, "a" và "b" là trạng thái của nhấp chuột trái và phải.Từ dòng 28 dòng 44 giá trị của "xReading" và "yReading" được tuyên bố theo giá trị của "c" và "d". Trong dòng 46 RF giao tiếp được thiết lập lại.Từ dòng 49 dòng 51 con trỏ được di chuyển theo giá trị của "xReading" và "yReading", nó sẽ hoạt động khi chuyển đổi (kết nối với pin D4) là LOW. Ở cuối nhấp chuột trái và phải được nhấn theo giá trị của "a" và "b".

Gia công pcb 932*150
Sản phẩm nổi bật
Sale 0%
50000 /Cái
/ Cái

Code: M-7004-016 Còn hàng

Lưu xem sau
Sale 0%
145000 /Cái
/ Cái

Code: M-7006-010 Còn hàng

Lưu xem sau
Sale 0%
50000 /Cái
/ Cái

Code: 7006-060 Còn hàng

Lưu xem sau
Sale 0%
198000 /Cái
/ Cái

Code: M-7007-003 Còn hàng

Lưu xem sau
Hỗ trợ liên kết
0979466469
0899909838
0938128290
0899909838
Khiếu nại: 0964238397
0979466469
0868565469
0868565469

Hotline: 0979 466 469

Loading
0964238397
Bạn cần linh kiện mẫu ? 7-11 ngày