Innehållsförteckning:

Arduino Film Camera Shutter Checker: 4 steg
Arduino Film Camera Shutter Checker: 4 steg

Video: Arduino Film Camera Shutter Checker: 4 steg

Video: Arduino Film Camera Shutter Checker: 4 steg
Video: Shutter Speed Detector with Arduino 2024, Juli
Anonim
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker
Arduino Film Camera Shutter Checker

Nyligen köpte jag två begagnade gamla filmkameror. Efter att ha rengjort dem insåg jag att slutartiden kan vara försenad av damm, korrosion eller oljebrist, så jag bestämde mig för att göra något för att mäta den verkliga exponeringstiden för vilken kamera som helst, eftersom jag med mina blotta ögon inte kan mäta den Detta projekt använder Arduino som huvudkomponent för att mäta exponeringstiden. Vi ska göra ett optopar (IR-LED och en IR-fototransistor) och läsa hur lång tid kamerans slutare är öppen. Först kommer jag att förklara det snabba sättet att uppnå vårt mål och i slutet kommer vi att se all teori bakom detta projekt.

Lista över komponenter:

  • 1 x filmkamera
  • 1 x Arduino Uno
  • 2 x 220 Ω Kolfilmsmotstånd
  • 1 x IR -LED
  • 1 x fototransistor
  • 2 x små brödbrädor (eller 1 stora brödbräda, tillräckligt stora för att passa kameran i mitten)
  • Många hoppare eller kabel

*Dessa extra komponenter behövs för förklaringsdelen

  • 1 x LED med normal färg
  • 1 x tillfällig tryckknapp

Steg 1: Kabeldragning

Kabelsaker
Kabelsaker
Kabelsaker
Kabelsaker
Kabelsaker
Kabelsaker

Fäst först IR -lysdioden i ena brödbrädan och IR -fototransistorn i den andra så att vi kan ha dem mot varandra. Anslut ett 220 Ω motstånd till LED -anoden (det långa benet eller sidan utan platt kant) och anslut motståndet till 5V strömförsörjning på Arduino. Anslut även LED -katoden (kort ben eller sidan med den plana kanten) till en av GND -portarna i Arduino.

Dra sedan kollektorstiftet på fototransistorn (för mig är det korta benet, men du bör kontrollera din transistors datablad för att vara säker på att du kopplar den på rätt sätt eller att du kan sluta spränga transistorn) till 220 Ω motståndet och motståndet till stiftet A1 på Arudino, anslut sedan sändarstiftet på fototransistorn (det långa benet eller det utan platt kant). På så sätt har vi IR -lysdioden alltid på och fototransistorn är inställd som en diskbänk.

När IR -lampan anländer transistorn kommer den att tillåta ström att passera från kollektorstiftet till emitterstiftet. Vi kommer att ställa in A1 -stiftet för ingångsdragning, så stiftet kommer alltid att vara i högt tillstånd om inte transistorn sänker strömmen till massa.

Steg 2: Programmering

Ställ in din Arduino IDE (port, kort och programmerare) för att matcha den konfiguration som behövs för ditt Arduino -kort.

Kopiera den här koden, kompilera och ladda upp:

int readPin = A1; // stift där är ansluten 330 -motståndet från fototransistorn

int ptValue, j; // lagringspunkten för data läst från analogRead () bool lock; // en bolean som används för att läsa tillståndet för readPin osignerad lång timer, timer2; dubbelläst; Strängval [12] = {"B", "1", "2", "4", "8", "15", "30", "60", "125", "250", "500", "1000"}; lång väntat [12] = {0, 1000, 500, 250, 125, 67, 33, 17, 8, 4, 2, 1}; void setup () {Serial.begin (9600); // vi ställde in seriell kommunikation till 9600 bitar per sekund pinMode (readPin, INPUT_PULLUP); // vi ska ställa in stiftet alltid högt förutom när fototransistorn sjunker, så vi hade "vänt" logiken // det betyder HÖG = ingen IR -signal och LÅG = IR -signal mottagen fördröjning (200); // denna fördröjning är för att starta systemet och undvika falska avläsningar j = 0; // initialisera vår räknare} void loop () {lock = digitalRead (readPin); // läser tillståndet för den angivna stiftet och tilldelar variabeln om (! lock) {// kör endast när stiftet är LÅG timer = micros (); // ställ in referensuret medan (! lås) {// gör detta medan stiftet är LÅGT, med andra ord, slutartid timer2 = micros (); // ta ett förflutet tidsprovlås = digitalRead (readPin); // läs stiftläget för att veta om slutaren har stängt} Serial.print ("Position:"); // den här texten är för att visa den önskade informationen Serial.print (välj [j]); Serial.print ("|"); Serial.print ("Öppnad tid:"); läst = (timer2 - timer); // beräkna hur lång tid som slutaren öppnade Serial.print (läst); Serial.print ("oss"); Serial.print ("|"); Serial.print ("Förväntat:"); Serial.println (förväntat [j]*1000); j ++; // öka slutaren, detta kan göras med en knapp}}

När överföringen är klar öppnar du den seriella bildskärmen (Verktyg -> Seriell bildskärm) och förbereder kameran för avläsningar

Resultaten visas efter "öppnad tid:" ord, all annan information är förprogrammerad.

