Tháp pháo theo dõi chuyển động Raspberry Pi

Tháp pháo theo dõi chuyển động Raspberry Pi

Bài viết này trình bày chi tiết cách chế tạo tháp pháo theo dõi chuyển động bằng Raspberry Pi.

Tháp pháo airsoft hoặc súng nerf theo dõi chuyển động với chế độ vận hành tự động và thủ công, được điều khiển bởi Raspberry Pi.

Những thứ được sử dụng trong dự án này

Linh kiện phần cứng

  • Súng hơi điện Nerf Gun×1
  • Raspberry Pi 3 Model B x 1
  • Webcam Logitech C210 × 1
  • Bo mạch bảo vệ động cơ điều khiển chuyển động Adafruit TB6612 × 1
  • Động cơ bước NEMA 17, 200 bước/vòng × 2
  • Rơ le đơn × 1
  • Bộ chuyển đổi tăng áp × 1
  • Bộ sạc điện thoại di động cầm tay × 1
  • Cáp nối cái/cái × 1
  • Cáp USB-A sang Micro-USB × 1
  • Giá đỡ kim loại 90 độ × 2
  • #8 Vít chìm 1/2 inch × 10
  • #8 Máy giặt × 16
  • Vít M3 × 8
  • Tấm MDF kích thước 2' x 2', 1/4" × 1
  • Hàn × 1

Công cụ và máy móc sản xuất

  • Mỏ hàn (nói chung)
  • máy khoan cầm tay
  • Cưa tay hoặc cưa lọng

Giới thiệu

Chúng ta có rất nhiều tài sản giá trị cần được bảo vệ, nhưng không phải lúc nào chúng ta cũng có mặt ở mọi nơi cùng một lúc. May mắn thay, chúng ta có thể chế tạo những tháp canh tự động để bảo vệ kho báu của mình ngay cả khi không có mặt. Cho dù đó là một con thú có túi đáng ghét phá hoại vườn rau sau nhà hay một thành viên trong gia đình thò tay vào lọ đựng bánh quy, bạn đều có thể tự chế tạo một đội bảo vệ để ngăn chặn chúng.

Trong dự án này, chúng ta sẽ chế tạo một khẩu súng Airsoft (hoặc Nerf) có khả năng theo dõi chuyển động bằng Raspberry Pi 3. Khẩu súng này hoạt động tự động, có thể di chuyển và bắn khi phát hiện chuyển động. Nó cũng có chế độ tương tác cho phép bạn điều khiển súng bằng bàn phím. Chúng ta sẽ sử dụng súng Airsoft cho dự án này, nhưng bạn có thể dễ dàng tùy chỉnh để sử dụng súng Nerf. Súng nhỏ, nhẹ và chạy bằng pin.

Chúng tôi đã tạo ra hai chế độ hoạt động riêng biệt: Chế độ Tương tác và Chế độ Phát hiện Chuyển động. Chế độ Tương tác cho phép bạn điều khiển tháp pháo từ xa và phát trực tiếp video. Chế độ Phát hiện Chuyển động sử dụng OpenCV và thị giác máy tính để theo dõi các mục tiêu di chuyển trước camera.

Vì thiết bị này bắn đạn, vui lòng thực hiện các biện pháp phòng ngừa an toàn cần thiết khi sử dụng tháp pháo. Hãy sử dụng súng Nerf nếu bạn định bắn người. Tuyệt đối không sử dụng súng airsoft!

Xây dựng cơ sở

Đầu tiên, lấy một tấm ván sợi mật độ trung bình (MDF) kích thước 2' x 2' và dùng bút chì vẽ hai hình tròn, mỗi hình tròn có đường kính 9 inch. Sau đó, dùng cưa tay hoặc máy cưa điện để cắt chúng ra.

Đo tâm của tấm ván MDF hình tròn và đánh dấu bằng bút chì. Động cơ sẽ được lắp ở tâm của một vòng tròn, và vỏ máy in 3D sẽ được lắp ở tâm của vòng tròn còn lại.

Đối với các lỗ lắp động cơ, đặt một tờ giấy lên mặt lắp động cơ, dùng trục động cơ đục lỗ xuyên qua tờ giấy. Dùng bút đục lỗ để đục lỗ trên tờ giấy cho mỗi lỗ lắp ren. Tờ giấy này sau đó có thể được dùng làm khuôn mẫu để định vị các lỗ trên vòng tròn MDF. Đặt khuôn mẫu này vào giữa một trong các vòng tròn MDF và khoan bốn lỗ lắp bằng mũi khoan 1/8 inch. Khoan lỗ ở giữa bằng mũi khoan 5/8 inch.

