Nexion
TL;DR: For a physical computing class, I built a 3D connect the the dots game. Made with an Arduino Mega, Hologram Dash, Hologram IOT SIM Card, Fire Tablet, Wood, L.E.D.s, 3D Printed molds, Heat shrinks, PVC pipes, magnets, and lots of wire.
Problem:
For a physical computing course in college, my team was asked to create an interactive experience using microcontrollers.
Solution:
A graphic designer on my team had the idea of making a modular 3D Connect the dots game; the original sketch is below.
Construction:
We divided the construction into three main cohorts:
-
1 . Casing cohort: working toward making the wooden casing for the game and adding custom decals.
-
2. Game piece-making cohort: making the game pieces "lines" out of PVC, magnets, wood, and wires.
-
3. Wiring and coding cohort: writing the code for the Arduino, hologram dash, and setting up a website as UI, and installing the wiring and the microcontroller onto the wooden casing.
Materials Used:
Coding and Electronics:
The system had four components.
-
1. A website for user input displayed on a Fire Tablet.
-
2. A Hologram dash that received input from the website or sms and sent instructions to the Arduino.
-
3. Arduino mega controlling the LEDs and sensing for a HIGH/LOW readings.
-
4. An Adafruit soundboard.
The website was a simple bootstrap site connected to Hologram’s API and Dashboard. The website would send sms through Hologram’s API to the Hologram Dash device connected to the Arduino Mega. Apart from sending messages to the Dash, it contained a tutorial on how to play the game and a difficulty selection tab.
Code:
The game consists of two scripts: one controlling the SMS module, and another controlling the Mega and game logic.
The libraries used were:
Wire - For 12C
Adafruit Sound Library - for audio
Serial Library - for serial communication
FAST.LED - For contolling LEDS and animations
Time Library - for controlling timers.
The Hologram Script waits for an SMS to come _in, once it has received it it uses l2C to control the Mega through a Master/Slave relationship.
Once the mega receives a message from the Hologram Dash it changes to a Game State or and Idle state. It turns on the LEDs and controls the game logic. Reading a pin to be high or low to trigger the next level.
The Mega controls the Adafruit Soundboard as a Master/Slave relationship as well, but through Serial Communication and PM pins over 12C.
Note: There were more efficient ways of doing this. Using the Hologram Dash, I would send a message from Savannah, GA, to a server in another state for it, then travel back through cell towers as an SMS. On the other hand, adding an Ethernet Shield to the Arduino Mega would have been more efficient, but I had some cool toys and wanted to play with them 😉.
Checkout Nexion in action:
Launch and Nexion’s whereabouts:
The game to us was a success, everyone that played it liked it. And as a bigger surprise, it won an award for “Best Innovation” at a game design competition. Currently, Nexion is used as an example in the physical computing class and is used for exhibitions at SCAD.