Steg 3: Installera och mäta

Uppställning och mätning
Uppställning och mätning
Uppställning och mätning
Uppställning och mätning
Uppställning och mätning
Uppställning och mätning
Uppställning och mätning
Uppställning och mätning

Ta av dina kameralinser och öppna filmfacket. Om du redan har laddat en film, kom ihåg att avsluta den innan du utför den här proceduren, annars skadar du de tagna fotona.

Placera IR -lysdioden och IR -fototransistorn på motsatta sidor av kameran, en på filmens sida och den andra på sidan var objektivet. Oavsett vilken sida du använder för lysdioden eller transistorn, se bara till att de får visuell kontakt när slutaren trycks ned. För att göra detta, ställ in slutaren på "1" eller "B" och kontrollera den seriella bildskärmen när du "tar" ett foto. Om slutaren fungerar bra ska skärmen visa en avläsning. Du kan också placera ett ogenomskinligt objekt mellan dem och flytta det för att utlösa mätprogrammet.

Återställ Arduino med återställningsknappen och ta foton en efter en med olika slutartider som börjar med "B" till "1000". Den seriella bildskärmen kommer att skriva ut informationen när slutaren stängs. Som ett exempel kan du se tiderna uppmätta från en Miranda och Praktica filmkameror på de bifogade bilderna.

Använd denna information för att göra korrigeringar när du tar foton eller diagnostiserar kamerans tillstånd. Om du vill rengöra eller ställa in din kamera rekommenderar jag starkt att du skickar dem till en experttekniker.

Steg 4: Nördar

Nördar
Nördar
Nördar
Nördar
Nördar
Nördar
Nördar
Nördar

Transistorer är basen för all elektronisk teknik vi ser idag, de patenterades först omkring 1925 av en österrikisk-ungerska-född tysk-amerikansk fysiker. De beskrevs som en anordning för att styra ström. Innan dem var vi tvungna att använda vakuumrör för att utföra operationerna som transistorer gör idag (tv, förstärkare, datorer).

En transistor har förmågan att styra strömmen som strömmar från kollektorn till sändaren och vi kan styra den strömmen, i de vanliga transistorerna med 3 ben, som applicerar ström på transistorporten. I de flesta transistorer förstärks grindströmmen, så till exempel om vi applicerar 1 mA på porten får vi 120 mA som strömmar från sändaren. Vi kan tänka oss det som en vattenkran.

Fototransistorn är en normal transistor men istället för att ha ett grindben är porten ansluten till ett fotokänsligt material. Detta material ger en liten ström när det exciteras av fotoner, i vårt fall, IR -våglängdsfotoner. Så vi styr en fototransistor som ändrar IR -ljuskällans effekt.

Det finns några specifikationer som vi bör ta hänsyn till innan vi köper och kopplar våra element. Bifogad information hämtas från transistorn och LED -datablad. Först måste vi kontrollera transistorns nedbrytningsspänning som är den maximala spänningen den kan hantera, till exempel min nedbrytningsspänning från sändare till kollektor är 5V, så om jag kopplar den fel med 8V, steker jag transistorn. Kontrollera också om det finns effektförlust, det betyder hur mycket ström som kan leverera transistorn innan den dör. Min säger 150mW. Vid 5V betyder 150mW att få 30 mA (Watt = V * I). Det är därför jag bestämde mig för att använda ett begränsningsmotstånd på 220 Ω, för vid 5V tillåter ett 220 Ω motstånd endast att passera en maxström på 23 mA. (Ohms lag: V = I * R). Samma fall gäller lysdioden, informationen i databladet säger att dess maximala ström är cirka 50mA, så ett annat 220 Ω motstånd kommer att vara ok, eftersom vår Arduino pin max utström är 40 mA och vi vill inte bränna stiften.

Vi måste koppla vår installation som den på bilden. Om du använder knappar som min, var noga med att placera de två runda utbuktningarna i mitten av brädet. Ladda sedan upp följande kod till Arduino.

int readPin = A1; // stift var är ansluten 220resistorn från fototransistorint ptValue, j; // lagringspunkten för data läst från analogRead () void setup () {Serial.begin (9600); } void loop () {ptValue = analogRead (readPin); // vi läser spänningsvärdet på readPin (A1) Serial.println (ptValue); // på så sätt skickar vi inlästa data till den seriella bildskärmen, så att vi kan kontrollera vad som händer fördröjning (35); // bara en fördröjning för att göra skärmdumpar enklare}

När du har laddat upp, öppnar du seriell plotter (Verktyg -> Seriell plotter) och ser vad som händer när du trycker på din IR LED -omkopplare. Om du vill kontrollera om IR -lysdioden fungerar (även tv -fjärrkontroller), sätt bara din mobiltelefonkamera framför lysdioden och ta ett foto. Om det är ok ser du ett blå-ljust ljus från lysdioden.

I seriell plotter kan du skilja när lysdioden är på och av, om inte, kontrollera din ledning.

Slutligen kan du ändra analogRead -metoden för en digitalRead, så att du bara kan se 0 eller 1. Jag föreslår att du gör en fördröjning efter installationen () för att undvika en falsk LÅG avläsning, (bild med en liten LÅG topp).

Rekommenderad: