Close

First cut of desktop morphology Integron

A project log for Reactron Overdrive

A small but critical number of minimally complex machines interact with each other, providing machine augmentation of human activity.

kenji-larsenKenji Larsen 08/20/2014 at 04:020 Comments

A lot of the Integron unit is working in component parts.  It remains for me to coordinate the various internal subsystems.  Here is an image of the first cut of the desktop morphology.  

In this image the screen is present but not active, and the little ripple in its surface is just the protective plastic which I have not yet removed.  A NeoPixel is activated blue, under an internal diffuser, in front of a sound baffle and support structure joining base disk to top disk.  The fabric sleeve is an acoustically transparent speaker grille fabric.  There is some left-right asymmetry due to uneven tension, due to me assembling and disassembling this prototype a number of times.

Still working on the mechanical fit and angle of the PIR sensors in the support baffle structure, and I have yet to test the transparency of the acoustic fabric to the ultrasonic sensor.  The infrared passed just fine, so worst case if the ultrasonic does not work I will put a central PIR in a tube to narrow the angle, and use that to indicate presence of someone standing right in front of the unit.  But I'd rather use ultrasonic ranging since then I get an actual distance.

The unit looks great in a darker setting.

It also is effective at giving a colored light signal from a distance in normal light, though the camera does not report well what the human eye sees, which is much more even than this image shows.

The unit in this image does not contain the Beaglebone Black and audio components, I have that assembled on a breadboard separately for testing, but expect to be assembling it all together shortly.  (It does fit - using a proto cape on the BBB.)

The speech synthesis and speech recognition are working.  The USB sound card is working well, but I am still working on the right microphone and audio amplifier on the output.  Currently I have a capsule electret mic sourced from Adafruit, and it works quite well close up. But I have ordered higher sensitivity ones, because I want to be able to speak to it from a distance, and it's just not there yet.  I have also ordered some adjustable pre-amplified mics, which may be OK if I attenuate the signal all the way down so that the peak-to-peak does not overdrive (!) the mic input. The sound card is apparently able to withstand abuse - I did try a sustained, full 2 volts peak-to-peak signal to see if it would fry (the sound cards are only a few dollars each, that test was worth it to find out the capability.) Terrible sound, of course, super distorted - but it didn't fry the board. We'll see if we have to go there at all. The internal baffle of the Integron unit is designed to be a sound cone. On the output side of things, I am using an Adafruit audio amp, but while it is quite excellent at what it does, it may not be the best choice for this application. I have some less expensive PAM chips on order, and some different ones I have used before in house, I will be experimenting with them soon.  I also changed the speaker to one that was less tinny. The speech output is mono, so I am just using one speaker of a pair.  This unit is really a point source so in some ways it makes sense to combine channels for any potential stereo signal sound files and just use mono.  That makes it more compact.

The Moteino is driving the NeoPixel without issue, but I will use more than one in the final unit so that the top, middle, and bottom can be illuminated differently to give three different levels of signal.  (That is the idea anyway, we will see if it is practical.) Due to the internal baffling, there may need to be three LEDs per tier to enhance visibility from all sides, so nine total.  I am considering making the screen bezel ring out of translucent white acrylic, and adding another NeoPixel to make that a soft, power-on indicator light (overridable of course, if you want it off).  So ten RGB LEDs.  In that case I will probably switch to this format or even a pixel strip format where I would deconstruct the pixels and place them as needed.  It may be the most economical way, and since the mounting is so custom at this point, it might just be the right thing.  Again, practical concerns will dominate.

Separately, Moteino connects to my RF network without issue, as it has proven itself over and over again, using a HopeRF transceiver and a library based on [Felix Rusu]'s RFM69 driver library (after I clean it up it may just be able to be his library unadorned with my complications).

I have still to get the serial comm working between Moteino and BeagleBone Black, but it should be trivial, I just have not had a chance because the other parts of this were much more challenging, so I have been working on them.  The PIRs I tested with Moteino, because I had already written that code for use in an early Integron.  

(You can see the PIR sensors on either side, and the Moteino on the bottom right, the green board.  The square component in the center with black PCB is a PAM8803 audio amp, which I will test for output in this new model too, but which I believe is not suitable due to implementation details.)

I want to move the PIRs to the ADCs on the BBB, so that the ATMega328P can just concentrate on the RF network and the NeoPixels, and that can be a standardized unit.  The PIRs are really tied to these units with the (low-res) gesture recognition and speech recognition and synthesis, so they really ought to be monitored directly by the BBB.

Aesthetically, it is not exactly what I was going for, but functionally it is right on so far.  (Well, the speech recognition and synthesis prep could be faster but maybe I will try overclocking the BBB and other tweaks - if that does not work it's just a matter of time before faster hardware is released, and maybe code optimizations on the speech engines.)  

I think this will be more visually harmonious if the screen is just removed, and the unit could be a continuous soft dome or other graceful shape. Actually I am hoping that it will integrate so well that there is no reason for the screen.  Or, potentially try a small projector, so that the screen could be the wall behind instead of a physically integrated surface.  That gives more potential for altering the shape for aesthetics.  But yes, it increases cost a lot.  Maybe a smaller screen would do, but the idea is that you should be able to see the text from as far away as possible, if you are interfacing that way. It's not meant to be anything but a signal contextualizer, it's not for digesting large amounts of detailed information. And it should be acceptable for people with less-than-perfect eyesight.  

Also, if the screen goes away, there is probably no need for any of the gesture detection stuff - that is really just there to "scroll" information on the screen and navigate, without having to touch the device or be too precise with your motions, as precision takes time. The screen is actually a touch screen, but consider how this is if you have arthritis or terrible eyesight, or both ... I just wanted a way to interface easily without the device's limitations being forced on the human, as I think that 80% of the info we need in workflow data is low-resolution (yes/no, up/down, bad/good/better/best). It makes sense to me that motions and retrieval methods should also be low-resolution (and highly error tolerant).  Otherwise, it is a frustrating bottleneck standing in between human and the data of the human's interest.  In some future form I may integrate a camera and use that for gesture interpretation instead, as well as facial recognition, and ambient light data (with which I could adjust the brightness of the NeoPixels).  Maybe I should add a photosensor now though....

Well, I'll deal with beauty after functional form is stabilized somewhat.  I'd like to create several forms, all equally functional but allowing for different people's sense of style.

I expect other morphology for wall-mount, ceiling-mount, and of course the special case Automobile Integron.

Discussions