Taking great pictures means making them more vibrant enhancing saturation and contrast. Ynformatic has published some tips to help you do that by creating a DIY device to control a polarizer using an Arduino Pro Mini, an iPhone, and a screen from an auto-darkening welder’s mask.
A phototransistor located facing the iPhone’s flashlight LED is connected to both an external interrupt pin and an analog pin. Short pulses on the LED cause interrupts in the Arduino code which are used to synchronize the polarizer. Long pulses on the LED cause the Arduino to enter calibration mode. The time interval between syncrhonization pulses is continuously measured and divided into three equal parts. On receiving a synchronization pulse the voltage is set to 0V for one part, to the 45 degree voltage for one part and finally to 5V for one part. Voltage for the polarizer is supplied from an Arduino PWM output pin. To get a reasonably stable output the PWM frequency was increased to 32 kHz and smoothed with a second order RC filter. The liquid crystal display will be damaged by a constant DC voltage so a CMOS switch is used to alternate the polarity. A 2 kHz square wave generated from a free running Arduino timer is used to drive the switching.
An iPhone app written in Swift is responsible for the user interface and image processing.
Explore the schematic in the picture below, while the full source code for the Arduino and iPhone can be downloaded from here.