Indholdsfortegnelse:

Arduino Film Camera Shutter Checker: 4 trin
Arduino Film Camera Shutter Checker: 4 trin

Video: Arduino Film Camera Shutter Checker: 4 trin

Video: Arduino Film Camera Shutter Checker: 4 trin
Video: DIY Arduino Camera Shutter Speed Tester. HOW TO, less than $10! 2024, Juli
Anonim
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker

For nylig købte jeg to brugte gamle filmkameraer. Efter rengøring indså jeg, at lukkerhastigheden kunne blive forsinket af støv, korrosion eller oliemangel, så jeg besluttede mig for at lave noget til måling af kameraets virkelige eksponeringstid, fordi jeg med mine bare øjne ikke kan måle det Dette projekt bruger Arduino som hovedkomponent til måling af eksponeringstiden. Vi skal lave et opto-par (IR-LED og en IR-fototransistor) og læse, hvor lang tid kameraets lukker er åben. Først vil jeg forklare den hurtige måde at nå vores mål på, og til sidst vil vi se al teorien bag dette projekt.

Liste over komponenter:

  • 1 x filmkamera
  • 1 x Arduino Uno
  • 2 x 220 Ω Carbonfilmmodstand
  • 1 x IR LED
  • 1 x fototransistor
  • 2 x Små brødbrætter (eller 1 stort brødbræt, stort nok til at passe kameraet i midten)
  • Mange jumpere eller kabel

*Disse ekstra komponenter er nødvendige for forklaringsafsnittet

  • 1 x LED i normal farve
  • 1 x Midlertidig trykknap

Trin 1: Kabelføring

Kabelføring
Kabelføring
Kabelføring
Kabelføring
Kabelføring
Kabelføring

Først skal du fastgøre IR -LED'en i det ene brødbræt og IR -fototransistoren i den anden, så vi kan have dem mod hinanden. Tilslut en 220 Ω modstand til LED -anoden (det lange ben eller siden uden den flade kant) og tilslut modstanden til 5V strømforsyningen på Arduino. Tilslut også LED -katoden (kort ben eller siden med den flade kant) til en af GND -portene i Arduino.

Derefter forbindes samlertappen på fototransistoren (for mig er det korte ben, men du bør kontrollere dit transistordatablad for at være sikker på, at du tilslutter det på den rigtige måde, eller du kan ende med at sprænge transistoren) til 220 Ω modstanden og modstanden til stiften A1 på Arudino, og tilslut derefter Emitter pin på fototransistoren (det lange ben eller det uden en flad kantside). På denne måde har vi IR -LED'en altid tændt og fototransistoren indstillet som en vaskekontakt.

Når IR -lyset ankommer transistoren, vil det tillade strøm at passere fra samlestiften til emitterstiften. Vi sætter A1 -stiften til input pull up, så stiften vil altid være i en høj tilstand, medmindre transistoren synker strømmen til masse.

Trin 2: Programmering

Konfigurer dit Arduino IDE (port, bord og programmør), så det matcher den konfiguration, der er nødvendig for dit Arduino -kort.

Kopiér denne kode, kompiler og upload:

int readPin = A1; // pin, hvor er tilsluttet 330 -modstanden fra fototransistoren

int ptValue, j; // lagringspunktet for data læst fra analogRead () bool lock; // en bolean bruges til at læse tilstanden af readPin usigneret lang timer, timer2; dobbelt læst; Valg af streng [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; længe forventet [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; ugyldig opsætning () {Serial.begin (9600); // vi indstillede seriel kommunikation til 9600 bits pr. sekund pinMode (readPin, INPUT_PULLUP); // vi kommer til at sætte stiften altid højt, undtagen når fototransistoren synker, så vi havde "vendt" logikken // det betyder HIGH = intet IR -signal og LOW = IR -signal modtaget forsinkelse (200); // denne forsinkelse er for at starte systemet og undgå falske aflæsninger j = 0; // initialiserer vores tæller} void loop () {lock = digitalRead (readPin); // læse tilstanden for den givne pin og tildele den til variablen, hvis (! lock) {// kun køres, når pin er LOW timer = micros (); // indstil referencetimeren, mens (! lås) {// gør dette, mens stiften er LAV, med andre ord, lukker åben timer2 = micros (); // tag en forløbet tid sample lock = digitalRead (readPin); // læs pin -tilstanden for at vide, om lukkeren er lukket} Serial.print ("Position:"); // denne tekst er til visning af de nødvendige oplysninger Serial.print (vælg [j]); Serial.print ("|"); Serial.print ("Tid åbnet:"); læst = (timer2 - timer); // beregne, hvor lang tid lukkeren var åben Serial.print (læst); Serial.print ("os"); Serial.print ("|"); Serial.print ("Forventet:"); Serial.println (forventet [j]*1000); j ++; // øg lukkerens position, dette kan gøres med en knap}}

Når overførslen er udført, skal du åbne den serielle skærm (Værktøjer -> Seriel skærm) og forberede kameraet til aflæsninger

Resultaterne vises efter ordene "tid åbnet:", alle andre oplysninger er forudprogrammeret.

Trin 3: Opsætning og måling

Opsætning og måling
Opsætning og måling
Opsætning og måling
Opsætning og måling
Opsætning og måling
Opsætning og måling
Opsætning og måling
Opsætning og måling

