Strobe Generator
Introduction: Strobe Generator
A strobe (stroboscopic light), is a device used to produce repeated light flashes.
These flashes can be set to different durations and colours.
Rather than using a xenon flash tube the light will be produced using Neopixels and these will be controlled by a Circuit Playground Bluefruit (CPB).
A strobe can be used to give moving objects the appearance of being stationary if initiation of the light pulse is synchronised to the rate of movement of the object.
It can also be used in photography to freeze moments of time of fast moving objects or to capture progressine movement combined with a long exposure.
In this project we will be using a long exposure combined with variable movement and a constant strobe frequency. Therefore the rate of movement will be visible as variations in the spacing between successive flashes recorded in the picture.
In addition random colours will also be generated on the fly for added effect.
A video is included to show the changing colours minus the trails which are evident on the long exposure.
Warning!
Be aware that some people are susceptible to Photosensitive epilepsy with light pulsed from 19 - 26Hz (53 - 38mS)
The conditions may vary by individual therefore, to reduce the likelyhood of an episode it is recommened not to stare at the light or to shine it directly at an individual in close proximity for prolonged periods.
However, if you or anyone who will be exposed to this project are sensitive to stroboscopic effects avoid such experiments.
Supplies
Circuit Playground Bluefruit (CPB) or (Express and/or Classic).
Battery LiPo 3.7V/500mA
Lipo Charger
MakeCode Maker
Optional case requirements.
3D Printer
PETG translucent or clear filament
M2.5/25mm bolts with nuts - Qty 4
Step 1: Design
In its most basic form all we have to do with the Neopixels is switch them on and off rapidly.
This is accomplished by initiating a forever loop in which we switch the Neopixels on then apply a pause for a number of milliseconds and apply a clear to switch them off.
This will create the strobe effect.
The time period of the pause could be fixed but for flexibility it is made variable.
Strobe duration being controlled by the button A to select the value.
Values 0 to 90mS.
Pressing button B will light a single red LED on the Neopixel ring at positions 0 to 9.
Each press moving the appropriate colour around the ring to indicate the value.
Pressing button A applies the value to give the required strobe rate, whilst re-pressing this again will stop the strobe and display the previous value.
Values being 0, 10mS, 20mS, 30mS, (40mS, 50mS)*, 60mS, 70mS, 80mS, 90mS.
*Within the range for Photosensitive epilepsy were this or other durations could be disabled within the software as required.
This equates to frequencies of 11.1Hz to 250Hz
Step 2: Software
The application is created with MakeCode Maker.
Button A is used to select the pulse duration, this is indicated by illumination in red of one of the Neopixels from 0 to 9
With 0 being 0mS* and 9 being 90mS.
*However, in reality the minimum time for pause if set to zero is 4mS.
Button B initiates the strobe on time for the selected pulse duration with a fixed off time due to the loop delay of 20mS.
When the strobe is initiated all the Neopixels will flash.
Simple modifications in the code (which are already included), can be made to vary the lighting effect from a single colour to multiple random colours.
For diagnostic purposes when the strobe is disabled the on and off times can be verified with an oscilloscope attached to the A1 pin.
The A1 output is disabled when the strobe is enabled.
Upload of the UF2 file format is not support hence the python equivalent as a text file is attached instead.
Step 3: Hardware
The CPB (Circuit Playground Bluefruit), was housed in a 3D printed PETG case.
A translucent case containing the CPB and the battery.
Four bolts which pass through both halves of the body are used to clamp everything together.
This was designed using BlocksCAD.
However, it would work equally well without it, if the battery is supported in the palm of the hand although a case helps to keep everything together.
Step 4: Diagnostic Output
Oscilloscope images at the A1 reference output for different pulse durations (4, 10, 20 & 90)mS and the loop delay time. 134