Mục lục:

Bộ kiểm tra màn trập máy ảnh phim Arduino: 4 bước
Bộ kiểm tra màn trập máy ảnh phim Arduino: 4 bước

Video: Bộ kiểm tra màn trập máy ảnh phim Arduino: 4 bước

Video: Bộ kiểm tra màn trập máy ảnh phim Arduino: 4 bước
Video: 🔴 Arduino #8 | Bàn Phím Ma Trận 4x4 Lập Trình Điều Khiển Bật Tắt Thiết Bị Bằng Mật Khẩu 2024, Tháng bảy
Anonim
Trình kiểm tra màn trập máy ảnh phim Arduino
Trình kiểm tra màn trập máy ảnh phim Arduino
Trình kiểm tra màn trập máy ảnh phim Arduino
Trình kiểm tra màn trập máy ảnh phim Arduino

Gần đây tôi mua hai máy ảnh phim cũ đã qua sử dụng. Sau khi làm sạch chúng, tôi nhận ra rằng tốc độ cửa trập có thể bị trễ do bụi, ăn mòn hoặc thiếu dầu, vì vậy tôi quyết định làm một cái gì đó để đo thời gian phơi sáng thực của bất kỳ máy ảnh nào, vì bằng mắt thường, tôi không thể đo được. Dự án này sử dụng Arduino làm thành phần chính để đo thời gian trình chiếu. Chúng ta sẽ tạo một cặp opto (đèn LED hồng ngoại và bóng bán dẫn quang hồng ngoại) và đọc thời gian màn trập của máy ảnh mở. Đầu tiên, tôi sẽ giải thích cách nhanh chóng để đạt được mục tiêu của chúng tôi và cuối cùng, chúng ta sẽ xem tất cả lý thuyết đằng sau dự án này.

Danh sách các thành phần:

  • 1 x Máy ảnh phim
  • 1 x Arduino Uno
  • Điện trở màng carbon 2 x 220 Ω
  • 1 x đèn LED hồng ngoại
  • 1 x Phototransistor
  • 2 x breadboard nhỏ (hoặc 1 breadboard lớn, đủ lớn để đặt máy ảnh ở trung tâm)
  • Nhiều jumper hoặc cáp

* Các thành phần phụ này cần thiết cho phần giải thích

  • 1 x đèn LED màu bình thường
  • 1 x Nút nhấn tạm thời

Bước 1: Nội dung nối dây

Nội dung dây
Nội dung dây
Nội dung dây
Nội dung dây
Nội dung dây
Nội dung dây

Đầu tiên, gắn IR LED vào một breadboard và IR Phototransistor trong bảng kia để chúng ta có thể đặt chúng đối diện nhau. Kết nối một điện trở 220 Ω với cực dương của đèn LED (chân dài hoặc cạnh không có viền phẳng) và kết nối điện trở với nguồn điện 5V trên Arduino. Đồng thời kết nối cực âm LED (chân ngắn hoặc cạnh có viền phẳng) với một trong các cổng GND trong Arduino.

Tiếp theo, nối chân Collector trên bóng bán dẫn hình ảnh (đối với tôi là chân ngắn, nhưng bạn nên kiểm tra bảng dữ liệu bóng bán dẫn của mình để đảm bảo rằng bạn đang đấu dây đúng cách hoặc bạn có thể kết thúc việc thổi bóng bán dẫn) vào điện trở 220 Ω và điện trở vào chân A1 trên Arudino, sau đó nối chân Emitter của bóng bán dẫn quang (chân dài hoặc chân không có cạnh phẳng). Bằng cách này, chúng tôi có đèn LED hồng ngoại luôn bật và bóng bán dẫn quang được đặt làm công tắc chìm.

Khi ánh sáng IR đến bóng bán dẫn sẽ cho phép dòng điện đi từ chân Collector đến chân Emitter. Chúng tôi sẽ đặt chân A1 để đầu vào kéo lên, do đó, chân sẽ luôn ở trạng thái cao trừ khi bóng bán dẫn chìm dòng điện xuống khối lượng.

Bước 2: Lập trình

Thiết lập Arduino IDE của bạn (cổng, bảng và bộ lập trình) để phù hợp với cấu hình cần thiết cho bảng Arduino của bạn.

Sao chép mã này, biên dịch và tải lên:

int readPin = A1; // chân được kết nối với điện trở 330 từ phototransistor

int ptValue, j; // điểm lưu trữ dữ liệu được đọc từ khóa bool analogRead (); // một bolean được sử dụng để đọc trạng thái của bộ định thời dài không dấu readPin, timer2; đọc hai lần; Chuỗi chọn [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; mong đợi lâu [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; void setup () {Serial.begin (9600); // chúng tôi đặt giao tiếp nối tiếp ở 9600 bit mỗi giây pinMode (readPin, INPUT_PULLUP); // chúng ta sẽ đặt chân luôn ở mức cao ngoại trừ khi bóng bán dẫn quang bị chìm, vì vậy, chúng ta đã "đảo ngược" logic // nó có nghĩa là HIGH = không có tín hiệu IR và độ trễ nhận được tín hiệu LOW = IR (200); // độ trễ này là để hệ thống khởi động lettin và tránh đọc sai j = 0; // khởi tạo bộ đếm của chúng ta} void loop () {lock = digitalRead (readPin); // đọc trạng thái của chân đã cho và gán nó cho biến if (! lock) {// chỉ chạy khi chân đó là LOW timer = micros (); // đặt bộ đếm thời gian tham chiếu while (! lock) {// thực hiện việc này trong khi pin ở mức THẤP, nói cách khác, mở cửa trập timer2 = micros (); // lấy mẫu thời gian đã trôi qua lock = digitalRead (readPin); // đọc trạng thái pin để biết cửa trập đã đóng chưa} Serial.print ("Vị trí:"); // văn bản này là để hiển thị thông tin yêu cầu Serial.print (select [j]); Serial.print ("|"); Serial.print ("Thời gian đã mở:"); đã đọc = (timer2 - bộ đếm thời gian); // tính thời gian màn trập mở Serial.print (đã đọc); Serial.print ("chúng tôi"); Serial.print ("|"); Serial.print ("Dự kiến:"); Serial.println (dự kiến [j] * 1000); j ++; // tăng vị trí của cửa trập, điều này có thể được thực hiện bằng một nút}}

Sau khi tải lên xong, hãy mở màn hình nối tiếp (Công cụ -> Màn hình nối tiếp) và chuẩn bị máy ảnh để đọc

Kết quả được hiển thị sau dòng chữ "thời gian đã mở:", tất cả các thông tin khác đã được lập trình sẵn.

Bước 3: Thiết lập và đo lường

Thiết lập và Đo lường
Thiết lập và Đo lường
Thiết lập và Đo lường
Thiết lập và Đo lường
Thiết lập và Đo lường
Thiết lập và Đo lường
Thiết lập và Đo lường
Thiết lập và Đo lường

Tháo ống kính máy ảnh của bạn và mở ngăn chứa phim. Nếu bạn đã tải phim, hãy nhớ hoàn thành nó trước khi thực hiện quy trình này, nếu không bạn sẽ làm hỏng ảnh đã chụp.

Đặt đèn LED hồng ngoại và bóng bán dẫn ảnh hồng ngoại ở các mặt đối diện của máy ảnh, một mặt của phim và mặt còn lại là thấu kính. Bất kể bạn sử dụng mặt nào cho đèn LED hay bóng bán dẫn, chỉ cần đảm bảo chúng tiếp xúc trực quan khi nhấn màn trập. Để thực hiện việc này, hãy đặt cửa trập ở "1" hoặc "B" và kiểm tra màn hình nối tiếp khi "chụp" ảnh. Nếu màn trập hoạt động tốt, màn hình sẽ hiển thị số đọc. Ngoài ra, bạn có thể đặt một vật không trong suốt giữa chúng và di chuyển nó để kích hoạt chương trình đo.

Đặt lại Arduino bằng nút đặt lại và chụp ảnh lần lượt ở các tốc độ màn trập khác nhau, bắt đầu từ "B" đến "1000". Màn hình nối tiếp sẽ in thông tin sau khi màn trập đóng lại. Ví dụ, bạn có thể thấy thời gian được đo từ máy ảnh phim Miranda và Praktica trên các hình ảnh đính kèm.

Sử dụng thông tin này để thực hiện các chỉnh sửa khi chụp ảnh hoặc chẩn đoán trạng thái máy ảnh của bạn. Nếu bạn muốn làm sạch hoặc điều chỉnh máy ảnh của mình, tôi thực sự khuyên bạn nên gửi chúng đến một kỹ thuật viên chuyên nghiệp.

Bước 4: Geeks nội dung

Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff
Geeks Stuff

Bóng bán dẫn là cơ sở của tất cả công nghệ điện tử mà chúng ta thấy ngày nay, chúng được cấp bằng sáng chế lần đầu tiên vào khoảng năm 1925 bởi một nhà vật lý người Mỹ gốc Áo-Hung. Chúng được mô tả như một thiết bị để kiểm soát dòng điện. Trước chúng, chúng ta phải sử dụng ống chân không để thực hiện các hoạt động của bóng bán dẫn ngày nay (truyền hình, bộ khuếch đại, máy tính).

Một bóng bán dẫn có khả năng điều khiển dòng điện chạy từ cực thu đến cực phát và chúng ta có thể điều khiển dòng điện đó, ở các bóng bán dẫn thông thường có 3 chân, áp dụng dòng điện trên cổng của bóng bán dẫn. Trong hầu hết các bóng bán dẫn, dòng điện cổng được khuếch đại, vì vậy, ví dụ, nếu chúng ta đặt 1 mA vào cổng, chúng ta nhận được 120 mA chạy từ bộ phát. Chúng ta có thể hình dung nó như một van vòi nước.

Bóng bán dẫn quang là một bóng bán dẫn bình thường nhưng thay vì có chân cổng, cổng được kết nối với vật liệu cảm biến quang. Vật liệu này tạo ra một dòng điện nhỏ khi nó bị kích thích bởi các photon, trong trường hợp của chúng ta là các photon bước sóng IR. Vì vậy, chúng tôi điều khiển một bóng bán dẫn quang sửa đổi công suất của nguồn sáng IR.

Có một số thông số kỹ thuật mà chúng tôi nên tính đến trước khi mua và nối dây các phần tử của chúng tôi. Đính kèm là thông tin lấy từ bảng dữ liệu bóng bán dẫn và LED. Trước tiên, chúng ta cần kiểm tra điện áp đánh thủng của bóng bán dẫn là điện áp tối đa mà nó có thể xử lý, ví dụ, điện áp đánh thủng của tôi từ bộ phát đến bộ thu là 5V, vì vậy nếu tôi đấu dây sai nguồn 8V, tôi sẽ làm hỏng bóng bán dẫn. Ngoài ra, hãy kiểm tra sự tiêu tán công suất, nó có nghĩa là dòng điện có thể cung cấp bóng bán dẫn bao nhiêu trước khi chết. Của tôi nói 150mW. Ở 5V, 150mW có nghĩa là nguồn cung cấp 30 mA (Watts = V * I). Đó là lý do tại sao tôi quyết định sử dụng điện trở giới hạn 220 Ω, bởi vì, ở 5V, điện trở 220 Ω chỉ cho phép vượt qua dòng điện tối đa là 23 mA. (Định luật Ôm: V = I * R). Trường hợp tương tự cũng xảy ra với đèn LED, thông tin bảng dữ liệu cho biết dòng điện tối đa của nó là khoảng 50mA, vì vậy, một điện trở 220 Ω khác sẽ ổn, vì dòng điện đầu ra tối đa của chân Arduino của chúng tôi là 40 mA và chúng tôi không muốn đốt chân.

Chúng ta cần kết nối thiết lập của mình như trong hình. Nếu bạn đang sử dụng các nút như của tôi, hãy cẩn thận đặt hai phần lồi tròn ở giữa bảng. Sau đó, tải đoạn mã sau lên Arduino.

int readPin = A1; // chân nơi được kết nối với điện trở 220 từ ptValue phototransistorint, j; // điểm lưu trữ dữ liệu được đọc từ analogRead () void setup () {Serial.begin (9600); } void loop () {ptValue = analogRead (readPin); // chúng ta đọc giá trị điện áp trên readPin (A1) Serial.println (ptValue); // theo cách này, chúng tôi gửi dữ liệu đã đọc đến bộ giám sát nối tiếp, vì vậy chúng tôi có thể kiểm tra điều gì đang xảy ra delay (35); // chỉ là một khoảng thời gian để làm cho ảnh chụp màn hình dễ dàng hơn}

Sau khi tải lên, hãy mở máy vẽ nối tiếp (Công cụ -> Máy vẽ nối tiếp) và xem điều gì sẽ xảy ra khi bạn nhấn nút chuyển đổi IR LED. Nếu bạn muốn kiểm tra xem đèn LED hồng ngoại có hoạt động hay không (cũng như điều khiển từ xa của TV), chỉ cần đặt camera điện thoại di động của bạn trước đèn LED và chụp ảnh. Nếu ổn, bạn sẽ thấy ánh sáng xanh tím phát ra từ đèn LED.

Trong máy vẽ nối tiếp, bạn có thể phân biệt khi nào đèn LED bật và tắt, nếu không, hãy kiểm tra hệ thống dây điện của bạn.

Cuối cùng, bạn có thể thay đổi phương thức analogRead cho digitalRead, vì vậy bạn chỉ có thể thấy 0 hoặc 1. Tôi khuyên bạn nên thực hiện một khoảng thời gian trễ sau khi Thiết lập () để tránh đọc sai LOW, (hình ảnh có một đỉnh LOW nhỏ).

Đề xuất: