Advertentie
Wijnglazen breken en ballonnen laten knappen is natuurlijk leuk op zichzelf - dat is precies hoe ik rol. Maar gecombineerd 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.
Basisprincipes van het project
Dit project bestaat eigenlijk uit twee delen: het eerste is een geluidstrigger. Door een piëzo-zoemer als microfoon en een Arduino te gebruiken, kunnen we gemakkelijk harde geluiden detecteren en een actie definiëren. Het tweede deel is de camera-instellingen. Omdat het direct activeren van de camera te traag zou zijn, laten we de camerasluiter open in een donkere kamer en gebruiken we een externe flitser om net genoeg licht te geven om de opname te voltooien.
Als je helemaal nieuw bent in fotografie, bekijk dan mijn top 5 fotografietips voor absolute beginners 7 belangrijke fotografietips voor absolute beginnersDeze fotografietips helpen je om betere foto's te maken, of je nu een beginner bent of al wat oefening hebt. Lees verder
. Als dit project een beetje ingewikkeld voor je is, probeer het dan eens tilt-shifting om uw foto's een model diorama-effect te geven 5 manieren om uw foto's te kantelen voor model-proefmodellen Lees verder in plaats daarvan.Uitrusting
- DSLR-camera met statief
- Externe flitser met handmatige trigger
- Arduino
- Piëzo-zoemer en 1M Ohm-weerstand
- 4N35 of vergelijkbare opto-coupler / opto-isolator en 220 Ohm weerstand
Schakelschema
De piëzo-zoemer moet worden aangesloten op zwarte draad op GND en rood op A0; plaats de 1M-weerstand tussen de twee pinnen. De weerstand wordt gebruikt om een stroomafvoer te leveren voor de spanning die door de piëzo wordt geproduceerd, en beschermt de analoge ingang.
We gebruiken een opto-isolator om de Arduino te beschermen tegen elke spanning die de externe flitser zou kunnen hebben. Een opto-isolator is een LED- en lichtgevoelige schakelaar in een klein pakketje; draai de LED aan de ene kant en de schakelaar aan de andere kant wordt geactiveerd. Op de 4N35 (andere modellen kunnen variëren), zou u een heel kleine cirkel in een hoek moeten zien - deze pin 1. Sluit pin 1 via de weerstand van 220 ohm aan op pin 12 en vervolgens op pin 2 op GND. Het apparaat dat wordt geactiveerd, gaat op de twee pinnen in de tegenoverliggende hoek (5/6). Het einde van deze triggerkabels kan ofwel naar een echte flitstriggerkabel gaan, of ze gewoon rechtstreeks in de aansluiting bevestigen - misschien heb je wat 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 uitvoer van de seriële console binnengelaten, hoewel je die misschien wilt verwijderen als je zeker weet dat alles werkt - geef gewoon commentaar bij de Serial.begin en Serial.println lijnen wanneer je er klaar voor bent. Voer de code uit en bekijk de console-uitvoer terwijl u in uw handen klapt - u zou een uitvoer moeten krijgen van de piëzo-zoemer. De cijfers die je hier hebt, kunnen worden gebruikt om de drempel te bepalen waarop de flitser flitst, maar mijn piëzo was helemaal niet zo gevoelig, dus ik liet hem op 1 staan.
In de hoofdlus controleren we of de piëzo-waarde boven de drempel ligt en of het meer dan een seconde geleden is sinds we de flits voor het laatst hebben geactiveerd. Dit voorkomt dat de flitser meer dan eens wordt geactiveerd. Op sommige flitsen was dit misschien niet nodig, maar aangezien de mijne in staat was tot aanhoudende uitbarstingen, schoot het gewoon meerdere keren zonder die controle.
Let ook op de vertraging waarde voordat u de flitser activeert - u wilt hiermee spelen of deze volledig verwijderen, afhankelijk van wat u fotografeert. Zonder vertraging werd de foto van een ingeslagen glas onmiddellijk genomen bij een botsing, zonder verbrijzeling. 50 ms was iets te langzaam, dus 25 ms zou ideaal moeten zijn om daadwerkelijke verbrijzeling te zien.
int ledPin = 13; int cameraPin = 12; int piezo = 0; niet-ondertekende lang lastMillis = 0; byte val = 0; int drempel = 1; ongeldige 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> = drempel && (millis () - lastMillis> 1000)) {delay (25); // wijzig indien nodig of verwijder volledig digitalWrite (ledPin, HIGH); digitalWrite (cameraPin, HIGH); lastMillis = millis (); } anders {digitalWrite (ledPin, LOW); digitalWrite (cameraPin, LOW); } }
Schieten
Allereerst heb je een donkere kamer nodig om dit te doen - hoe dichter je het zwart kunt maken, hoe beter. Als je merkt dat je foto's te wazig zijn, kan dit komen door te veel omgevingslicht. Het enige licht dat u voor deze opname wilt, is op het moment dat de flits wordt geactiveerd, dus zet uw DSLR erin handleiding modus en stel de belichtingstijd in op 4 seconden of meer. Stel je diafragma in op ongeveer F8 tot F16; Ik had een nodig ISO van 1600 om deze foto's te maken, maar u moet beide waarden aanpassen om iets te vinden dat voor u werkt voordat u doorgaat.
Je hebt ook de camera ingeschakeld handmatige scherpstellingen schakel alle uit stabilisatie als je het hebt. Speel met je flash-timings - ik gebruikte 1/128 vermogen - hoger dan 1/32 en je zult merken dat de flitser te lang flitst, wat weer resulteert in wazige opnamen. Ik ben echter zeker geen fotografie-expert, dus het gaat eigenlijk alleen maar om spelen om instellingen te vinden die voor jou werken.
Een eenvoudige manier om uw opstelling te testen, is door de lichten te doden, op de sluiter te klikken en vervolgens te klappen - de opname moet goed verlicht en niet wazig zijn.
Tevreden met mijn tests, ging ik door en probeerde een ballon te laten knallen.
De code zou een beetje kunnen worden geoptimaliseerd - zelfs zonder geprogrammeerde vertraging lijkt het alsof de opname slechts 5-10 ms te traag was om het moment vast te leggen. 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 vertraging werd de foto direct genomen op het moment van de impact en is niet bijzonder spannend.
Een vertraging van 10 ms was slechts een klein beetje te vroeg voor deze mok.
Ik probeerde het opnieuw met de andere helft van de beker en een vertraging van 50 ms - slechts een klein beetje te laat Ik voel:
Ik heb 50 ms nog een kans gegeven met dit glas - zorg ervoor dat je dingen in een doos verbrijzelt om het opruimen gemakkelijker te maken!
Het mooie van DSLR's is dat je een miljoen foto's kunt maken totdat je het goed hebt gedaan, hoewel je glaswerk duur zal worden. Ik zal eerlijk zijn, ik heb de hele dag getweakt en honderden praktijkopnames van mij klappen om de juiste instellingen te vinden, dus geef niet op als het de eerste keer niet goed werkt.
Als je eenmaal uitgekeken bent op ballonnen en glazen, probeer dan te experimenteren met verschillende soorten triggers: misschien een ping-sensor op de grond die een vallend object vangt, of een laserlicht en fotodiode die net boven water rusten en die wordt geactiveerd wanneer de lichtstraal is gebroken. Goede foto's maken? Laat ons in de reacties weten hoe je bent gekomen of eventuele problemen die je bent tegengekomen.
James heeft een BSc in Artificial Intelligence en is CompTIA A + en Network + gecertificeerd. Hij is de hoofdontwikkelaar van MakeUseOf en brengt zijn vrije tijd door met het spelen van VR paintball en bordspellen. Hij bouwt al pc's sinds hij een kind was.