The projective objective is to improve the user experience for experienced and new photographers by providing automation to the camera during the long exposure shoot.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
This project aims to improve the consistency of the results obtained from long exposure photography and present new ways to take slow exposure photos by automating the movements of the focus and zoom lens during the shoot. With the pre-sets available in the project, photographers will be able to control the type of resulting images that they can get.
This project was designed and implemented to produce a system capable in conducting a long exposure shoot with unique sequences to get the optimal long-exposure image results. Through the integration of hardware and software, high precision, and consistency of the DSLR lens rotation could be achieved. This unfolds an endless possibility for both experienced and aspiring photographers in long exposure photography.
From the confident results gathered during testing, this project can produce a consistent and repeatable long exposure image. Paired with the various patterns extended with the custom pattern that user can input, various beautiful long exposed images can be taken.
| Name | Quantity | Description |
|---|---|---|
| Arduino Nano | 1 | Small ATmega328 microcontroller |
| TMC2208 Stepper Driver | 2 | Ultra-quiet two-phase stepper motor drive chip, to drive the stepper motors |
| NEMA 17 Stepper Motor | 2 | High torque motors to provide precision movements of the lens |
| Buzzer | 1 | Sound indicator for users to know before and after a certain sequence is executed |
| 1.8’ TFT Display | 1 | Menu selector to control the lens |
| Optocoupler P627 | 1 | Isolates the circuit from the camera shutter. Prevents damaging the circuit by high current when the camera shutter is triggered. |
| 2.5mm Jack | 1 | Connector for DSLR Camera’s shutter |
| 5 Pin Joystick | 1 | Menu movements to select the different options in the menu |
| 220 Ω Resistor | 5 | Limit the current to the TFT display |
| 1k Ω Resistor | 1 | Limit the current to the Optocoupler |
| 100 µF Capacitor | 1 | Prevents accidental damage to the drivers in case of current surge |
| 11.1V Lipo Battery | 1 | Power supply for the entire hardware |
| DSLR Camera | 1 | For capturing the long exposure images |
| Arca-Type compatible DSLR rail | 1 | Motors can be mounted along the rail |
| 0.8 Mod Gear Rings | 2 | Rings attached to the focus & zoom lens |
| KW12-3 Limit Switch | 4 | [Optional] For further control to the lens |
The first thing that you will have to do is to create the same setup. The same setup, can be done using the circuit diagram found in the folder. All the hardware required were mentioned above.
If creating the board is to tedious, you can always print a PCB for easier replica of the project. The details of the PCB can be found at PCB Designs.
The only software requirement is the Arduino IDE to flash the program to the Arduino.
All the libraries used can be downloaded using the IDE or downloaded manually and dropped to the library folder. Only the AccelStepper library required to be downloaded while the rest of the library should be pre-installed in the Arduino IDE.
- Build the prototype first
- Clone the repo
git clone https://github.com/SeaBoiii/FYP.git
- Install required Arduino libraries
arduino install AccelStepper
- Upload Motor_ICM.ino to the Arduino Microcontroller
upload Motor_ICM.ino
The menu of the prototype is very intuitive and navigation can be done smoothly. After attaching the device to your lens, the 1st thing that you would want to do is calibration. This allows the motors to remember the marked locations to prevent any damages to the lens. Explore the various menus and patterns available by default to generate interesting long exposure images.
If the installed patterns are not to your liking, feel free to edit the code and change it or even use the inbuilt custom patterns to build your own custom patterns. Here are more examples of what this device is capable of.
Using both the movements of the focus and the zoom lens, this shot was taken at the Old Supreme Court building in Singapore.
Again, both the focus and zoom lens were used to create a circular motion effect of lights.
Only the zoom lens were moved here to create a tunnel vision look.
For more examples, please refer to the Documentation
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Project Link: https://github.com/SeaBoiii/FYP
- A/P Chia - My FYP mentor, someone who helped me throughout the whole project
- Auntie @ SimLim Tower - For providing any extra hardware required for my own testings
