A Globe is technically much more difficult than a matrix. Nevertheless we built a first version (v1) with 40 RGB LEDs arranged at the outside of a rotating ring with a diameter of about 25 cm. One turn of the globe is divided into 200 sectors interupted by a infrared light barrier. Hence, one frame consists of 40x200 pixels - each with 8 color states.
The LEDs are controlled by one ATmega328 with 15 8bit shift registors (74HC595) sitting on two PCBs in the center of the globe. The power is supplied via slip rings. The two PCBs and the mechanical part are again self-made.
The firmware and the board layout can be found in the download section. Despite we are not really proud about the mechanical design we have to say that it looks pretty awesome! If we show it to friends, they seem to be really impressed and are kind of magnetized. They saw nothing similar before and they are right, there are not much diy rgb globes on the market.
By the time we decided to build at second version (v2) with improved but still hand-made mechanics. Luckily the electronic parts could be reused from the first prototype and hence the board layout didn't change. Eyecandy!
Our first attempt turned out to be only a prototype. It was 100% functional but we definitely needed to improve the mechanics. Here some images of the construction and first tests of the first Globe:
The very first video recorded with a mobile phone of the second version. The mechanics, electronics and software are finished but we still need to come up with some images to display. And of course we need to provide you with more information about this project.
We finally managed to make a final video of our RGB-LED-GLOBE! The Cam we used seems not capable to capture the device in its full beauty. Unfortunately, rotation speed and frame rate of the cam seem to interfere so that you see an overlay in the video which is not present in real. Furthermore, the colors are not reproduced as in real by my cam. However, since we made the video not exclusively to show you the device working, but also to give a short documentation of its creation we can live with a reduced quality.
The source code is written pretty simple, the infrared sensor is fed to a digital input which fires up an pin change interrupt on rising edge. The interrupt itself just toggles a flag called "LS" in the code. The main job is done outside the ISR in main code. First we compare how many sectors were displayed within the last frame (turn). If it was to much or to less, the sector time is corrected in the corresponding direction. Next step is to feed the 15 shiftregisters and wait for the sector time to be passed. Then the game starts from the beginning for the next sector ...
The circuit of the globe is that simple that we did not draw any schematics and started direct routing. So the only thing we can publish in this place is the layouts of both of the boards. For code and layout check the download section.
Wiring is done pretty simple just use the following scheme. However, even if the scheme looks simple the wiring via copper wire is a hell of job and requires a lot of patience and a lot of beer!
Since we get so many questions concerning the power supply of our globe. Here it is. Pretty simple: Just two self made cylinders made of stainless steel. The lower one has an inner diameter fitting to the rotation axis. The upper one has a bigger diameter and in between there is a third cylinder made of teflon. The power transfer is done via simple slip contacts. We had to try several materials until we found a practical solution. Finally we came out using some kind of spring steel. The big cylinder which holds both of the slip contacts is also made of teflon.
Some people asked: "What is the program you used to generate the data and the 3d simulation I saw in the video?" Well, the program in the video was written with LabView some time ago. By the time we rewrote the program in java and added some more features. Now it became its own software project - GlobeSimulator.