Ready to create your own 2D - HOLOGRAM?Follow article
This project was developed as a requirement to pass the subject “Development of Electronic Equipment” from the speciality of Electronics of the Master in Industrial Engineering at the Public University of Navarre (UPNA). The aim of this subject was to create an electronic prototype from scratch meeting the deadlines imposed. It consists of a 2D holographic fan that generates lights designs, images, figures, numbers, as can be seen in Figure 1. The movement and lighting sequence makes the holographic fan an eye-catching product.
The idea of this trending product came from the increasing popularity of holograms in our daily life, especially in advertising. The future is now, but how is it possible to see flying figures? The user is able to observe static figures due to high rotational speed, which needs to be close to 1000 rpm in order to obtain the POV (Persistence Of Vision).
This holographic fan works with the Arduino Mega microcontrollermaking use of timers and a hall sensor (KY – 003) to get the reference angle to constantly know the real position of the blade. It is programmed in Arduino IDE and the DotStar library by Adafruit was necessary to address the indexable LED strips (Adafruit DotStar 72 LED strip RGB).
This holographic fan is a multifunctional product with five different modes that can be chosen by the user through the IR remote control:
- Clock and calendar modes: include real-time automatic actualization and are configurable using the IR remote control.
- Party mode: the visualization displayed depends on the surrounding music rhythm. The higher is the intensity of the sounds measured by the analog sound sensor SKU:DFR0034, the higher number of LEDs and colours can be visualized.
- Photo frame: three images are displayed chosen by the user with the IR remote control. In this case, there are three different procedures to generate holograms. The first one has been created directly programming in Arduino IDE addressing the LEDs that should be turned on at each angle (Figure 8). The skyline’s Arduino code was done automatically using Matlab to process a random image. Although the original image was rectangular, as the blades are rotating, a rounding effect can be seen. Therefore, in the third figure, it was used the same code but implementing a cartesian to polar coordinates system transformation that cancels the rounding effect.
- Gift: it is based on a two-image sequence that generates the optical illusion of a moving image.
The aim of the photo frame mode was to be able to project simple images that can be download from the Internet or even personal images; this implies been able to address 6480 RGB LED’s positions. Due to its complexity, it is needed to automate the code generation, in this case, we decided to use Matlab for this task.
Firstly the “imread” Matlab function is used to read the selected image. Then the “resize” Matlab function is needed to adjust the RGB matrix obtained to the required size. Ones this is done, the matrix is divided into three different zones, each matrix stores one colour: red, green, or blue.
After that, the cartesian to polar coordinates system transformation is done, so that the position of each LED depends on a new centre of coordinates which is the centre of the blades. This means each LED’s location is defined with the distance between the LED and the centre of the hologram (the radius) and the angle with respect to the vertical position of the blades (which is the reference angle, 0 ); as is explained in the next figure:
Finally, the three-colour matrixes are reunited in a final matrix that should be resized depending on the number of LEDs of the blades and the number of times the LEDs are actualized in 360 (for example we have decided to actualize every 2).
Inside the holographic fan structure we can find one dual - power source which makes possible two voltage levels, +5VDC, necessary to feed the electronic circuit composed by the Arduino Mega board, the LED strips, the analog sound sensor, the hall sensor and the IR modulus; and a higher voltage level, +12VDC, connected to a PWM modulus necessary for the DC motor control, as it can be seen in the next outline:
During the first stage of the project, all the connections were done in a protoboard. Once it was proved the functionality of the holographic fan, the system was improved replacing the protoboard with a PCB. We used the free electronics PCB design software, DesignSpark PCB making stronger connections and placing each component pins nearer to its final location in the holographic fan box.
Moreover, the PCB was designed to easily access all the Arduino Mega pins, placing the PCB like an upper layer (usually referred to as SHIELD) of the Arduino Mega board:
The mechanical structure of the holographic fan was designed in AutoCad. It is divided into two parts: the external one which is made out of wood and manufactured with the laser cutter and the internal one which is made with the 3D – printer and supports the DC motor and the slip-ring (this is an essential component to allow the electrical connections between the rotating side and the fixed one), this internal structure can be seen in the next figure:
The performance of this holographic fan prototype can be seen in the next video. One must take into account that due to the limit number of frames per second of the camera, it is difficult to capture the POV effect. However, once you build it you will discover that reality is even better.
Naiara Goñi Pérez & Irene Oroz Astrain