When last we talked I demo'd the two prototypes, and explained their theory of operation. The next step in our grand scheme for world domination is the integration of the two, combining touch pad reading with Bluetooth output. Because it's spring break and I'm in a bit of a bind because I'm way behind, I'm willing to make a deal. (Music reference, GO!). This will cover the finalized hardware configuration for the electronics.
The first major step to take involves packetizing the touch pad's pressed states, and sending them by serial to the Bluetooth module. By design countless eons ago we limited the conductors on the pad to 8, giving us an 8x8 button grid. 8 happens to be the number of bits in a byte, and so we packed each row of the touch pad into a single byte. We also added a magic header byte, a counter for debugging purposes, and a checksum, for a total 11 byte packet. An 11 byte packet takes at least 10ms to send on a 9600 baud link, meaning we're limited to 100 hz polling of the button pad, but due to other delays this actually drops to about 50 hz. Which is fine.
Another step is the development of an android app for reading the packetized touch pad state, and displaying it to the user. Ideally this would be generic enough that it could be easily moved into the app under development by Miguel and Adam. We do not live in an ideal world, sadly, and it was hacked together. With vigor.
The next step would be adding inputs and connections for the additional 12 conductors that need to used, preferably in a user friendly format. To this end we used two RJ45 breakout boards I had laying about, and a short bit of network cable to connect the button pad to the microcontroller. This means the only connection between the fabric and the electronics is an easy to insert/remove network cable connector. This is good and bad- good because it's less painful then some alternatives, bad because it adds a lot of unnecessary vertical bulk to the electronics, and because ethernet cables are surprisingly good at getting in the way. In a 'for production' version of the system, I'd imagine that this would be replaced with a much lower profile ribbon cable and connector of some sort.
The final step, once the above two points were confirmed working, was to solder this all to a prototyping PCB. Breadboarding circuits upto this point was fine, but the added bulk of a breadboard is quite distracting. An image of the finished product is to the right. You can see the battery connection, power supply, BlueSmiRF, Teensy, and RJ45 connections, roughly in that order. For simplicity we've been using a 9V battery and a 5V regulator to power everything, but if this were actually deployed we'd no doubt look into using a different battery packet.That brings up an interesting point, actually. The physical size of this package, right now on the order of a playing card, can be cut to a third of what it is now by just packing components tightly together on a custom PCB. This prototype is large enough that it's unwieldy for actual use, but the core electronics can be condensed to a much smalled package (area and height wise) if production were ever needed.
Next week Micheal will be chatting more about the Arm Band, and I'll be helping to test and/or produce it.
No comments:
Post a Comment