If you have ever found yourself wishing that the crosswalk button would turn the street into a game of Frogger complete with all the alligators and flies or that the elevator door would open into an underwater world straight out of Mario, then we are in the same boat. We might not be able to fill your office with ocean creatures, but we are always looking for technology to bring that world to life. Let’s explore how electronics and Internet of Things platforms elevate a space.
Out in the Field
The first step is getting some electronics out into the environment in the form of lights, motors, and sensors. Lighting is the most straightforward as we see its use and effects on spaces often. Controllable lighting and projection can dramatically transform how an environment feels with color changes and animations. Where things get more interesting is when we start to introduce motion into a scene. With the subtle use of actuators and stepper motors, we can direct attention to overlooked areas or present content in a more organic way. Rounding out the tool kit is the wide array of sensor types that are available. Some sensors are simple which allows us to detect proximity or touches while more complex sensors can provide us with a guest’s pose and position. Together these components can be used in endless combinations and tailored to any situation.
Once we plan out how the basic components will be used in the space, we need to find a way to control them. A microcontroller is a perfect tool for this job since it is generally a low-cost device that allows us to connect several components physically as well as define how they should work with custom code. As with the overwhelming variety of electronic components, there is an endless number of styles of microcontrollers. There are controllers suited for rough environments and compact spaces and others tailored for low power consumption and wireless connectivity. The trick is balancing the required features, cost per unit, and ease of use. With just a handful of components, we will be ready to assemble the hardware and begin improving the guest experience.
While microcontrollers seem like a silver bullet, there are some drawbacks. In particular, the processing power of these devices is no match for a standard computer, which is why selecting a microcontroller that features network connectivity is a high priority. The microcontroller can be set up to send and receive messages to the hardware components which are then relayed to a larger ecosystem. We will be able to stretch our experience even further by connecting to cloud-based services that enable our system to expand past its physical setting and local computing power. Once our devices are connected, our tool kit grows infinitely. We can hook into custom APIs, databases, and platforms that will give us the flexibility to create just about anything we can think up.
Now that we’ve got a rough idea of the components involved, it’s time to put it into practice. For this example, let’s say we want to track a guest’s heartbeat and have some kind of physical representation of the changes in heart rate.
For the hardware components were going to show how an 8-segment display, micro servo and a strip of LEDs can be used to represent our heartrate data. The 8-segment display will be able to write out messages although we’re a bit limited by only having four characters in this simple example. The servo provides a straightforward way to create a motion similar to a speedometer. Lastly, we have a small strip of RGB LEDs that will be able to animate the colors to create some fun visual effects.
Now for the microcontroller. Here we will be using a ESP32 packaged into an Adafruit Feather form factor. The ESP32 is small and inexpensive microcontroller that features WIFI and Bluetooth. It can be programmed via the Arduino development platform or through straight C++. While the ESP32 chip could be used on its own, the Adafruit Feather form factor provides a bunch of features that make it easy to get up and running quickly. Some of the highlights are USB connections, easy battery connections, and the library of plug-in addons. With a bit of wiring and code, we can get these displays to come alive and ready for use with our full project.
Next, is setting up the microcontroller to talk to Amazon’s IOT platform. AWS IoT Core streamlines secure device provisioning and lightweight communication via security certificates and the MQTT messaging protocol. Since most microcontrollers have limited memory being able to use a lightweight messaging protocol like MQTT relieves some of the burden off the microcontrollers. Once we get our devices configured, we can start sending test messages right from the IOT platform to make sure everything is working properly. At this point using AWS might seem like overkill just to send a simple message but once the project expands, the large ecosystem of services AWS provides offers a lot of flexibility in how we can control our deployed devices.
The last step is to get everybody talking to each other. We’re going to use a previously built prototype.
We are always excited about incorporating modern technology into our projects. With the right application and design, we feel these types of electronics can turn guests’ small actions into huge moments.