Back to Work

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.

Nexion thumbnail image

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.

Nexion original sketch

Construction:

We divided the construction into three main cohorts:

  1. 聽聽

    1 . Casing cohort: working toward making the wooden casing for the game and adding custom decals.

  2. 聽聽

    2. Game piece-making cohort: making the game pieces "lines" out of PVC, magnets, wood, and wires.

  3. 聽聽

    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:

Nexion Components

Making strip

Coding and Electronics:

The system had four components.

  1. 聽聽

    1. A website for user input displayed on a Fire Tablet.

  2. 聽聽

    2. A Hologram dash that received input from the website or sms and sent instructions to the Arduino.

  3. 聽聽

    3. Arduino mega controlling the LEDs and sensing for a HIGH/LOW readings.聽

  4. 聽聽

    4. An Adafruit soundboard.

The website was a simple bootstrap site connected to Hologram鈥檚 API and Dashboard. The website would send sms through Hologram鈥檚 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.

Nexion UI Levels Screenshot

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.

Circuit diagram

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鈥檚 whereabouts:

The game to us was a success, everyone that played it liked it. And as a bigger surprise, it won an award for 鈥淏est 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.

Image of people playing NexionPeople playing Nexion again