Sử dụng bốn vít đầu chìm M3 và bốn vòng đệm, lắp một động cơ bước vào tấm ván MDF và siết chặt bằng cờ lê lục giác. Sử dụng một tấm ván MDF khác, đặt mặt bích nắp in 3D vào giữa tấm ván và dùng bút chì đánh dấu vị trí khoan cho ba lỗ vít lắp. Sử dụng máy khoan cầm tay hoặc tua vít, lắp mặt bích vào tấm ván bằng ba vít đầu chìm #8 dài 1/2 inch (1/2 inch). Sau đó, căn chỉnh các rãnh trục động cơ với các rãnh trên mặt bích và ấn xuống.

Kết nối cáp súng

Trước khi tiến hành bước tiếp theo, hãy chuẩn bị súng airsoft hoặc nerf của bạn để lắp vào tháp pháo sau khi hoàn thành. Phương pháp chuẩn bị phụ thuộc vào mẫu súng airsoft hoặc nerf của bạn, nhưng chúng tôi đã tìm thấy hai lựa chọn để kết nối súng với tháp pháo:

Lựa chọn 1:

Phương pháp đầu tiên, nhưng có thể khó hơn, là tháo rời súng và tìm công tắc tắt khi bóp cò. Tháo dây ra khỏi công tắc này và hàn trực tiếp vào dây nguồn và dây nối đất dài hơn, sau đó tháo dây ra khỏi súng. Sau đó, lắp ráp lại súng. Công tắc được điều khiển bởi cò súng mà bạn vừa tháo ra sau đó sẽ được thay thế bằng một rơ-le điện được điều khiển bởi Raspberry Pi. Mặc dù chúng tôi đã sử dụng phương án này, nhưng việc lắp ráp lại súng rất khó khăn.

Lựa chọn 2:

Lựa chọn thứ hai là giữ nguyên trạng súng, nhưng thay vào đó, hãy hàn dây nguồn và dây nối đất vào các cực của pin. Sau đó, bạn sẽ cần giữ cò súng bằng băng dính hoặc một số phương tiện khác để vô hiệu hóa công tắc bên trong.

Xây dựng chân tháp pháo

Tiếp theo, chúng ta đã sẵn sàng làm chân tháp pháo để gắn súng. Hình dạng của chân sẽ tùy thuộc vào súng của bạn, nhưng chúng tôi sử dụng chân cao khoảng 7,9 inch (khoảng 18 cm), rộng 6,3 inch (khoảng 15 cm) ở phần đế và rộng khoảng 2 inch (khoảng 5 cm) ở phần trên.

Vẽ chân ghế mong muốn lên giấy và cắt bằng kéo. Sau đó, dùng giấy này làm mẫu để vẽ lên ván MDF. Dùng cưa tay hoặc máy cưa điện để cắt chân ghế ra khỏi ván MDF.

Trên một chân, khoan một lỗ 5/8" cho trục động cơ thứ hai, với bốn lỗ 1/8" được khoan ở giữa để lắp động cơ thứ hai, giống như bạn đã làm với tấm ván MDF tròn. Chân còn lại sẽ có một lỗ nửa inch để lắp trục bích in 3D xoay vào trong.

Lắp động cơ thứ hai vào chân, căn chỉnh bốn lỗ 1/8 inch vào các lỗ 5/8 inch bằng bốn vít M3 và vòng đệm. Sau đó, đặt vỏ mặt bích in 3D thứ hai lên trục động cơ.

Bây giờ, lấy cả hai giá đỡ góc 90 độ và vặn chúng vào đáy mỗi chân như trong hình minh họa bằng bất kỳ vít nào vừa với lỗ trên giá đỡ kim loại của bạn.

Lắp ráp tháp pháo

Bây giờ bạn cần tính toán khoảng cách giữa các chân súng và mỗi chân súng. Đo chiều rộng của súng tại điểm bạn muốn lắp. Lắp thanh bích in 3D vào lỗ 1/2 inch trên chân súng còn lại và dựng đứng chân súng. Chừa đủ khoảng trống để súng cách xa nhau giữa hai miếng bích. Sau đó, bạn có thể đo khoảng cách giữa các chân súng và đánh dấu khoảng cách này trên tấm ván MDF tròn. Sau khi đánh dấu trên tấm ván MDF tròn, vặn vít lắp chân súng vào với động cơ ở một bên.

Trước khi vặn chân còn lại vào, hãy dùng băng dính hai mặt tự dính dùng ngoài trời để gắn nó vào mặt ống lót bích và cả hai trục bích. Đặt súng vào giữa hai bích và giữ chân còn lại cố định, đồng thời dùng máy khoan cầm tay để vặn chân vào.

Thiết bị điện tử

Gắn mũ động cơ bước vào Raspberry Pi, kết nối dây đầu vào của mũ động cơ bước với dây đầu ra của bộ chuyển đổi tăng áp (hiển thị ở phía bên trái của hình ảnh đầu tiên bên dưới).

