Hoe een Arduino te gebruiken om prachtige high-speed fotografie te schieten
Brekende wijnglazen en knallende ballonnen zijn vanzelfsprekend leuk op zich - zo rol ik. Maar in combinatie met een DSLR-camera en een Arduino, kan het ook voor een aantal interessante foto's zorgen. Dat is precies wat we vandaag gaan doen.
Project Basics
Er zijn eigenlijk twee delen aan dit project - de eerste is een geluidstrigger. Met behulp van een piëzo-zoemer als een microfoon en een Arduino kunnen we gemakkelijk harde geluiden detecteren en een actie definiëren. Het tweede deel is de camera-instelling. Omdat het direct te langzaam triggeren van de camera is, laten we de sluiter van de camera open in een donkere kamer en gebruiken we een externe flits om precies genoeg licht te geven om de foto te maken..
Als je helemaal nieuw bent in fotografie, bekijk dan mijn top 5 fotografie tips voor absolute beginners De Top 7 Fotografie Tips voor Absolute Beginners De Top 7 Fotografie Tips voor Absolute Beginners Als je een absolute beginner bent in fotografie, zijn hier een handvol van tips die als "essentieel leren" moeten worden beschouwd. Lees verder . Als dit project een beetje ingewikkeld voor je is, waarom zou je niet op tilt-shifting proberen om je foto's een model diorama-effect te geven? 5 manieren om je foto's te tilt-shift voor model-tastbare modellen 5 manieren om je foto's te kantelen -tastische mockups Lees meer in plaats daarvan.
uitrusting
- DSLR-camera met statief
- Externe flits met handmatige trigger
- Arduino
- Piëzozoemer en weerstand van 1M Ohm
- 4N35 of soortgelijke opto-coupler / opto-isolator en 220 Ohm weerstand
Schakelschema
De piëzo-zoemer moet worden aangesloten op een zwarte draad op GND en rood op A0; plaats de 1M-weerstand tussen de twee pinnen. De weerstand wordt gebruikt om een stroomafvoer voor de door de piezo geproduceerde spanning te verschaffen, waardoor de analoge ingang wordt beschermd.
We gebruiken een opto-isolator om de Arduino te beschermen tegen elke spanning die de externe flitser kan hebben. Een opto-isolator is een LED- en lichtgevoelige schakelaar in een klein pakket; draai de LED aan de ene kant en de schakelaar op de andere wordt geactiveerd. Op de 4N35 (andere modellen kunnen variëren), zou je een heel kleine cirkel in één hoek moeten zien - deze pen 1. Sluit pin 1 via de 220 ohm weerstand aan pin 12 en dan pin 2 aan GND. Het apparaat dat wordt geactiveerd, gaat op de twee pinnen in de tegenovergestelde hoek (5/6). Het einde van deze trigger-leads kan naar een echte flash-triggerkabel gaan, of ze kunnen door juryleden rechtstreeks in de socket worden geplaatst. Mogelijk hebt u Blu-Tack nodig om ze op hun plaats te houden..
Hier is het voltooide circuit aangesloten op de flitser.
Arduino-code
De code voor dit project is relatief eenvoudig. In het onderstaande bestand heb ik de seriële console-uitvoer laten staan, hoewel je dat misschien wilt verwijderen als je zeker weet dat alles werkt. Serial.begin en Serial.println lijnen wanneer je klaar bent. Voer de code uit en bekijk de uitvoer van de console terwijl u in uw handen klapt - u zou een uitvoer van de piezo-zoemer moeten krijgen. De cijfers die je hier hebt, kunnen worden gebruikt om de drempel te bepalen waarmee de flitser flitst, maar mijn piezo was helemaal niet zo gevoelig, dus ik heb hem op 1 gezet.
In de hoofdlus controleren we of de piezo-waarde boven de drempelwaarde ligt en of het meer dan een seconde is sinds de laatste keer dat we de flits activeerden. Hierdoor wordt voorkomen dat de flitser meer dan eens wordt geactiveerd. Op sommige flitsen was dit misschien niet nodig, maar omdat de mijne in staat was tot aanhoudende bursts, was hij eenvoudig meerdere keren aan het schieten zonder die check.
Let ook op de vertraging waarde voordat je de flitser activeert - je wilt hiermee spelen of volledig verwijderen, afhankelijk van wat je fotografeert. Zonder de vertraging werd de foto van een gebroken glas onmiddellijk na de botsing genomen, zonder een schokkend effect. 50 ms was een beetje te traag, dus 25ms zou ideaal moeten zijn om te zien hoe echt het is.
int ledPin = 13; int cameraPin = 12; int piezo = 0; unsigned long lastMillis = 0; byte val = 0; int drempelwaarde = 1; void setup () pinMode (ledPin, OUTPUT); pinMode (cameraPin, OUTPUT); Serial.begin (9600); void loop () val = analogRead (piezo); if (val> 0) Serial.println (val); // gebruikt om te debuggen if (val> = threshold && (millis () - lastMillis> 1000)) delay (25); // verander naar behoefte of verwijder volledig digitalWrite (ledPin, HIGH); digitalWrite (cameraPin, HIGH); lastMillis = millis (); else digitalWrite (ledPin, LOW); digitalWrite (cameraPin, LOW);
het schieten
Ten eerste heb je een donkere kamer nodig om dit te doen - hoe dichter je het kunt krijgen om zwart te worden, hoe beter. Als u vindt dat uw opnamen te wazig zijn, kan dit te wijten zijn aan te veel omgevingslicht. Het enige licht dat u voor deze opname wilt, is op het moment dat de flits wordt geactiveerd, dus plaats uw DSLR met de hand modus en stel de belichtingstijd in 4 seconden of meer. Zet je diafragma op rond F8 tot F16; Ik had een nodig ISO van 1600 om deze foto's te maken, maar je moet beide waarden aanpassen om iets te vinden dat voor je werkt voordat je verder gaat.
Je hebt de camera ook ingeschakeld handmatige focus, en schakel elk uit stabilisatie als je het hebt. Speel rond met je flash-timings - ik gebruikte 1/128 vermogen - hoger dan 1/32 en je zult zien dat de flitser te lang aanslaat, wat weer resulteert in wazige opnames. Ik ben echter zeker geen expert op het gebied van fotografie, dus het is echt alleen maar om rond te spelen om instellingen te vinden die voor jou werken.
Een eenvoudige manier om je opstelling te testen is om de lichten te doden, op de sluiterknop te klikken en dan te klappen - de opname moet goed verlicht en niet wazig zijn.
Tevreden met mijn tests, ging ik door en probeerde een ballon te laten knappen.
De code kan een beetje worden geoptimaliseerd - zelfs zonder geprogrammeerde vertraging lijkt het alsof de opname slechts 5-10 ms te traag was voor het vastleggen van het moment. Toch kwam deze er mooi uit en toont de gemarmerde ballonkleuren en een verbijsterde hond.
Dit was mijn eerste poging om dingen te verbrijzelen - zonder uitstel, de foto direct genomen op het moment van impact en niet bijzonder opwindend.
Een vertraging van 10 ms was net iets te vroeg voor deze mok.
Ik probeerde het opnieuw met de andere helft van de kop en een vertraging van 50 ms - slechts een klein beetje te laat Ik voel:
Ik gaf 50ms nog een kans met dit glas - zorg ervoor dat je dingen in een doos verbrijzelt om het opruimen gemakkelijker te maken!
Het mooie van digitale spiegelreflexcamera's is dat je een miljoen foto's kunt maken totdat je het goed hebt, hoewel je glaswerk duur zal worden. Ik zal eerlijk zijn, ik heb de hele dag tweaken en honderden oefenschoten van me klappen om de juiste instellingen te vinden, dus geef niet op als het niet meteen goed werkt.
Als je eenmaal verveeld bent van ballonnen en glazen, probeer dan te experimenteren met verschillende soorten triggers: misschien een ping-sensor op de grond die een vallend voorwerp vastlegt, of een laserlicht en een fotodiode die net boven water uitkomen en die triggeren wanneer de lichtstraal wordt verbroken. Goede opnamen maken? Laat ons in de comments weten hoe je bent aangekomen of welke problemen je tegenkwam.
Ontdek meer over: Arduino, Fotografie.