Building a supercomputer
Well, perhaps not quite a supercomputer but I am working on a project to drive six Burroughs B-7971 tubes.
Each tube is mounted on a ‘Smart Socket’ which has it’s own PIC micro controller which makes it relatively easy to control as the PIC takes care of what elements of the tube to light and how to fade for the character to be displayed.
Hooking six of them together involves daisy chaining the tubes so that ultimately all that you need to do is send a single string to the first socket and the string is passed on to the next one and so on until the entire string is displayed across all 6 tubes.
The B-7971 is made up of 14 segments which make it possible to display letters as well as numbers so they are often used for ‘Four Letter Word’ or ‘Six Letter Word’ clocks.
My project uses 6 tubes and a micro to drive them so that’s 7 processors so far. I then decided to separate out the WiFi connectivity (for NTP time sync) and sensor measurement (temperature and pressure) to a separate micro (ESP-8266 breakout board – NodeMCU).
Thus we have 8 micro processors to run this thing – I have never made anything with more than 1 before so this is quite a step.
The NodeMCU passes data to the main clock micro via a serial string. I started off with code that connected to the wifi and sent a ‘fake GPS’ string for time synchronisation of clocks. I then modified the string to include the data that I actually wanted and removed everything else for the sake of brevity.
The sensor being used is a BMP280 (Bosch) which is commonly available and easy to use – which suits me immensely. In the code I am trying to be a bit smart in that I log pressure readings over three hours and attempt to indicate the current trend.
The main clock micro (Arduino Nano) is the basis for my ‘State Machine’ driven clock code (another experimental/developmental project) which simply thrashes around a loop, checking to see if time has moved forward sufficiently and then doing something if it has.
This also made it easy (for me) to implement the whole serial read thing. Additionally, the string is sent from the NodeMCU only once a minute at present and then only when the clock is displaying non time related data (like the temp etc).
Right now the Smart Sockets are all wired together on a plank (sorry, accurately dimensioned piece of timber). The next stage is to fix the various micros and power supplies (one for 5V and one for 170V) to the underside of said plank so that I can test everything together rather than staring at the ‘Frankensteins Monster’ on my desk which is hooked up to a PC for monitoring of the various data being passed about).
I also plan to add PIR activation so that the 170V is only activated when someone is there to see it.
Like all my projects, progress is slow and sporadic. however, the case is planned, again, in my head it looks great. I only hope that the reality bears some resemblance!