Mục lục:

Nerf Chronograph và Rate of Fire Barrel: 7 bước
Nerf Chronograph và Rate of Fire Barrel: 7 bước

Video: Nerf Chronograph và Rate of Fire Barrel: 7 bước

Video: Nerf Chronograph và Rate of Fire Barrel: 7 bước
Video: An AWESOME Chronograph for NERF. | Walcom S7 2024, Tháng bảy
Anonim
Image
Image
Nerf Chronograph và Rate of Fire Barrel
Nerf Chronograph và Rate of Fire Barrel

Giới thiệu

Là một người thích mày mò, bạn luôn cảm thấy rất hài lòng khi nhìn thấy kết quả số của quá trình mày mò của mình. Nhiều người trong chúng ta đã từng sửa đổi súng Nerf và ai lại không thích ném những mảnh bọt khắp nhà với tốc độ hơn 100 khung hình / giây?

Sau khi sửa đổi nhiều khẩu súng Nerf trong suốt cuộc đời của tôi, bắt đầu từ khi tôi ~ 10 tuổi với bố tôi cho đến bây giờ khi tôi và bạn cùng phòng của tôi tiếp tục ném bọt qua căn hộ vào nhau, tôi luôn muốn biết chính xác phi tiêu đang bay nhanh như thế nào, và bao nhiêu phi tiêu mỗi giây mà bạn cùng phòng của tôi bắn. Có những chiếc đồng hồ bấm giờ thương mại dành cho Nerf và Airsoft, nhưng những chiếc có độ chính xác cao thì đắt tiền, và thật thú vị nếu chúng tôi tự chế tạo một chiếc đồng hồ này. Nếu bạn muốn mua một chiếc, Nerf đã phát hành một chiếc thùng gần giống với chiếc được giới thiệu trong dự án này (với một số thiết kế công nghiệp tốt hơn) và bạn có thể tìm thấy nó ở đây:

Nerf Modulus Ghost-Ops Chrono Barrel

Phiên bản Nerf cũng chạy bằng pin và hiển thị một bộ đếm cho phi tiêu được bắn ra. Có thể hướng dẫn ở đây cũng bao gồm màn hình và nút đặt lại, tuy nhiên dựa vào độ dài phi tiêu để tính tốc độ và dường như không sử dụng ngắt. Trọng tâm chính của dự án này sẽ là giao tiếp nối tiếp (ví dụ đơn giản như điều này không phải là dễ dàng nhất để tìm thấy trên mạng) và việc sử dụng ngắt để xác định thời gian chính xác. Điều này có thể dễ dàng được chuyển đổi thành một máy đo thời gian airsoft vì những lý do tương tự với vỏ bọc chặt hơn và hệ thống gắn kết tốt hơn cho súng airsoft. Nếu không sử dụng ngắt, mã có thể chậm hơn và kém hiệu quả hơn, cũng khó hơn nhiều về thời gian chính xác về micro giây vì mili giây sẽ không tạo ra giá trị chính xác cho tốc độ phi tiêu.

Tôi sẽ không tập trung quá nhiều vào thiết kế bao vây mặc dù các tệp STL có sẵn trong GitHub, vì bất kỳ ai cũng có thể mua phiên bản Nerf chắc chắn tốt hơn để chơi trò chơi thực tế, nhưng phiên bản trong tương lai của điều này có thể làm giảm kết quả.

Các Nguyên tắc Cơ bản (Kết quả Học tập):

  • Có hình thức của một Nerf Barrel tiêu chuẩn
  • Sử dụng phototransistor làm cổng định thời cho phi tiêu.
  • Cho biết việc sử dụng ngắt Adruino để tính thời gian
  • Sử dụng xử lý với Arduino để giao tiếp nối tiếp

Phạm vi dự án:

Tôi dự định đi qua hầu hết các chi tiết cụ thể về dự án này với một số tổng quan ngắn gọn và khuyên bạn nên đọc các tài liệu tham khảo về Arduino và Processsing để biết thêm thông tin cụ thể. Điều này sẽ không dạy bạn cách hàn, mà là cách tích hợp Arduino và Xử lý và sử dụng ngắt. Phần lớn việc học này sẽ thông qua việc đọc mã nhận xét thực tế, vì vậy hãy đảm bảo rằng bạn đọc qua tất cả mã trước khi tải lên một cách mù quáng và cố gắng làm cho nó hoạt động.

