I made this star map last year for my wife, and everyone who sees it wants to know how it was made.
Be warned, to build something like this is a *big* project. You should expect to know:
* Basic woodworking skills
* How to handle a soldering iron
* How to design LED-based circuits
* How to safely deal with AC voltages
And above all, you'll need plenty of spare time.
This star map is a little over 2m wide, and 1.2m tall. It weighs 12-15kg, has somewhere between 1500-2000 optical fiber stars, and 108 LED stars.
You could quite easily use some of the techniques in here to make a small version, and it would still look really nice. This instructable then, can be used as a general reference for building star maps, not just how to replicate mine exactly. There is some additional info for small maps in the Addenda section.
Remove these ads by
Signing UpStep 1: Materials - Optical Fibers
You can buy optical fiber by the reel, but there are better and cheaper ways to get it*: For large star maps; a fake Christmas tree works very well! This time of year, it's not hard to find one cheaply.
For smaller star maps; the retro-tastic 'UFO Lamps' are a great source of fibers, and are pretty easy to find in dollar stores.
Both of these sources are great! They are cheap, and they terminate all the fibers into one place, so it is easy to light the stars.
Just consider:
* The more stars you have, the better it will look. Try to find a tree or lamp with plenty of 'points'.
* The size of the tree/lamp will determine how large your map can be. For example, if you have a 120cm / 4ft tree, you can build a map about 2m / 6.5ft wide. (Of course, the exact shape of the tree and your frame will affect the maximum. Get your measurements right before you buy/cut anything expensive. ;-) )
[*] Some fiber-by-the-reel is sold here. The 0.5mm fiber is probably the closest to what is found in trees/lamps, and costs 8c/ft, or 2c/ft if you buy 19,680ft worth. A $5 UFO lamp might have 400 x 1ft strands, already cut and terminated - at 1.25c/ft.













































![400px-Fiber-optic_Christmas_tree[1].jpg](/files/deriv/FHT/NXWH/GI0TMDG3/FHTNXWHGI0TMDG3.LARGE.jpg)

















Visit Our Store »
Go Pro Today »




At some stage I might sell kits for smaller star maps, if people were interested.
What I'd suggest though, is to make it out of lots of small pieces and tile them together. That way each part is relatively easy to build and move around.
You would also need a frame on the ceiling to hold them, I'd recommend magnets, and connectors for power.
The only thing I'd be concerned about is whether the canvas on its own would be stiff/sturdy enough to support the fibres. I suggest you get some foam-core or cardboard, and fit it behind the canvas. That way the fibres go through *both* layers.
http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&field-keywords=fiber-optic
Oh, and great instructable! I'm now almost done with my monster. 40"x60" with about 5200 stars. I only did the major constellations accurately (with 1mm fibers), then a few spaced out .75mm for accent stars, and then several thousand .25mm stars. The couple major stars in the sky are 2mm as well. I might make another instructable that adds onto this with my personal tips and experiences.
Thank you so much for the ideas and inspiration.
(Glueing after putting fibres in is difficult, that's why I glued as I went)
Definitely test the foam before you put it near your hard work! The cyanoacrylate in superglue ruins fibres, I'm sure some of the components in that stuff would have a similar effect.
Rated!!
congrats!!
Please post a photo of it, if you're able.
Well done!
One could alternatively:
a) Have all stars the same size.
b) Collate the fibers yourself, and use some different sizes of fiber.
OR
c) Clump several fibers into one hole for larger stars.
No idea where you are, so that's the best I can do. :-D
I ended up making a cluster of white LED's and added one blue LED to the mix. This gave mostly white with a splat of blue which was quite nice.
Also, with the Arduino running 6 PWM outputs I had to change the random number from 255 to 40 as the fading effect took too long!
We sit there at the moment watching the "stars" looking at which ones will fade out first, it is mesmerizing to watch.
Thank you for building yours which in turn made me build mine.
If you took enough photos, I think you should do a writeup on Instructables, I'd certainly be interested to see how you built it.
I will see if I can detail the electronic side as an option for you and I may even post as my first i'ble :-)
Anyway, mine would still sit in the shadow of yours :-)
My first one is published http://www.instructables.com/id/Arduino-Star-Map/
Thank you :-)
The advantage is if you poke a fibre through and you hit the "paitent pending raising device" it doesn't damage them !
For the big star map I raised it with a small coffee table on either side. For the small star map, I printed the map area onto a larger piece of cardboard, and folded the left and right sides down to make legs.
I need to think of something cool to call it so I can market it :-)
I have just fitted the ally frame and the new fibre cable should be here soon for the larger stars. I was hoping to get the Arduino fitted this week but I am off for a couple of days :-(
Work keeps getting in the way!
Big thanks to meawert and qazwsx755 for the initial code and assistance.
The whole thing ROCKS!
int three = 3;
int five = 5;
int six = 6;
int nine = 9;
int ten = 10;
int eleven = 11;
int flickerONE = 7;
int flickerTWO = 8;
int threeNow;
int fiveNow;
int sixNow;
int nineNow;
int tenNow;
int elevenNow;
int threeNew;
int fiveNew;
int sixNew;
int nineNew;
int tenNew;
int elevenNew;
int flickertONE;
int flickertTWO;
void setup ()
{
pinMode (three, OUTPUT);
pinMode (five, OUTPUT);
pinMode (six, OUTPUT);
pinMode (nine, OUTPUT);
pinMode (ten, OUTPUT);
pinMode (eleven, OUTPUT);
pinMode (flickerONE, OUTPUT);
pinMode (flickerTWO, OUTPUT);
threeNow = random(255);
fiveNow = random(255);
sixNow = random(255);
nineNow = random(255);
tenNow = random(255);
elevenNow = random(255);
threeNew = threeNow;
fiveNew = fiveNow;
sixNew = sixNow;
nineNew = nineNow;
tenNew = tenNow;
elevenNew = elevenNow;
}
#define fade(x,y) if (x>y) x--; else if (x
void loop()
{
analogWrite(three, threeNow);
analogWrite(five, fiveNow);
analogWrite(six, sixNow);
analogWrite(nine, nineNow);
analogWrite(ten, tenNow);
analogWrite(eleven, elevenNow);
threeNew = random(255);
fiveNew = random(255);
sixNew = random(255);
nineNew = random(255);
tenNew = random(255);
elevenNew = random(255);
while ((threeNow != threeNew) ||
(fiveNow != fiveNew) ||
(sixNow != sixNew) ||
(nineNow != nineNew) ||
(tenNow != tenNew) ||
(elevenNow != elevenNew))
{
fade(threeNow,threeNew)
fade(fiveNow,fiveNew)
fade(sixNow,sixNew)
fade(nineNow,nineNew)
fade(tenNow,tenNew)
fade(elevenNow,elevenNew)
analogWrite(three, threeNow);
analogWrite(five, fiveNow);
analogWrite(six, sixNow);
analogWrite(nine, nineNow);
analogWrite(ten, tenNow);
analogWrite(eleven, elevenNow);
flickertONE = random(5);
digitalWrite(flickerONE,HIGH);
delay(flickertONE);
digitalWrite(flickerONE,LOW);
delay(5-flickertONE);
flickertTWO = random(1000);
digitalWrite(flickerTWO,HIGH);
delay(flickertTWO);
digitalWrite(flickerTWO,LOW);
delay(1000-flickertTWO);
}
}