Mục lục:

Kiểm soát cử chỉ Drone của bạn trong $ 10: 4 bước
Kiểm soát cử chỉ Drone của bạn trong $ 10: 4 bước

Video: Kiểm soát cử chỉ Drone của bạn trong $ 10: 4 bước

Video: Kiểm soát cử chỉ Drone của bạn trong $ 10: 4 bước
Video: Bí quyết KIỂM SOÁT CẢM XÚC !!! 2024, Tháng mười một
Anonim
Image
Image
Kiểm soát cử chỉ Drone của bạn với $ 10
Kiểm soát cử chỉ Drone của bạn với $ 10
Kiểm soát cử chỉ Drone của bạn với $ 10
Kiểm soát cử chỉ Drone của bạn với $ 10

Tài liệu hướng dẫn này là hướng dẫn để biến Máy bay không người lái R / C của bạn thành Máy bay không người lái điều khiển bằng cử chỉ với giá dưới $ 10!

Tôi là một người rất lấy cảm hứng từ các bộ phim Khoa học viễn tưởng và cố gắng biến công nghệ được thể hiện trong phim ra ngoài đời thực. Dự án này là nguồn cảm hứng từ hai bộ phim như vậy: "STAR WARS: The Empire Strikes Back" và "Project Almanac". Trong cả hai bộ phim, bạn đều thấy một vật thể bay (Phi thuyền có cánh X & Máy bay không người lái R / C) được điều khiển chỉ bằng chuyển động của tay. Điều này đã truyền cảm hứng cho tôi để làm một cái gì đó tương tự…

Rõ ràng là tôi không sở hữu X-wing, vì vậy, thật không may, tôi phải làm việc với Mini R / C Quadcopter của mình.

Vì vậy, kế hoạch là - sẽ có một tập lệnh xử lý hình ảnh chạy trên máy tính xách tay của tôi, nó sẽ liên tục tìm kiếm bàn tay của tôi và theo dõi vị trí của nó trong khung hình video. Khi nó nhận được tọa độ của bàn tay, nó sẽ gửi tín hiệu tương ứng đến máy bay không người lái và điều này sẽ được thực hiện bằng cách sử dụng Arduino được kết nối với máy tính xách tay cùng với Mô-đun thu phát NRF24L01 2.4GHz có thể giao tiếp trực tiếp với bo mạch thu của bất kỳ Máy bay không người lái R / C nào.

Quân nhu

  • Máy tính xách tay / Máy tính để bàn có cài đặt Webcam và Python. (Tôi đang sử dụng máy tính xách tay W cảm ứng của mình với webcam tích hợp và chạy Python 2.7.14)
  • Bất kỳ R / C Drone nào chạy trên Tần số 2.4Ghz. (JJRC H36 trong trường hợp của tôi)
  • Arduino UNO cùng với Cáp lập trình của nó. (Tôi đang sử dụng bản sao của nó vì nó rẻ hơn)
  • NRF24L01 Mô-đun thu phát không dây Antenna 2.4GHz. (Tôi đã mua cái này từ đây với giá chỉ ₹ 99 ($ 1,38))
  • Bảng mạch tiếp hợp 3.3V cho Mô-đun không dây 24L01. (Tôi đã mua cái này từ đây với giá chỉ ₹ 49 ($ 0,68))
  • Dây nhảy nam sang nữ x7

Bước 1: Thu thập các nguồn cung cấp

Thu thập các nguồn cung cấp!
Thu thập các nguồn cung cấp!

Bước 2: Kết nối Mô-đun NRF với Arduino

Kết nối mô-đun NRF với Arduino
Kết nối mô-đun NRF với Arduino
Kết nối mô-đun NRF với Arduino
Kết nối mô-đun NRF với Arduino
Kết nối mô-đun NRF với Arduino
Kết nối mô-đun NRF với Arduino
Kết nối mô-đun NRF với Arduino
Kết nối mô-đun NRF với Arduino

Bây giờ khi bạn đã có tất cả các phần, hãy bắt đầu với việc nối dây Mô-đun NRF với Arduino.

  1. Đầu tiên, hãy lắp mô-đun NRF vào khe được cung cấp trên bộ điều hợp. Bạn có thể tham khảo hình trên cho nó.
  2. Sau đó, lấy dây Male sang dây Female và kết nối bộ chuyển đổi NRF với Arduino như sau: (Tham khảo Sơ đồ mạch ở trên)

    • Pin bộ điều hợp NRF - Pin Arduino
    • VCC - 5v
    • GND - GND
    • CE - Chân số 5
    • CSN - Chân tương tự 1
    • SCK - Chân số 4
    • MO - Chân kỹ thuật số 3
    • MI - Chân tương tự 0
    • IRQ - Không được sử dụng
  3. Sau khi kết nối xong, hãy kết nối Arduino với PC của bạn bằng Cáp USB lập trình Arduino và bạn gần như đã hoàn tất.

Bước 3: Hãy bắt đầu viết mã

Hãy bắt đầu viết mã!
Hãy bắt đầu viết mã!
Hãy bắt đầu viết mã!
Hãy bắt đầu viết mã!

Bây giờ ở đây bắt đầu phần khó khăn… !!!

Tôi đã không tạo toàn bộ mã một mình. Thay vào đó, tôi đã lấy các phần và bit mã từ các nhà phát triển khác nhau và tích hợp tất cả chúng thành một với một chút tinh chỉnh. Do đó, các khoản tín dụng thích hợp cho tất cả những người sáng tạo ban đầu sẽ được cấp trước.

Bạn có thể tải xuống tất cả các mã được đính kèm tại đây và làm cho nó hoạt động. Hoặc nếu không, bạn có thể vào Kho lưu trữ Github của tôi, nơi tôi sẽ liên tục cập nhật mã mới nhất để theo dõi tốt hơn.