Có hai đầu nối động cơ bước trên nắp động cơ. Kết nối dây động cơ từ đế tháp pháo với đầu nối A (hiển thị bên phải hình ảnh đầu tiên bên dưới). Kết nối dây động cơ trục súng với đầu nối B còn lại.

Đặt các thiết bị điện tử này, bao gồm cả bộ sạc pin di động, vào đế tháp pháo. Bạn có thể sử dụng cáp micro USB để kết nối Raspberry Pi và bộ chuyển đổi nguồn tăng cường với bộ sạc pin di động sau khi nó sẵn sàng.

Kết nối rơ le với các cực của động cơ bước bằng cách nối dây nguồn và dây đất của rơ le với các thanh nguồn của cực động cơ bước (dây màu đỏ và tím trong hình thứ ba bên dưới). Sau đó, nối dây tín hiệu với chân GPIO 22 trên Pi (dây màu cam trong hình thứ ba bên dưới). Kết nối đầu ra của rơ le với các dây trên súng của bạn.

Vậy là xong phần điện tử, hãy xem video YouTube cũng như liên kết được cung cấp trong phần mô tả để biết thêm chi tiết về cách đấu dây. Cuối cùng, bạn cần cắm webcam vào Pi bằng cáp USB. Vị trí của webcam phụ thuộc vào chế độ đang sử dụng: theo dõi chuyển động tự động hoặc chế độ tương tác. Ở chế độ theo dõi chuyển động, hãy giữ camera cố định trên bàn trong khi súng theo dõi mục tiêu di chuyển. Ở chế độ thủ công, bạn sẽ muốn cố gắng căn chỉnh góc nhìn của camera theo hướng của súng, vì vậy trong trường hợp này, hãy hướng webcam vào điểm ngắm của nòng súng. Bằng cách này, bạn sẽ thấy mọi thứ mà súng nhìn thấy khi bạn điều khiển và di chuyển nó.

Phần mềm

Để biết hướng dẫn chi tiết về cách thiết lập và hiệu chỉnh phần mềm, vui lòng xem video trên YouTube và kho lưu trữ GitHub. Tệp README trên GitHub chứa tất cả các tệp phụ thuộc cần thiết để mã Python hoạt động.

Để giao tiếp với Stepper Motor Hat, bạn cần cấu hình Raspberry Pi để hỗ trợ giao tiếp I2C. Xem liên kết trong phần mô tả video để biết hướng dẫn thiết lập Raspberry Pi cho I2C. Sau đó, bạn cần cài đặt thư viện điều khiển Stepper Motor Hat từ kho lưu trữ GitHub của Adafruit.

Ngoài ra còn có một số thư viện khác bạn cần cài đặt để xử lý và nhận dạng hình ảnh, bao gồm OpenCV và imutils. Những thư viện này sẽ được giải thích chi tiết hơn trong video.

Hiệu chuẩn chế độ theo dõi chuyển động

Vì phần mềm không biết vị trí súng khi khởi động, bạn sẽ cần hiệu chỉnh tháp pháo khi nó được phóng. Chương trình Python sẽ nhắc bạn sử dụng bàn phím để điều chỉnh góc nâng và góc lệch của tháp pháo, đồng thời xác nhận xem tháp pháo đã cân bằng và nằm chính giữa chưa.

Sau khi hiệu chỉnh vị trí tháp pháo, phần mềm sẽ điều chỉnh độ phơi sáng của máy ảnh và chọn một ảnh tham chiếu để phát hiện chuyển động. Vì tính năng phát hiện chuyển động hoạt động bằng cách so sánh các ảnh tiếp theo với ảnh tham chiếu ban đầu để phát hiện thay đổi, bạn nên đảm bảo không có vật thể nào di chuyển trước máy ảnh trong quá trình hiệu chỉnh hình ảnh.

Chế độ tương tác

Không cần hiệu chỉnh ở chế độ tương tác. Chỉ cần căn chỉnh camera với nòng súng và sử dụng bàn phím để di chuyển và bắn tháp pháo. Sử dụng các phím "a" và "d" để xoay trái phải, và phím "w" và "s" để điều chỉnh góc tháp pháo lên xuống. Nhấn "Enter" để bắn.

Bảo vệ!

Xin chúc mừng! Giờ bạn đã có một hàng phòng thủ đủ mạnh để ngăn chặn kẻ thù. Nhưng hãy nhớ rằng, sức mạnh càng lớn thì trách nhiệm càng cao. Chúc bạn vui vẻ và an toàn!

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Win a Raspberry Pi!

Answer 5 questions for your chance to win!
Question 1

What color is the sky?

Tìm kiếm bằng danh mục

Chọn danh mục