Wednesday, May 10, 2017

The Loquacious Jedi

Finally got a few minutes to finish the new Holocron program. Current reading from the Arduino IDE is 7,964 bytes (of a 8,192 byte maximum). It's the neoPixel code that does it -- a couple extra blinks would finish my available PRAM.

Human Interface Design is always fun (and seemingly a dying art -- maybe Apple hired them all away?) So the way it works now, hit the SEL button to enter the first programming mode. It causes one of the LEDs to blink pink at intervals. Each touch of the SEL button increases the number of LEDs lit until it cycles back to zero.

Meanwhile the INC and DEC buttons, when hit, flash all the LEDs either red or green. This corresponds to adding or subtracting from the variable being programmed (and that variable is indicated by the number of LEDs that are flashing pink). Hold down the SEL button and there is a long double pulse of all green; this indicates the current value of all accessible variables has been stored into EEPROM.

The variables I chose were jedisearch, rate, depth, and bright. The last three are relatively self-explanatory; the rate of the pulse animation, the difference between the peak and trough of the pulse, and an overall brightness value added or subtracted from the total. The first is the value the capacitive sensor is compared against, and thus sets the sensitivity.

And when I was working on it something was going wrong with the sense. It was triggering, thus playing the speech animation, pretty much back-to-back. Turns out the pin was floating a little; when I soldered the wire that connects up to the sensor plate it stabilized.

Unfortunately my fancy scheme doesn't allow changing the color center, but the color shift is a bit of a hack anyhow. One day I'll come up with software that allows setting a bunch of different "looks" via the user buttons, but this software isn't it. This software does holocrons only.

So....where do Jedi learn to code in C?


1 comment:

  1. Jedi learn to program in C in college. Well, we old ones did, anyway...

    ReplyDelete