$USD
  • EUR€
  • £GBP
  • $USD
TUTORIALS

VFD AI CLOCK - A Clock That Snores And Plays Game

DFRobot Oct 27 2015 321
When I found these dusty old VFD display tubes, an interesting project idea popped in to my mind…
 
VFD stands for “Vacuum Fluorescent Display”. It works in a similar way to an electron tube.
DFRobot

VFD tubes look quite similar to normal seven segment displays and they operate in the same way, but they have some extra features: eight backlight colors and a glass case.
 
The first idea that came into my mind was to make a clock. After searching the Internet I found that there were already millions of clocks made with VFDs, so to be more original I decided to make a clock that snores.
 
When I tested the VFD tubes I found they generated heat. To avoid them overheating, I added a low power mode.
 
Low power mode=sleep mode=snore mode
 
In order to make my clock snore, I found ten different snoring sounds online and added an MP3 module, a speaker and a human pyroelectric sensor so that the clock could detect motion nearby.
 
The behavior I wanted to implement was that if the clock detected motion, the clock would “wake up” and display the time accordingly. If the clock didn’t detect any motion, it would enter into low power mode and make a snoring sound via the speaker.
 
I set up a deep sleep mode where no sound or content would be displayed incase the snoring became annoying to people nearby. I also added an RTC module in order to preserve the timing function during deep sleep mode.


I decided to use bluetooth to set the time. I connected the ‘GoBLE’ (??) iPhone app and a Bluno Nano clock controller, and then set up the clock by adjusting it with the control panel on the app.
 
At this point I had another idea for a function: why not use it to play games too? It would be wasteful to only use GoBLE to only set the time.
 
A VFD can display six-digit numbers and some English letters, so there is a limited scope for games.
I remembered a numbers game I played before: high low poker. The rules apply to my device as follows:
 
A random number between 1 and 13 will appear and the player has to guess whether the next number is bigger or smaller. The D-Pad of the GoBLE app is used to decide if the next number is bigger or smaller.
If you guess correctly you continue and if you guess incorrectly the game is over. If you have 5 consecutive correct guesses in a row, you win.
 
When the game had been assembled I realized that the player would need some feedback to know if their guess was successful or not, so I used the speaker to play a cheering sound if they were right or a buzzing sound if they were wrong. This gave the game a bit more atmosphere.
 
After coding and assembling everything I used Solidworks to design a custom case and then 3D printed it.




 
DFRobot
 
DFRobot

The entire case was too large for my 3D printer’s bed, so I split it in to two parts. I also included two Japanese style sliding doors at the back of the case for access to the control board in case it needed maintenance.
DFRobot
 
DFRobot

 
The sliding door:

 
DFRobot

Unfortunately as I was assembling the components in their case, disaster struck: 
 
DFRobot
 
DFRobot

Now there are were only five VFD tubes left. Five isn’t symmetrical! To satisfy my obsessive compulsive tendencies, I removed a VFD from the opposite side so that changed from a six digit display (hour:minute:second) to a four digit display (hour:minute). Images below:


Front side
 
DFRobot

Back side
 
DFRobot

In working mode
 
DFRobot

When take a closer look, are the side lights too dazzling? I then printed a cover as shown in the image below:
 
DFRobot

It finally looked like this:
 
DFRobot
 
DFRobot
A four digit display consumed less power than a six digit display. Because of this I was able to use a regular USB port, a portable charger or batteries to supply power. This meant I didn’t have to connect it to an external power supple every time I programmed it.
REVIEW