Lợi ích so với các dự án tương tự:

  • Sử dụng ngắt để đo chính xác tốc độ cao
  • Phần gỡ lỗi mở rộng cho phototransistor
  • Tốc độ cháy (ROF) Kết quả tính toán Vòng mỗi giây (RPS)
  • Giao diện máy tính toàn màn hình - không hữu ích khi chiến đấu, nhưng tuyệt vời nếu bạn muốn cho người khác xem kết quả trên luồng hoặc Youtube bằng trình ghi màn hình.
  • Có khả năng được điều chỉnh cho Airsoft hoặc Paintball chỉ bằng cách sửa đổi vỏ bọc
  • Không cần PCB tùy chỉnh (Sẽ rất tốt trong một bản cập nhật trong tương lai nhưng ai cũng có thể làm điều này với chi phí tương đối thấp
  • Tổng chi phí dưới 10 đô la khi các bộ phận được chia ra và nếu có sẵn máy in 3D - Bằng với chi phí thương mại, có thêm ROF

Bước 1: Các bộ phận và công cụ cần thiết

Các bộ phận và công cụ bắt buộc
Các bộ phận và công cụ bắt buộc

Nếu bạn có một máy in 3D, đây sẽ là một dự án tuyệt vời cho bạn vì tôi sẽ cung cấp các tệp cho bao vây. Vui lòng cập nhật bao vây. Tôi không có bất kỳ màn hình LCD nào trong tay, nhưng phiên bản thứ hai hy vọng sẽ có màn hình LCD và sử dụng WEMOS D1 hoặc bo mạch hỗ trợ WiFi / BT tương tự và pin. Điều này sẽ cho phép ghi dữ liệu trên thiết bị di động và phản hồi theo thời gian thực - ví dụ: có bao nhiêu phi tiêu còn lại trong súng. Một số kinh nghiệm hàn được khuyến nghị, nếu bạn không cảm thấy thoải mái, tôi khuyên bạn nên làm theo Hướng dẫn để hàn và có thể mua thêm các linh kiện điện tử để đề phòng.

Công cụ bắt buộc:

  1. Sắt hàn
  2. Máy thổi khí nóng / Súng thổi hơi nóng / Bật lửa (Nếu sử dụng co nhiệt)
  3. Dụng cụ cắt dây
  4. Cáp USB Mini - B (hoặc bất kỳ loại cáp nào được yêu cầu cho bộ điều khiển vi mô của bạn)
  5. Súng bắn keo nóng hoặc tương tự (tôi đã sử dụng bút in 3D để gắn tất cả các thành phần vào vỏ máy in 3D)

Vật liệu cần thiết:

  1. Dây lõi rắn 22AWG Ví dụ: Bộ dây lõi rắn 22AWG
  2. Arduino Nano (hoặc tương tự, tôi đã sử dụng bản sao) ví dụ: 3 x Arduino Nano (Bản sao)
  3. Bộ điện trở (2 x 220 ohm, 2 x 220k ohm) Bạn có thể sử dụng các điện trở kéo xuống có giá trị thấp hơn chẳng hạn như 47k thành công, tôi chỉ tình cờ thấy rằng tôi cần giá trị này để nó hoạt động. Hướng dẫn khắc phục sự cố nêu ra cách xác định xem điện trở kéo xuống có phải là giá trị chính xác cho bộ quang bán dẫn và đèn LED cụ thể của bạn hay không. Vì điều này, tôi khuyên bạn nên mua một bộ: ví dụ: Bộ điện trở
  4. 2 x IR LED ex: IR LED và PhotoTransistor Set
  5. 2 x PhotoTransistor
  6. 1 x Vỏ bọc in 3D - Trong một sợi IR đục (Hatchbox Silver đã được gia công và là màu duy nhất tôi đã thử nghiệm)
  7. Tệp Dự án đầy đủ có sẵn tại đây trên GitHub cũng như trong Tệp Zip đính kèm. Các STL cũng có sẵn trên Thingiverse tại đây.

Bước 2: Kiểm tra Breadboard

Kiểm tra Breadboard
Kiểm tra Breadboard
Kiểm tra Breadboard
Kiểm tra Breadboard

Khi thiết bị điện tử đã đến nơi, chất hàn dẫn đến các phototransistor và IR Leds ~ 20-30cm để gỡ lỗi, tôi khuyên bạn nên thu nhỏ nhiệt những thứ này. Tôi không có kích thước co nhiệt chính xác và phải sử dụng băng dính điện cho nguyên mẫu này. Điều này sẽ cho phép bạn sử dụng chúng để thử nghiệm trong bao vây. Nếu bạn đã in vỏ bọc và có đèn LED và bóng bán dẫn ảnh ở đúng vị trí, bạn có thể bắt đầu thử nghiệm.

Đảm bảo bạn đã cài đặt Arduino và Xử lý.

Tệp zip ở đầu có tất cả mã cũng như các tệp STL để in bao vây.

Sử dụng Arduino để gỡ lỗi lúc đầu và chỉ sử dụng xử lý để kiểm tra cuối cùng (bạn có thể xem mọi thứ trong màn hình nối tiếp từ Arduino).

Bạn có thể thử đơn giản bắn một phi tiêu Nerf qua đồng hồ bấm giờ với Chronogrpah_Updated.ino được cài đặt trên Arduino. Nếu điều này hoạt động thì bạn đã sẵn sàng. Nếu điều này không hiệu quả thì bạn có thể sẽ phải điều chỉnh các giá trị điện trở. Điều này sẽ được thảo luận trong bước tiếp theo.

Một chút về cách mã hoạt động:

  1. Ngắt ngắt dừng mã bất cứ khi nào một phi tiêu đi qua một cổng và xác định thời gian tính bằng micro giây
  2. Tốc độ được tính toán với điều này và thời gian được lưu trữ
  3. Thời gian giữa các lần chụp được tính toán và chuyển đổi thành vòng trên giây
  4. Thời gian giữa các cổng được tính toán và chuyển đổi thành feet trên giây dựa trên khoảng cách của cổng.

    Sử dụng hai cổng cho phép mang lại kết quả tốt hơn với thời gian giống hệt nhau (mức độ bao phủ của cảm biến) và giảm độ trễ

  5. Tốc độ và tốc độ bắn được gửi qua nối tiếp được phân tách bằng dấu phẩy tới màn hình nối tiếp trong arduino hoặc bản phác thảo xử lý cho phép tạo ra một giao diện người dùng đẹp (tập trung vào xử lý khi mọi thứ khác hoạt động!).

Bước 3: Kiểm tra và gỡ lỗi

Nếu bạn không thành công với thử nghiệm ban đầu, thì chúng tôi cần phải tìm ra những gì đã xảy ra.

Mở ví dụ về Arduino AnalogReadSerial được tìm thấy trong File-> Examples-> 0.1 Basics -> AnalogReadSerial

Chúng tôi muốn đảm bảo rằng các phototransistor đang hoạt động như chúng tôi mong đợi. Chúng tôi muốn họ đọc CAO khi phi tiêu không chặn họ và THẤP khi phi tiêu không chặn. Điều này là do mã đang sử dụng Ngắt để ghi lại thời gian khi phi tiêu đi qua cảm biến và loại ngắt đang được sử dụng là FALLING, có nghĩa là nó sẽ kích hoạt khi đi từ CAO xuống THẤP. Để đảm bảo chân là HIGH, chúng ta có thể sử dụng các chân analog để xác định giá trị của các chân này.

Tải lên Ví dụ Arduino AnalogReadSerial và nhảy từ chân kỹ thuật số D2 hoặc D3 sang A0.

D2 nên là cảm biến đầu tiên và D3 phải là cảm biến thứ hai. Chọn 1 để đọc và bắt đầu ở đó. Thực hiện theo hướng dẫn bên dưới để xác định giải pháp chính xác dựa trên kết quả đọc được:

Giá trị bằng 0 hoặc rất thấp:

Giá trị ban đầu phải là khoảng 1000, nếu nó đang đọc một giá trị rất thấp hoặc bằng 0 thì hãy đảm bảo đèn LED của bạn được nối dây chính xác và không bị cháy, cũng như được căn chỉnh tốt. Tôi đã đốt cháy đèn LED của mình trong thử nghiệm khi sử dụng điện trở 100 ohm thay vì 220 ohm. Tốt nhất là tham khảo biểu dữ liệu cho các đèn LED để xác định giá trị điện trở chính xác, nhưng hầu hết các đèn LED có thể sẽ hoạt động với điện trở 220 ohm.

Đèn LED Hoạt động và Giá trị vẫn bằng 0 hoặc rất thấp:

Vấn đề có thể là do điện trở kéo xuống có điện trở quá thấp. Nếu bạn đang gặp sự cố với điện trở 220k, bạn có thể tăng nó cao hơn mức này, nhưng có thể bị nhiễu. Bạn nên đảm bảo bóng bán dẫn hình ảnh của bạn không bị cháy.

Giá trị là một phạm vi trung bình:

Điều này sẽ gây ra rất nhiều vấn đề, hầu hết là kích hoạt sai hoặc không bao giờ gây ra giá trị cao. Chúng ta cần đảm bảo nhận được HIGH, để làm được điều này, chúng ta cần giá trị ~ 600 nhưng hãy nhắm đến 900+ để an toàn. Quá gần ngưỡng này có thể gây ra kích hoạt sai, vì vậy chúng tôi muốn tránh bất kỳ trường hợp dương tính giả nào. Để điều chỉnh giá trị này, chúng tôi muốn tăng điện trở kéo xuống (220K). Tôi đã làm điều này một vài lần trong thiết kế của mình và bạn có thể sẽ không phải làm điều này vì đây là một giá trị rất lớn đối với một điện trở kéo xuống.

Giá trị rất ồn ào (nhảy xung quanh rất nhiều mà không có kích thích bên ngoài):

Đảm bảo hệ thống dây điện của bạn đúng với điện trở kéo xuống. Nếu điều này là chính xác, bạn có thể cần phải tăng giá trị của điện trở.

Giá trị bị kẹt ở 1000+, ngay cả khi chặn cảm biến:

Đảm bảo rằng điện trở kéo xuống của bạn được nối dây chính xác, điều này có thể xảy ra nếu không có điện trở kéo xuống. Nếu đây vẫn là sự cố, hãy thử giảm giá trị điện trở kéo xuống.

Giá trị cao và bằng không khi chặn ánh sáng:

Điều này phải đủ để cảm biến hoạt động, tuy nhiên, chúng tôi có thể không phản ứng đủ nhanh khi phi tiêu băng qua đường dẫn. Có một số điện dung trong mạch và với điện trở 220K, có thể mất một thời gian để điện áp giảm xuống dưới ngưỡng yêu cầu. Nếu đúng như vậy, hãy giảm điện trở này xuống 100K và xem các thử nghiệm hoạt động như thế nào.

ĐẢM BẢO MỌI THAY ĐỔI ĐIỆN TRỞ ĐƯỢC ĐỒNG Ý GIỮA CẢ CẢ CẢM BIẾN

Đảm bảo các mạch giống hệt nhau cho cả hai cảm biến duy trì cùng độ trễ giữa các điện trở, điều này sẽ cho phép độ chính xác tốt nhất trong các phép đo.

Nếu bạn có bất kỳ vấn đề nào khác, hãy để lại bình luận bên dưới và tôi sẽ cố gắng hết sức để giúp bạn.

Bước 4: Lắp ráp phần cứng

Lắp ráp phần cứng
Lắp ráp phần cứng
Lắp ráp phần cứng
Lắp ráp phần cứng
Lắp ráp phần cứng
Lắp ráp phần cứng

Hàn các thành phần vào PCB nhỏ như đã thấy ở đây:

Các dây dẫn cho đèn LED và Bộ truyền quang phải cắt theo chiều dài, khoảng _.

Hàn Arduino lên bảng và nối các điện trở từ mặt đất đến các chân có thể tiếp cận được. Ngoài ra, đảm bảo rằng 4 dây Dương có thể dễ dàng gắn với nhau. Nếu bạn gặp vấn đề với điều này, bạn có thể tước một đoạn dây và hàn nó qua tất cả các dây dẫn ở cuối.

Tôi đã nối dây các cảm biến sang phía đối diện của vỏ bọc, tuy nhiên, bạn có thể thoải mái nối dây miễn là bạn giữ cho các bên nhất quán. Tôi cắt dây cho lengh và hàn dây vào từng điốt cuối cùng. Tôi đã cập nhật một chút định tuyến dây để cung cấp nhiều không gian hơn và bớt lo lắng về việc có một số dây bên dưới PCB và những dây khác trên đó để dễ sử dụng. Các STL có trong tệp zip dự án đầy đủ ở phần đầu của dự án.

Bước 5: Lắp ráp cuối cùng

Hội đồng cuối cùng
Hội đồng cuối cùng
Hội đồng cuối cùng
Hội đồng cuối cùng
Hội đồng cuối cùng
Hội đồng cuối cùng

Nếu các Lỗ PCB của bạn không khớp với các lỗ trên thân đồng hồ bấm giờ chính, bạn có thể cố định thiết bị điện tử trong vỏ bằng một số băng keo hoặc keo nóng, tôi thấy nó không cần phải được bảo vệ sau dây và USB đã có, tuy nhiên kết quả của bạn có thể khác nhau. Nó được thiết kế để cho phép ép dây tóc 1,75mm vào các lỗ vít để đóng cọc nhiệt, tuy nhiên PCB cũng có thể được vặn vào hoặc dán vào. Phần quan trọng nhất ở đây là đảm bảo cổng USB có thể truy cập được.

Che thiết bị điện tử bằng vỏ thiết bị điện tử, Các tệp cập nhật sẽ vừa vặn hơn so với những gì tôi đã làm và hy vọng sẽ ép vào đúng vị trí, tuy nhiên tôi đã sử dụng bút in 3D để hàn các nắp vào đúng vị trí. Bây giờ bạn đã sẵn sàng để bắn một số phi tiêu!

Bản cập nhật trong tương lai có thể sử dụng định tuyến nội bộ cho các dây, nhưng các nắp trong trường hợp này mang lại một chút thẩm mỹ cho Nerf.

Bước 6: Chronograph in Action

Image
Image
Chronograph đang hoạt động
Chronograph đang hoạt động

Mở tệp xử lý: Chronograph_Intitial_Release sẽ cho phép tạo ra một giao diện người dùng thực sự đẹp cho đồng hồ bấm giờ hiển thị cả FPS và RPS (Vòng trên giây). Nếu bạn gặp sự cố kết nối, hãy đảm bảo rằng bạn đã đóng màn hình nối tiếp Arduino của mình, bạn cũng có thể phải thay đổi cổng nối tiếp trong mã, nhưng điều này được nhận xét và phải đơn giản. Để đặt lại các giá trị tối đa, chỉ cần nhấn phím cách trên máy tính của bạn.

Một chút về cách mã hoạt động (Có thể xem ảnh giao diện người dùng ở trên):

  1. Nhận đầu vào từ Arduino
  2. So sánh giá trị này với đầu vào trước đây để tìm giá trị tối đa
  3. Hiển thị giá trị hiện tại và giá trị tối đa trên toàn màn hình để phản hồi trực quan dễ dàng
  4. Đặt lại giá trị tối đa khi nhấn khoảng trắng

Bước 7: Kế hoạch tương lai

Bản cập nhật trong tương lai cho điều này sẽ bao gồm các cải tiến sau. Nếu bạn có các tính năng bổ sung mà bạn muốn, hãy cho tôi biết và tôi sẽ cố gắng triển khai chúng.

  1. Bao gồm màn hình LCD
  2. Bao gồm pin
  3. Điểm đính kèm tương thích Nerf
  4. Bao vây cập nhật
  5. Iron Sights

Đề xuất: