Circle of Light is an automated photograph framework where the users can easily create their own light-painted photo by uploading pictures / text they want to be shown on the light painting machine and share them on their favorite social networks. This project is inspired by a project called Rainbow Machine.
The framework consists of an LPD8806 64-LED strip that is hooked on a wooden stick which will be rotated by a servo motor controlled by Arduino. A computer acts as a web app server for users to send images / text from their own machines (mobile phones or PCs). The server also converts the assets sent by the users, send the data to the Arduino for display, and trigger the camera capture.
The following are the setup that we used for our framework:
-
Softwares
- Web server code (Python)
- Web app (HTML/Javascript)
- Arduino code (C/C++)
-
Hardwares
- DSLR Camera (Nikon D300)
- Servo Motor (HerkuleX DRS-0201)
- LPD8806 LED strip (64 leds)
- Web server
- Arduino
- Linux or OSX (for gPhoto2)
- Arduino and its libraries
- Python 2 and its libraries
- Requests (for http requests)
- PySerial (for serial communication)
- OpenCV 2 (for image processing)
- NumPy (complements OpenCV 2)
- Pillow (for drawing text)
- gPhoto2 (for automated camera capture)
For Fedora Linux, install the Arduino, Python packages and gPhoto2 by typing this command:
yum install arduino pyserial python-requests python-pillow opencv-python numpy gphoto2
For Arch Linux:
pacman -S python2-{pyserial,requests,pillow,numpy} opencv
Guides for other Linux distros and OSX will come soon.
Download the assets here as we only put code on Github.
Using terminal, type python src/main.py -a True
in the folder. If you just want to look
at the web app, type python src/main.py
.