Tag dine kameralinser af, og åbn filmrummet. Hvis du allerede har en film indlæst, skal du huske at afslutte den, før du udfører denne procedure, ellers ødelægger du de taget fotos.

Placer IR -LED'en og IR -fototransistoren på modsatte sider af kameraet, den ene på siden af filmen og den anden i siden, hvor linserne var. Uanset hvilken side du bruger til LED'en eller transistoren, skal du bare sørge for, at de får visuel kontakt, når der trykkes på lukkeren. For at gøre dette skal du indstille lukkeren til "1" eller "B" og kontrollere den serielle skærm, når du "tager" et foto. Hvis lukkeren fungerer godt, skal skærmen vise en aflæsning. Du kan også placere et uigennemsigtigt objekt mellem dem og flytte det for at udløse måleprogrammet.

Nulstil Arduino med nulstillingsknappen, og tag fotos én efter én ved forskellige lukkerhastigheder, der starter med "B" til "1000". Den serielle skærm udskriver oplysningerne, når lukkeren lukkes. Som et eksempel kan du se de målte tider fra et Miranda og Praktica filmkameraer på de vedhæftede billeder.

Brug disse oplysninger til at foretage rettelser, når du tager fotos eller diagnosticerer kameraets tilstand. Hvis du vil rense eller justere dit kamera, anbefaler jeg stærkt at sende dem til en eksperttekniker.

Trin 4: Nørder

Nørder
Nørder
Nørder
Nørder
Nørder
Nørder
Nørder
Nørder

Transistorer er grundlaget for al den elektroniske teknologi, vi ser i dag, de blev først patenteret omkring 1925 af en østrig-ungarsk-født tysk-amerikansk fysiker. De blev beskrevet som en enhed til styring af strøm. Før dem var vi nødt til at bruge vakuumrør til at udføre de operationer, transistorer gør i dag (fjernsyn, forstærkere, computere).

En transistor har evnen til at styre strømmen, der strømmer fra kollektoren til emitteren, og vi kan styre denne strøm i de fælles transistorer med 3 ben, der påfører strøm på transistorporten. I de fleste transistorer forstærkes portstrømmen, så hvis vi f.eks. Anvender 1 mA på porten, får vi 120 mA fra emitteren. Vi kan forestille os det som en vandhaneventil.

Fototransistoren er en normal transistor, men i stedet for at have et portben er porten forbundet med et fotofornemmeligt materiale. Dette materiale kilder til en lille strøm, når det exciteres af fotoner, i vores tilfælde IR -bølgelængdefotoner. Så vi styrer en fototransistor, der ændrer IR -lyskildens effekt.

Der er nogle specifikationer, vi bør tage højde for, før vi køber og tilslutter vores elementer. Vedhæftet er information hentet fra transistoren og LED -datablade. Først skal vi kontrollere transistorens nedbrydningsspænding, som er den maksimale spænding, den kan håndtere, for eksempel er min nedbrydningsspænding fra emitter til kollektor 5V, så hvis jeg kører den forkert ved at købe 8V, steger jeg transistoren. Kontroller også for strømafbrydelsen, det betyder, hvor meget strøm der kan levere transistoren, før den dør. Min siger 150mW. Ved 5V betyder 150mW sourcing 30 mA (Watt = V * I). Derfor besluttede jeg at bruge en begrænsermodstand på 220 Ω, fordi en 220 Ω modstand ved 5V kun tillader en maksimal strøm på 23 mA. (Ohms lov: V = I * R). Samme sag gælder for LED'en, databladets info siger, at dens maksimale strøm er omkring 50mA, så en anden 220 Ω modstand vil være ok, fordi vores Arduino pin max udgangsstrøm er 40 mA, og vi ønsker ikke at brænde stifterne.

Vi skal koble vores setup som det på billedet. Hvis du bruger knapper som min, skal du sørge for at placere de to runde fremspring i midten af brættet. Upload derefter følgende kode til Arduino.

int readPin = A1; // pin, hvor er forbundet 220modstanden fra fototransistorint ptValue, j; // lagringspunktet for data læst fra analogRead () void setup () {Serial.begin (9600); } void loop () {ptValue = analogRead (readPin); // vi læser spændingsværdien på readPin (A1) Serial.println (ptValue); // på denne måde sender vi de læste data til den serielle skærm, så vi kan kontrollere, hvad der sker forsinkelse (35); // bare en forsinkelse for at gøre screenshots lettere}

Efter upload skal du åbne din serielle plotter (Værktøjer -> Seriel plotter) og se, hvad der sker, når du trykker på din IR LED -switch -knap. Hvis du vil kontrollere, om IR -LED'en fungerer (også fjernsynskontroller), skal du blot sætte dit mobiltelefonkamera foran LED'en og tage et foto. Hvis det er ok, vil du se et blå-lilla lys komme fra LED'en.

I serieplotteren kan du differentiere, når LED'en er tændt og slukket, hvis ikke, kan du kontrollere dine ledninger.

Endelig kan du ændre analogRead -metoden for en digitalRead, så du kun kan se 0 eller 1. Jeg foreslår at gøre en forsinkelse efter opsætningen () for at undgå en falsk LAV aflæsning, (billede med en lille LAV top).

Anbefalede: