Tempescope is a project started by Ken Kawamoto, to create an “ambient physical display that visualizes various weather conditions…” Here’s a video of his creation in action:
He’s also created an open source version, you can find more details here: https://www.tempescope.com/opentempescope/
If you want to create your own version of this device — I call it a “weather cube” — I’ll provide some pointers that might help clarify the build process outlined above. The basic idea is to create an acrylic cube made up of two compartments: a large upper chamber that will contain the “weather” — either rain or a mist that can represent clouds or fog — with a water reservoir at the bottom, and a second bottom compartment that will contain the power supply and controller for components that create the weather effects: a water pump, a water atomizer, a fan to exhaust water vapor from the upper chamber, and a multi-color LED that can represent sun or lightning.
Here’s a diagram from the (original) open tempescope site that shows the basic arrangement. The water reservoir and electronics compartment are in the white painted section at the bottom. You can see a spot at the top (on the “lid”) to hold the multi-color LED, and a clear plastic tube that moves water from the reservoir in the white section at the bottom to the top, in order to sprinkle water into the top (clear) chamber, in order to simulate “rain”.
The exact size of the weather cube isn’t critical. I made mine approximately 4.5″ (L) x 4.5″ x 14″ (H). The white painted section at the bottom is 6″ high. Here’s a video of it running, after I’d completed assembly, and had a first working version of the control software:
I started the build by creating a jig, basically a couple wood boards, glued together to form an “L”, at an exact 90 degree angle, to facilitate gluing the pieces of acrylic together, while keeping the angles square.
Here’s the almost complete acrylic cube, showing three sides glued together, divided into the two chambers. I added a small “shelf” in the water reservoir to hold the water atomizer at the right level, just below the water surface, in order to create the right amount of mist that sprays upward into the “weather” chamber.
You can also see the exhaust fan mounted just above the water reservoir, and holes drilled into one side to hold the push-button switch controls.
At this point, I started sourcing and wiring the individual components together, and connecting them to the controller. For this project, I used the Raspberry Pi 2 computer, since that eliminated the need for an external application, an iOS app in the case of the Open Tempscope Project. The basic idea behind the software is that a python script can call the Yahoo! weather web service to obtain a weather forecast for any of a set of pre-configured cities around the world, then switches (transistors) connected to the Raspberry Pi’s GPIO pins will switch the multi-color LED, pump, atomizer and fan on and off as required to create the desired weather effect: sunshine (with or without clouds), rain, fog, and lightning.
Here are the components, minus the multi-color LED (which can be powered directly from the Raspberry Pi’s GPIO pins): the water pump at top-left, the atomizer at left, the Raspberry Pi at bottom, and the exhaust fan on the right, connected on a breadboard.
Note the separate 24V (for the water pump), 12V (for the atomizer) and 5V (for the exhaust fan) power rails. Also, I’m using transistors, connected to the Raspberry Pi’s GPIO pins, to control the external devices that can’t be powered directly from the GPIO pins, due to high current demand. I’ve copied my notes below, showing how voltage regulators are used to provide the 12V and 5V from an external power adapter that provides 24V DC output. Also shown is how the transistors are wired to act as switches for turning the pump and atomizer on and off.
These transistors and other components are mounted to a breadboard, then wired to the Raspberry Pi using terminal connectors. I needed a “cage” to hold everything together, so I 3D-printed the assembly shown above. The top board is the power supply, with heat-sink attached voltage regulators, the Raspberry Pi is mounted in the middle, and the switching transistors for the fan, atomizer and pump are mounted on a perforated (“perf”) circuit board at the bottom.
Here’s a view of the completed case, all the sides are glued and sealed. It took a few tries to find a type of silicon sealant that bonded well to the acrylic plastic. You’ll find that bonding the sides together with acrylic glue alone won’t create a watertight seal, and that you’ll need to use a silicon sealant to make everything watertight.
The bottom six inches of the cube are painted last, with a small clear portion left for the OLED display, mounted inside the case using a custom 3D-printed bracket. The display is wired directly to the GPIO pins on the Raspberry Pi.
As you work with the plastic, you’ll invariably scratch the surfaces (I gave up trying to protect it early on); the good news is that a polishing kit will fully restore the original clarity.
The weather cube is controlled by a Python program that “listens” for a button press that selects between a fixed set of cities. For a selected city, Yahoo’s weather web service is called to obtain forecast conditions, then a procedure is called that simulates that weather via some combination of LED lighting, water and mist from the atomizer. The simulated weather is displayed for 30 seconds, then the fan is run to clear water vapor from the upper chamber.
Contact me via comments if you need more information or want a ready-to-run Raspbian image for the Raspberry Pi.