Advertisement

Helvetica 'Foofers' Bold - Follow-Up to Prior Geekery

Apr. 2nd, 2008

02:51 am - Follow-Up to Prior Geekery

Previous Entry Add to Memories Tell a Friend Next Entry

Okay, figured out how to access those lines without needing a second screen to be attached. The code needs a lot of cleanup, but basically works. This means I only need one side of the DVI cable as originally planned. Small is good. If I wanted to be exceedingly anal-retentive…I could dissect and do the same to the Mini-DVI adapter directly, so just a tiny little nubbin would be required to interface with the servo controller!

If one’s computer has a full-size DVI port, all that’s required then is the DVI cable ($4.56 from monoprice.com)…but since it’s cut in half, that’s actually enough for two interface cables. So going in with a friend, it’s a mere $2.28 for such an interface! For us poor sods with only a Mini-DVI port, I found the Dynex Mini-DVI to DVI adapter at Best Buy for $16.99. This can be used as-is with the half DVI cable, or cut apart as previously mentioned for maximum smallness. Unfortunately I don’t know of a source for just the Mini-DVI plugs, else I’d be buying a crapload of them right now.

The HDMI breakout cable should hopefully arrive tomorrow, so I’ll be able to try this out on the Apple TV as well.

One slight downside to this implementation is that the resulting I2C bus is “single master,” meaning the computer can poll devices for their state, but there’s no means for the computer to respond to events that originate elsewhere on the bus (“multi master”). A lot of systems work in this manner anyway, so it’s not necessarily a huge downside, just mentioning it to avoid any impression of this being a be-all, do-all I2C interface for all occasions. For things like sensors and servos, it’ll work fine.

(Leave a comment)

Comments:

[User Picture]
From:[info]brokenwingx9
Date:April 2nd, 2008 10:55 am (UTC)
(Link)
Just, ya know, out of curiosity what utility does this have over, say, a USB->serial converter?
(Reply) (Thread)
[User Picture]
From:[info]foofers
Date:April 2nd, 2008 05:06 pm (UTC)
(Link)
Mostly it's about compatibility with a certain category of devices that I'm interested in right now. That particular servo controller, for instance. But also a huge number of fairly "raw" sensors, microcontrollers and other devices for which I2C, not RS-232, is a native mode of communication.

Also that I2C is a true bus, not a single point-to-point link like RS-232. I'm only demoing it with that one servo controller on there right now, but it's possible to have up to 128 distinctly-addressable devices. If more servos are needed, just continue adding more servo controllers on the same bus.
(Reply) (Parent) (Thread)
[User Picture]
From:[info]brokenwingx9
Date:April 2nd, 2008 07:48 pm (UTC)
(Link)
Sure, yeah, but if you disabled flow control and set your mode to raw output, plugged in a loopback for your CTS (and possibly RTS) you should be able to use the I/O pins on an RS-232 cable to directly communicate with i2c. Oh, you'd probably have to drop the baud to something ridiculously low, too.
(Reply) (Parent) (Thread)
[User Picture]
From:[info]foofers
Date:April 2nd, 2008 09:25 pm (UTC)
(Link)
They seem to be doing something along those lines in this design.

Mostly then it comes down to one less dongle (and associated driver), fewer components and less code.
(Reply) (Parent) (Thread)
[User Picture]
From:[info]brokenwingx9
Date:April 3rd, 2008 03:39 am (UTC)
(Link)
If'n you say so. Plus, I was totally crazy this morning cause you'd have to account for clock stretching and other such weirdness... I don't know if the physical layer would work at all.

It would certainly work through a parallel port, but naturally you lack that... so uh. Eh. Enjoy it I suppose!
(Reply) (Parent) (Thread)

Advertisement