Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Tài liệu hướng dẫn này sẽ chỉ cho bạn cách tạo một Máy ảnh mũ bảo hiểm giá rẻ có thể được điều khiển thông qua một điều khiển từ xa để máy ảnh chính của bạn có thể an toàn trong bao tải của bạn. Bộ điều khiển có thể được gắn vào một trong các dây đai vai của bao tải và sẽ cho phép bạn Ghi và Dừng máy ảnh cũng như có thể bật và tắt máy ảnh 'viên đạn'. Điều này hoàn hảo cho những người muốn quay phim các môn thể thao mạo hiểm như bmxing, trượt ván trên tuyết, trượt ván, v.v. từ góc nhìn người thứ nhất. Hình ảnh dưới đây cho thấy máy ảnh đạn và bộ điều khiển từ xa cùng với bộ pin adn của máy ảnh chính.
Bước 1: Cách thức hoạt động
Khá đơn giản để kết nối một máy ảnh kiểu 'viên đạn' nhỏ với máy quay của bạn và đưa máy quay phim những gì máy ảnh mini đang 'nhìn thấy', nhưng tôi muốn có thể kiểm soát bản ghi và dừng hoạt động của máy quay mà không cần lấy ra túi của tôi mọi lúc. Sau khi điều tra một chút, tôi thấy rằng máy ảnh Sony có kết nối LANC trên chúng có thể được sử dụng để điều khiển máy ảnh và cũng cung cấp thông tin về những gì máy ảnh đang làm. Điều này thật tuyệt, bắt đầu khi bạn nhấn nút Ghi từ xa, bạn có thể đọc dữ liệu từ cáp LANC để tìm hiểu xem máy ảnh có thực sự bắt đầu ghi hay không và có đèn LED ghi sáng trên bộ điều khiển của bạn. Máy ảnh mini chỉ có giá 15 pound từ ebay Giắc cắm 2,5mm stero khoảng 1 pound và các mảnh và mảnh khác nhỏ hơn 5 pound Vì vậy, với khoảng 20 pound, bạn có thể có một chiếc cam mũ bảo hiểm điều khiển từ xa hoạt động hoàn toàn. Bộ điều khiển của tôi rất đơn giản. Nó có một nút Ghi, một nút Dừng, một công tắc nguồn cho cam mini và 3 đèn LED. (Nguồn Minicam, Nguồn camera chính và chỉ báo ghi). Đây là tất cả những gì tôi cần cho dự án của mình, nhưng mã nguồn mà tôi cung cấp khá đơn giản và có thể được điều chỉnh để cho phép bạn điều khiển mọi thứ trên máy ảnh. --- Tôi đã thêm một bước khác, Bước 4, đó là bản cập nhật cho biết báo hiệu pin yếu và hết băng) --- Hình ảnh: Hình 1 - Nguyên mẫu (với 8 đèn LED để giúp gỡ lỗi chương trình của tôi) Hình 2 - Cận cảnh camera và bộ điều khiển 'viên đạn'
Bước 2: Sơ đồ mạch
Mạch rất cơ bản. - PIC được cấp nguồn trực tiếp từ cáp LANC. - Minicam được cấp nguồn từ bộ pin 12 volt thông qua công tắc - Có 2 nút nhấn cho Ghi và Dừng - 3 đèn LED được sử dụng để hiển thị cho bạn trạng thái của máy ảnh Các kết nối PIC: RA0 - LANC từ máy ảnh RB7 - Đèn LED ghi RB4 - Nút ghi RB5 - Nút dừng (Xin lưu ý, Bước 4 là bản cập nhật cho mạch này, đèn LED nguồn được kết nối với RA5 và có mã nguồn khác)
Bước 3: LANC là gì và chương trình hoạt động như thế nào?
Nếu bạn truy cập liên kết này, nó sẽ cho bạn biết giao thức Sony LANC hoạt động như thế nào và tất cả các lệnh và dữ liệu camera có sẵn trên giao thức LANC: https://www.boehmel.de/lanc.htm rất nhiều thông tin từ camera cũng như điều khiển mọi chức năng của camera qua cổng giao tiếp LANC. Mã code của mình rất cơ bản và file.asm có thể tải vào MPLAB (miễn phí từ Micochip.com) và được lập trình bằng PicKit2 khá Cách thức hoạt động của mã: Nếu bạn tải xuống mã nguồn, mã nguồn sẽ được ghi lại thông qua việc cho bạn biết điều gì đang xảy ra, nhưng tôi cũng sẽ giải thích ngắn gọn ở đây. Có 8 byte trên cổng LANC cứ sau 20ms (16, 6ms đối với NTSC). Mỗi byte có một Bit bắt đầu theo sau là 8 bit, mỗi bit có độ dài 104uS. Có một khoảng cách khoảng 200uS - 400uS giữa các byte. Sau khi tất cả 8 byte 'xuất hiện' trên dòng LANC, có một khoảng trống dài (5 - 8 ms) nơi dòng LANC được 'giữ' ở mức cao, và sau đó 8 byte tương tự lại 'xuất hiện'. - Khi chương trình bắt đầu, nó tiếp tục kiểm tra đầu vào LANC cho đến khi nó 'nhìn thấy' nó cao trong một khoảng thời gian dài hơn 1000uS, điều này có nghĩa là chúng ta đang ở khoảng cách giữa byte thứ 8 và byte đầu tiên. - Tiếp theo chương trình đợi để xem Bit Start (logic 0) trên dòng. Khi điều này xảy ra, chương trình sẽ đợi 52uS (độ dài nửa bit) và kiểm tra lại để đảm bảo rằng vẫn còn logic 0 trên dòng LANC. Nếu vậy, chúng ta biết rằng chúng ta có Bit Start hợp lệ và sẵn sàng đọc byte. - Bây giờ chúng ta chờ 104uS (độ dài của 1 bit), vì vậy chúng ta sẽ ở ngay giữa bit tiếp theo trên dòng LANC. Chúng tôi đọc bit này, đợi 104uS và đọc lại. Điều này tiếp tục cho tất cả 8 bit. Bây giờ chúng ta có Byte 0.-Chương trình sau đó đợi Bit Start tiếp theo và thực hiện cùng một nhiệm vụ để lấy Byte 1, 2, 3, 4, 5, 6 và 7. Byte 4 là cái tôi sử dụng trong chương trình để lấy thông tin về trạng thái ghi của camera, nhưng như bạn có thể thấy trong liên kết tôi cung cấp, có rất nhiều thông tin có sẵn! - Khi một nút được nhấn, 2 thanh ghi được tải với các byte cần thiết để thực hiện hoạt động cụ thể và một thanh ghi có tên là 'Người gửi' được tải với số 5 (tôi sẽ giải thích tại sao sau). Khi chương trình đến phần 'sẵn sàng đọc các byte', nếu thanh ghi 'Người gửi' không phải là 0, nó sẽ thay đổi chân RA0 thành một đầu ra và bắt đầu gửi đi byte đầu tiên. Sau đó, nó tìm kiếm bit Start tiếp theo và xuất ra byte tiếp theo. Thanh ghi 'Người gửi' bị giảm đi 1 và RA0 được thay đổi trở lại đầu vào để đọc 6 byte cuối cùng. Lý do thanh ghi 'Người gửi' được sử dụng là vì để máy ảnh chấp nhận một lệnh, nó cần phải xem lệnh cho một vài chu kỳ. Một số trang web nói rằng chỉ cần 3 chu kỳ là cần thiết, nhưng vì 1 chu kỳ chỉ mất 20ms, gửi 5 lần (ở mức an toàn) chỉ mất 100ms để hoàn thành. cam mũ bảo hiểm. Vui lòng điều chỉnh mã của tôi cho phù hợp với nhu cầu của bạn, nhưng vui lòng ghi có cho tôi mã nếu bạn xuất bản nó ở bất kỳ nơi nào khác.
Bước 4: Cập nhật…
Tôi đã cập nhật chương trình trong PIC để nhấp nháy đèn LED nguồn khi pin trên máy ảnh chính sắp hết và để nhấp nháy đèn LED ghi nếu băng ở cuối. Tôi đã thêm một sơ đồ dây và mã nguồn mới hơn. Sự khác biệt duy nhất trong sơ đồ đấu dây là đèn LED Trạng thái (là đèn LED nguồn) hiện được kết nối với RA5 thay vì + 5v