Inhaltsverzeichnis:

Arduino Filmkamera Shutter Checker - Gunook
Arduino Filmkamera Shutter Checker - Gunook

Video: Arduino Filmkamera Shutter Checker - Gunook

Video: Arduino Filmkamera Shutter Checker - Gunook
Video: PhotoPlug shutter-speed-tester for your smartphone! 2024, November
Anonim
Arduino Filmkamera Shutter Checker
Arduino Filmkamera Shutter Checker
Arduino Filmkamera Shutter Checker
Arduino Filmkamera Shutter Checker

Vor kurzem habe ich zwei gebrauchte alte Filmkameras gekauft. Nachdem ich sie gereinigt hatte, stellte ich fest, dass die Verschlusszeit durch Staub, Korrosion oder Ölmangel verzögert werden könnte, also beschloss ich, etwas zu machen, um die tatsächliche Belichtungszeit einer Kamera zu messen, da ich sie mit bloßen Augen nicht messen kann genau. Dieses Projekt verwendet Arduino als Hauptkomponente zum Messen der Expositionszeit. Wir werden ein Optopaar (IR-LED und ein IR-Fototransistor) herstellen und ablesen, wie lange der Verschluss der Kamera geöffnet ist. Zuerst erkläre ich den schnellen Weg, um unser Ziel zu erreichen und am Ende werden wir die ganze Theorie hinter diesem Projekt sehen.

Liste der Komponenten:

  • 1 x Filmkamera
  • 1 x Arduino Uno
  • 2 x 220 Ω Kohleschichtwiderstand
  • 1 x IR-LED
  • 1 x Fototransistor
  • 2 x kleine Steckbretter (oder 1 großes Steckbrett, groß genug, um die Kamera in die Mitte zu passen)
  • Viele Jumper oder Kabel

*Diese zusätzlichen Komponenten werden für den Erklärungsabschnitt benötigt

  • 1 x normale Farb-LED
  • 1 x Momentaner Druckknopf

Schritt 1: Verdrahtungsmaterial

Verkabelungsmaterial
Verkabelungsmaterial
Verkabelungsmaterial
Verkabelungsmaterial
Verkabelungsmaterial
Verkabelungsmaterial

Befestigen Sie zuerst die IR-LED in einem Steckbrett und den IR-Fototransistor im anderen, damit sie sich gegenüberstehen. Verbinden Sie einen 220 Ω Widerstand mit der LED-Anode (das lange Bein oder die Seite ohne den flachen Rand) und verbinden Sie den Widerstand mit der 5V-Stromversorgung des Arduino. Verbinden Sie auch die LED-Kathode (kurzes Bein oder die Seite mit dem flachen Rand) mit einem der GND-Ports im Arduino.

Als nächstes verdrahten Sie den Kollektorstift des Fototransistors (für mich ist das kurze Bein, aber Sie sollten Ihr Transistordatenblatt überprüfen, um sicherzustellen, dass Sie ihn richtig verdrahten, oder Sie können den Transistor sprengen) mit dem 220 Ω Widerstand und den Widerstand an den Pin A1 des Arudino, dann den Emitter-Pin des Fototransistors (das lange Bein oder das ohne flache Randseite) anschließen. Auf diese Weise haben wir die IR-LED immer an und den Fototransistor als Senkenschalter eingestellt.

Wenn das IR-Licht den Transistor erreicht, lässt es Strom vom Kollektorstift zum Emitterstift fließen. Wir werden den A1-Pin auf Eingangs-Pull-Up setzen, so dass der Pin immer auf einem hohen Zustand ist, es sei denn, der Transistor senkt den Strom auf Masse.

Schritt 2: Programmierung

Richten Sie Ihre Arduino-IDE (Port, Board und Programmierer) so ein, dass sie der für Ihr Arduino-Board erforderlichen Konfiguration entspricht.

Diesen Code kopieren, kompilieren und hochladen:

int readPin = A1; // Pin, wo der 330-Widerstand vom Fototransistor angeschlossen ist

int ptWert, j; // der Speicherpunkt für die von analogRead () gelesenen Daten bool lock; // ein Bolean, der verwendet wird, um den Zustand von readPin unsigned long timer, timer2 zu lesen; doppelt gelesen; String select[12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; lang erwartet [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; Void setup () {Serial.begin (9600); // Wir stellen die serielle Kommunikation auf 9600 Bits pro Sekunde ein pinMode (readPin, INPUT_PULLUP); // wir werden den Pin immer hoch setzen, außer wenn der Fototransistor sinkt, also haben wir die Logik "umgekehrt" // es bedeutet HIGH = kein IR-Signal und LOW = IR-Signal empfangen Verzögerung (200); // Diese Verzögerung dient zum Starten des Systems und zur Vermeidung falscher Messwerte j = 0; // unseren Zähler initialisieren aufrechtzuerhalten. Void loop () {lock = digitalRead (readPin); // den Zustand des angegebenen Pins lesen und der Variablen zuweisen if (!lock) { // nur ausführen, wenn der Pin LOW Timer = micros (); // setze den Referenz-Timer während (!lock) { // Tue dies, während der Pin LOW ist, mit anderen Worten, Shutter Open Timer2 = micros (); // Nimm eine verstrichene Zeit Sample lock = digitalRead (readPin); // Lesen Sie den Pin-Zustand, um zu wissen, ob der Verschluss geschlossen ist} Serial.print ("Position: "); // Dieser Text dient zum Anzeigen der angeforderten Informationen Serial.print (select [j]); Serial.print(" | "); Serial.print ("Zeit geöffnet: "); gelesen = (timer2 - Timer); // berechnen, wie lange der Verschluss geöffnet war Serial.print (gelesen); Serial.print ("uns"); Serial.print(" | "); Serial.print ("Erwartet: "); Serial.println (erwartet [j] * 1000); j ++; // die Position des Rollladens erhöhen, dies könnte mit einer Taste erfolgen } }

Nachdem der Upload abgeschlossen ist, öffnen Sie den seriellen Monitor (Extras -> Serieller Monitor) und bereiten Sie die Kamera für die Messungen vor

Die Ergebnisse werden nach den Worten "Zeit geöffnet:" angezeigt, alle anderen Informationen sind vorprogrammiert.

Schritt 3: Einrichten und Messen

Einrichten und Messen
Einrichten und Messen
Einrichten und Messen
Einrichten und Messen
Einrichten und Messen
Einrichten und Messen
Einrichten und Messen
Einrichten und Messen

Nehmen Sie Ihre Kameraobjektive ab und öffnen Sie das Filmfach. Wenn Sie bereits einen Film eingelegt haben, denken Sie daran, ihn fertig zu stellen, bevor Sie diesen Vorgang ausführen, da Sie sonst die aufgenommenen Fotos beschädigen.

Platzieren Sie die IR-LED und den IR-Fototransistor auf gegenüberliegenden Seiten der Kamera, eine auf der Seite des Films und die andere auf der Seite, wo die Linsen waren. Egal welche Seite Sie für die LED oder den Transistor verwenden, stellen Sie einfach sicher, dass sie Sichtkontakt haben, wenn der Auslöser gedrückt wird. Stellen Sie dazu den Verschluss auf "1" oder "B" und überprüfen Sie den seriellen Monitor beim "Aufnehmen" eines Fotos. Wenn der Verschluss gut funktioniert, sollte der Monitor einen Messwert anzeigen. Außerdem können Sie ein undurchsichtiges Objekt dazwischen platzieren und verschieben, um das Messprogramm auszulösen.

Setzen Sie den Arduino mit der Reset-Taste zurück und nehmen Sie nacheinander Fotos mit verschiedenen Verschlusszeiten auf, beginnend mit "B" bis "1000". Der serielle Monitor druckt die Informationen nach dem Schließen des Verschlusses. Als Beispiel können Sie auf den beigefügten Bildern die Zeiten sehen, die von einer Miranda- und Praktica-Filmkamera gemessen wurden.

Verwenden Sie diese Informationen, um beim Aufnehmen von Fotos Korrekturen vorzunehmen oder den Zustand Ihrer Kamera zu diagnostizieren. Wenn Sie Ihre Kamera reinigen oder einstellen möchten, empfehle ich dringend, sie an einen erfahrenen Techniker zu senden.

Schritt 4: Geeks Zeug

Geeks-Zeug
Geeks-Zeug
Geeks-Zeug
Geeks-Zeug
Geeks-Zeug
Geeks-Zeug
Geeks-Zeug
Geeks-Zeug

Transistoren sind die Grundlage aller elektronischen Technologien, die wir heute sehen. Sie wurden erstmals um 1925 von einem in Österreich-Ungarn geborenen deutsch-amerikanischen Physiker patentiert. Sie wurden als Gerät zur Steuerung von Strom beschrieben. Früher mussten wir Vakuumröhren verwenden, um die Operationen zu erledigen, die Transistoren heute ausführen (Fernsehen, Verstärker, Computer).

Ein Transistor hat die Fähigkeit, den vom Kollektor zum Emitter fließenden Strom zu steuern, und wir können diesen Strom in den gemeinsamen Transistoren mit 3 Beinen steuern, indem Strom an das Transistorgate angelegt wird. In den meisten Transistoren wird der Gate-Strom verstärkt. Wenn wir also beispielsweise 1 mA an das Gate anlegen, fließen 120 mA vom Emitter. Wir können es uns als Wasserhahnventil vorstellen.

Der Fototransistor ist ein normaler Transistor, aber anstatt einen Gate-Bein zu haben, ist das Gate mit einem fotoempfindlichen Material verbunden. Dieses Material erzeugt einen kleinen Strom, wenn es durch Photonen angeregt wird, in unserem Fall durch Photonen mit IR-Wellenlänge. Wir steuern also einen Fototransistor, der die Leistung der IR-Lichtquelle modifiziert.

Es gibt einige Spezifikationen, die wir berücksichtigen sollten, bevor wir unsere Elemente kaufen und verkabeln. Beigefügt sind Informationen aus den Transistor- und LED-Datenblättern. Zuerst müssen wir die Transistor-Durchbruchspannung überprüfen, die die maximale Spannung ist, die er verarbeiten kann. Zum Beispiel beträgt meine Durchbruchspannung vom Emitter zum Kollektor 5 V. Wenn ich also 8 V falsch verdrahte, brate ich den Transistor. Überprüfen Sie auch die Verlustleistung, das bedeutet, wie viel Strom der Transistor liefern kann, bevor er stirbt. Meiner sagt 150mW. Bei 5 V bedeutet 150 mW 30 mA (Watt = V * I). Aus diesem Grund habe ich mich für einen Begrenzerwiderstand von 220 Ω entschieden, da ein 220 Ω Widerstand bei 5V nur einen maximalen Strom von 23 mA durchlässt. (Ohmsches Gesetz: V = I * R). Der gleiche Fall gilt für die LED, die Datenblattinfo besagt, dass ihr maximaler Strom etwa 50 mA beträgt.

Wir müssen unser Setup wie auf dem Bild verdrahten. Wenn Sie Knöpfe wie meine verwenden, achten Sie darauf, die beiden runden Vorsprünge in der Mitte des Bretts zu platzieren. Laden Sie dann den folgenden Code auf das Arduino hoch.

int readPin = A1; // Pin, wo der 220-Widerstand vom Phototransistorint ptValue, j angeschlossen ist; // der Speicherpunkt für die von analogRead () gelesenen Daten Void setup () { Serial.begin (9600); aufrechtzuerhalten. Void Schleife () { ptValue = analogRead (readPin); // Wir lesen den Spannungswert am ReadPin (A1) Serial.println (ptValue); // Auf diese Weise senden wir die gelesenen Daten an den seriellen Monitor, damit wir überprüfen können, was passiert Verzögerung (35); //nur eine Verzögerung, um Screenshots einfacher zu machen}

Öffnen Sie nach dem Hochladen Ihren seriellen Plotter (Tools -> Serial Plotter) und beobachten Sie, was passiert, wenn Sie Ihren IR-LED-Schalter drücken. Wenn Sie überprüfen möchten, ob die IR-LED funktioniert (auch TV-Fernbedienungen), stellen Sie einfach Ihre Handykamera vor die LED und machen Sie ein Foto. Wenn es in Ordnung ist, sehen Sie ein blau-violettes Licht, das von der LED kommt.

Im seriellen Plotter können Sie unterscheiden, wann die LED an und aus ist, wenn nicht, überprüfen Sie Ihre Verkabelung.

Schließlich können Sie die analogRead-Methode für einen digitalRead ändern, sodass Sie nur 0 oder 1 sehen können. Ich schlage vor, nach dem Setup () eine Verzögerung durchzuführen, um einen falschen LOW-Lesevorgang zu vermeiden (Bild mit einem kleinen LOW-Peak).

Empfohlen: