Friday, May 27, 2016

TI-Innovator Hub and Knight Rider

One of the things that happens because I am a TI Instructor is I get early access to products. Back in February, during the TI T^3International Conference we were shown a product being developed called TI-Innovator. For the past week, I've been fortunate enough to work with a pre-production version of this product.

To describe Innovator the first comparison that comes to mind is Arduino. The Innovator is a programmable box, with some built in LED, inputs, outputs, light sensor, speaker, and breadboard pins.
One thing that distinguishes it is, it can be programmed directly from a handheld calculator, either TI-84 Plus CE or TI-Nspire. Note that this is the newest version of the 84 Plus. I was told that there are some USB version issues that prevent it from working with the older monochrome 84 Plus or the fairly recent 84 Plus Color. Regardless, the handhelds it works with represent a good portion of the installed base already in schools.

The loaner equipment I received consisted of a TI-Innovator box and a TI-84 Plus CE. I could have used my own handheld, but it requires a newer, pre-release version of the OS, and I chose not to install that on my own equipment.

The calculator had a few sample programs on it. These, mostly, make use of the built in LED, light sensor, and speaker. One of the built in LED is a 3-color LED, and they've got a sample program where you adjust the RGB levels to create your own output color. Fun, but I wanted to see what else I could make it do.

Some years back, when I was first introduced to Arduino, the workshop facilitators had us program what they called Knight Rider. That is, have a series of LED turn on and turn of in a sequence reminiscent of KITT in the old TV show. I set about trying to do that with the Innovator.

I found a breadboard, wire, resistors, and LEDs. My skills with Arduino made it short work to set up the electrical components. The Innovator has output pins numbered 1 through 10, which I jumpered to my breadboard. Each output pin has a ground pin, but I realized the ground is all shared, so I routed just a single ground from my breadboard back to the Innovator.

So, I set out to write the program. TI Basic on the 84 family is a very bare-bones language, without access to comments, and without some of the visual spacing cues that I gotten used to in more modern languages. For a simple program this is no big deal. But if you get a few nested For loops with some If Then Else statements, you've got to really keep track of the beginnings and endings. But, I've done it before, and I did it again.

So, I got it working. 
(I've never uploaded video before, and not sure if this will display properly)

Next, I want to take input from the Innovator's light sensor and feed it to my LED array as a sort of digital output light meter.

*** edit 2016-06-02 ***
change description of TI-Basic from "rudimentary" to "bare-bones"
*** edit 2016-05-31 ***
There's been a request for the TI-Basic code. Appended below:

Send("CONNECT LED eval(N) TO BB eval(N)
Send("SET LED eval(N) ON")
Wait .1
Wait .2
Send("SET LED eval(N) OFF")
Wait .1
Wait .5


  1. Great stuff - thank you Howard!!!

    I wonder if you would mind posting the code for those getting started? (or did I miss it somewheres?)

    Steve Arnold