Theo dõi tay:

Bộ phân loại Haar Cascade được sử dụng để theo dõi tay trong dự án này. Haar Cascade được đào tạo bằng cách chồng hình ảnh tích cực lên một tập hợp các hình ảnh âm bản. Và dữ liệu được đào tạo này thường được lưu trữ trong các tệp ".xml". Bạn có thể nhận được tệp Classifier của hầu hết mọi thứ trên internet hoặc thậm chí bạn có thể tạo một tệp của riêng bạn như thế này. Đối với dự án này, vì chúng tôi cần làm cho nó được điều khiển bằng tay bằng cử chỉ, tôi đã sử dụng bộ phân loại nắm tay có tên là "close_frontal_palm.xml" do Aravind Nambissan thực hiện để phát hiện tay của tôi. Bạn có thể kiểm tra mã này bằng cách chạy mã "hand_live.py" trong repo của tôi.

Chọn Mã NRF24 để khớp với Drone của bạn:

Vì vậy, theo nhà sản xuất và kiểu máy bay không người lái của bạn, bạn có thể tham khảo kho lưu trữ Github - "nrf24_cx10_pc" do Perry Tsao thực hiện để chọn mã Arduino thích hợp để chạy phù hợp với tần suất của nó. Anh ấy đã thực hiện một hướng dẫn rất hay để điều khiển CX10 Drone của mình qua PC.

Khi tôi đang sử dụng máy bay không người lái JJRC H36, tôi đã tham khảo một kho lưu trữ Github khác - "nrf24_JJRC_H36_pc", là một nhánh của kho lưu trữ Perry Tsao do Lewis Cornick thực hiện để điều khiển JJRC H36 của anh ấy qua PC.

Chuẩn bị sẵn sàng cho Arduino:

Tôi đã chuyển bản repo của Lewis cho Github của tôi mà bạn có thể sao chép nếu bạn đang làm việc trên cùng một máy bay không người lái. Bạn cần tải lên mã "nRF24_multipro.ino" một lần trên Arduino Uno của mình để làm cho nó ghép nối với Drone của bạn mỗi khi chúng tôi chạy tập lệnh Python của mình.

Kiểm tra giao tiếp nối tiếp:

Trong cùng một repo, bạn cũng có thể tìm thấy mã "serial_test.py" có thể được sử dụng để kiểm tra Giao tiếp nối tiếp của tập lệnh Python với Arduino và xem máy bay không người lái của bạn có được ghép nối hay không. Đừng quên thay đổi cổng COM trong mã theo cổng COM của bảng Arduino của bạn.

Tích hợp mọi thứ trong một mã:

Vì vậy, tôi đã tích hợp tất cả các mã này bởi các nhà phát triển khác nhau và tạo mã của riêng tôi "handserial.py". Nếu bạn đang làm chính xác điều mà tôi đang làm với cùng một máy bay không người lái, thì bạn có thể trực tiếp chạy mã này và sau đó bạn có thể điều khiển máy bay không người lái của mình bằng cách di chuyển nắm tay của bạn trong không khí. Đoạn mã đầu tiên theo dõi một nắm đấm trong khung video. Tùy thuộc vào tọa độ Y của nắm tay, mã sẽ gửi giá trị bướm ga đến máy bay không người lái làm cho nó đi lên hoặc đi xuống và tương tự tùy thuộc vào tọa độ X của nắm tay, mã sẽ gửi giá trị aileron để máy bay không người lái đi sang trái hoặc phải.

Bước 4: Ghi chú của tác giả

Có 4 điểm tôi đặc biệt muốn đề cập đến liên quan đến dự án này:

  1. Như đã chỉ định trước đó, mã này không phải do tôi hoàn toàn tạo ra, nhưng tôi đang làm việc trên nó liên tục và sẽ cập nhật mã để theo dõi tốt hơn trên Kho lưu trữ Github của tôi. Vì vậy, đối với bất kỳ truy vấn hoặc cập nhật nào, bạn có thể truy cập kho lưu trữ hoặc ping cho tôi trên Instagram.
  2. Hiện tại, chúng tôi đang sử dụng webcam của máy tính xách tay không cho phép có góc nhìn của máy bay không người lái, nhưng nếu được yêu cầu, các máy ảnh gắn trên máy bay không người lái cũng có thể được sử dụng cho mục đích theo dõi. Điều này sẽ giúp có một cái nhìn tốt hơn và cuối cùng là kiểm soát tốt hơn.
  3. Đối với dự án này, tôi đang sử dụng máy bay không người lái JJRC H36, một trong những máy bay không người lái rẻ nhất hiện có trên thị trường, do đó nó thiếu độ ổn định con quay hồi chuyển. Đó là lý do bạn có thể cảm thấy chuyển động trong video bị chao đảo, nhưng nếu bạn đang sử dụng một máy bay không người lái chất lượng tốt với độ ổn định tốt, bạn sẽ không gặp phải vấn đề này.
  4. Tôi muốn mày mò về Computer Vision và điều khiển máy bay không người lái, do đó tôi bắt đầu với dự án này. Nhưng sau khi làm việc về thị giác máy tính, tôi cảm thấy rằng nó không phải là giải pháp tối ưu để điều khiển máy bay không người lái. Vì vậy, tôi đang có kế hoạch chế tạo một số loại thiết bị dạng găng tay với cảm biến Gyro để điều khiển máy bay không người lái trong tương lai. Vì vậy, hãy theo dõi các bản cập nhật…

Nếu bạn thích hướng dẫn này, hãy thích và chia sẻ và cũng bình chọn cho nó.

Bây giờ là tất cả.. Hẹn gặp lại các bạn vào lần sau…

Đề xuất: