Posts

Showing posts with the label solved problems

Capstone classes and "real" engineering

I'll attempt a bit of subterfuge and obfuscation here so I don't inadvertently ruffle too many feathers... A friend just sent me a summary of the EE capstone projects from this year's crop of students at a university that shall go unnamed. Bright-eyed young engineers, fun problems, innovative solutions, yadda-yadda-yadda. Pretty much anyone reading this has a pretty good mental image of what might have been in the e-mail, and many of you LIVED it. But then, right at the end, was an incredibly troubling BTW: PS: professor's name here told me that he does not allow Arduinos to be used on these projects, since it makes things too easy (at this level of education, they're supposed to be learning the stuff that Arduino hides from you). Better he was there than me. I'd have lost my shit if an engineering prof said something like that to me. I get what he's saying- that the journey is the point, not the destination- it's just that for everything else...

Voltage dividers

Image
A common problem in electrical engineering is the use of a resistor divider to create a circuit which derives a second (lower) voltage from a known voltage.  This can be for a reference voltage to an ADC (as on the Arduino) , to set the voltage on an adjustable regulator (where the regulator seeks to maintain an output voltage adequate to produce a set voltage at a feedback node), or to calculate the gain on an amplifier circuit, among other possibilities. The canonical voltage divider circuit Usually, we know Vin and Vout, but R1 and R2 are unknowns.  We usually pick one of them (based on what's on hand, in the parts library, time of day, dog's birthday, roll of a 20-sided die, etc), then calculate the other.  Almost always, that results in a value which is not readily available, so we pick the closest value, calculate the error, decide it's too much, and pick another resistor value and start over. Error in the output voltage has a number of possible sources:...

Viewing binary data as an image

So, I have a stream of data from a FireWire device I need to interpret as an image. I'll not get into the how or why of this, but the problem is pretty simple: take a file which is 250,848 bytes long, with each byte representing the 8-bit grayscale intensity of a single pixel in a 536 x 458 pixel image, and reconstruct that image. Turns out, finding an app to do this is a non-trivial problem. Sure, I could write something to do it (in the past, I've written a Scilab script that plots it, but that takes a lot of memory, runs slowly, and generally gives me few or no tools to deal with the "image" resulting, besides my eyes), but I KNOW this is a solved problem (my favorite term of late) and anything I came up with would likely be a south-pointing chariot. In the end, I turned to my old friend, ImageJ . ImageJ is a powerful, free, Java-based image manipulation and analysis tool. It's no replacement for GIMP or Photoshop, but it provides a very simple interface to...