Friday, November 24, 2017

Assembly


This last week I built a box to house all of the electronics and mounted it on a tripod. The box is made out of plywood and balsa wood. It holds the Arduino, motor, and H-bridge. I drilled a hole in the bottom and glued in a 1/4 inch nut so that a tripod mount can be attached to the box. I also got a power supply and finished all of the wiring.

This is my initial attempt to get the projection working with the spinning blade. 




The main problem right now is that the LEDs are so bright that the color is getting lost and they only appear as white on the webcam feed. I've tried reducing the color intensity but that doesn't seem to help a significant amount. Currently my plan is to try and use a DSLR camera as a webcam so that I can get more control over the video feed. If that doesn't work my plan is to put something over the blade to diffuse the light.  



Thursday, November 9, 2017

Initial Testing




I got a new piece 3D printed that attaches the motor, blade, and slip ring all together. My friend Nathan Ayres, did the modeling and printing for me! It turned out great!



I got everything wired and tested out. The slip ring works really well and allows for the power and data to get to the LED strip. The only problem currently is that the LED sometimes blinks randomly when the motor is powered on. I'm still looking into why this is.





Up next I need to synchronize the image by making the blade spin at the same rate as the data is being received. I also need to get the projection and long exposure capture working. And lastly I want to fabricate a box to put the arduino, and motor inside to make the project look cleaner and be more portable.

Thursday, November 2, 2017

More Parts

Motor Power Supply:  5.1V DC 2.5A


This AC to DC adapter is to run the stepper motor which needs a 2+ Amps to turn with enough strength to rotate the display.

This piece allows for wires to rotate on a motor. This should help me power and send data to the LEDs on the rotating bar. I'm not exactly sure how the slip ring is going to be mounted on the display and will need to do some experimentation to figure that out.  






Thursday, October 26, 2017

Build Phase 1


I've gotten some equipment these last few weeks. The main parts I've gotten are the aluminum rod (.5 inch by 48 inch), Dotstar Leds (1 meter, 144 Leds), and a 3D printed clamp that can be attached to the motor.

Initial test of dotstar leds to see how they work. Running solely from arduino.

This is a video of my first test sending data from Unity to Arduino and then displaying that on the led strip. I've been having some trouble with the serial communication failing after a few lines get sent and I'm still looking into why this is happening. 

Next up is to get the motor running with the blade attached and the Leds on it. I've order a slip ring so that I can send power and data to the rotating led strip. 

Thursday, October 12, 2017

Calendar Schedule


Here is a rough schedule for the project. I've got 7 weeks to get it done. But for two of them I am going to be out of town going to conferences. On those weeks I play to focus on developing the visuals in Unity, that way I can still get things done without having to have the physical display. 



Tuesday, October 10, 2017

Art Work

I've been thinking about what I want this piece to be about. The main thing I want to build is a layered persistence of vision display that gets input from Unity in realtime. My hope is that this will create a compelling holographic effect. While programming and designing the display I've been thinking a lot about representations and data. For example, when I was working on the display simulator It took me awhile to get the right algorithm for displaying. All of the correct data was there but the form it took on no longer resembled the original image. 



This got me thinking about different art works that deal with representation. Two examples I thought of are One and Three Chairs by Joseph Kosuth, and The Treachery of Images by Rene Magritte. One and Three Chairs is a piece which has a Chair, a Photo of chair, and a description of a chair all next to each other. The piece brings up the question which chair is the most accurate representation. Rene's piece is of the Pipe with the statement that it is not a pipe.



Rotating Display Simulation


While I'm debating on what hardware to buy I decided to do a simulation of the rotating display in Unity. The above gif shows how it's working so far. It took me awhile to get the math right to correctly sample the camera feed. I had to take a center point and then do some trig. based on the current rotation of the display. This example is using 72 pixels with 3 displays rotating simultaneously. I'm pretty happy with how it is looking in Unity and want to get a physical display going!
I've also been testing how fast I can send data between Unity and the Arduino. My current plan is to send Colors in Hexadecimal format and include an integer to determine what pixel it is for.

Tuesday, October 3, 2017

Unity Scene


Started working on the Unity scene. I'm rendering a 3d cube into a lower resolution 2d image that can be easily and quickly be sent to my spinning display over wifi. I've also split the render onto multiple depth layers because I am planning to have multiple displays. I had this idea over the weekend of creating a hologram display by using multiple rotating displays in series. Because the display is mostly transparent when rotating I believe it'll be possible to layer them to give an interesting depth illusion. 

This image shows, On the Left, the 3D cube being filmed by multiple cameras on different layers. And on the right, the camera layers are displayed on multiple 2D layers.

Wifi Communication

For this project I'd like to setup the display so that it is getting images sent to it from the computer instead, of having images stored on the Arduino. For this I am planning on using Wifi to do UDP string communication. My plan is to have Unity (Game Engine) do all of the graphics and convert those images into small enough packets of information that the can be sent to Arduino using UDP packets.

A UDP packet has a maximun limit of 65,000 bytes. Which should be more that enough to encode a simple image onto.

Unity Scripts for Sending and Receiving UDP

Arduino code for sending and receiving UDP

Sunday, September 24, 2017

Hardware

Part List for Display


This project closely resembles what I would like to create as far as the display goes. However, the images that are displayed are stored on the microcontroller in this example. This tutorial is helpful in showing how to convert an image file into an Led Display. 

Instead of using the Trinket as the tutorial did. I am thinking of using this board. It has the ability to host and connect to Wifi. I am thinking about creating a website that can have images and gifs uploaded to it and the board will read the images from the site and display those. This will allow the visuals to be affected in realtime from the computer.


uxcell DC 24V 1000RPM Micro
This motor seems like it will be fast and strong enough to create a fairly stable display. It has 1000 RPM which is about 20 RPS, which should make a good display if FPS and RPS are similar metrics. My main concern is how much weight the motor will be able to handle and how big of a display I'll be able to make with it.




Pololu Universal Aluminum Mounting Hub for 1/4″ Shaft
This component allows wheels to be connected to 1/4" drive shafts.

ThingVerse universal mounting
This piece allows for the mounting hub to be connected to a custom 3d printed object. I can modify the file slightly to have four hole inserts so that I can attach arms to the mount.

Similar Smaller scale project
had a motor with 550 rpm and said display was good.


Wednesday, September 20, 2017

Referenced Work

These are some projects and tutorials that I thought were interesting. I really like the bike wheel display using four Led strips.

References:













Idea 1:
Make a guitar effect pedal that takes an Aux input and outputs visuals. Either to a screen or to a custom LED display.


Milestone 1:
Complete construction of effects pedal and have the audio being effected and outputted.


Milestone 2:
Build custom LED display and create visualizations with Max Msp


Idea 2:


Led strip playing video animations, rotating on a pole that spins it fast enough to look like an image.