New Method for Measuring Lots of Resistors Using Very Few Wires

[Daqq] is back at it again with the linear algebra, and he’s now come up with a method for determining the resistance of lots of resistors using little of wires and loads of math.

Like any reasonable person, [daqq] decided it would be fun to “solve one of those nasty [electrical engineering] puzzles/exercises where you start out with a horrible mess of wires and resistors and you are supposed to calculate the resistance between two nodes.” You know, just an average Saturday night. At the time, he was also fascinated by Charlieplexing – an awesome technique that either allows one to control multiple polarized components, such as LEDs, simply by connecting them in a specific way. After toying with the idea for a while, [daqq] found that using just Charlieplexing would be“a horrible mess” but he didn’t stop there. Drawing inspiration from Charlieplexing, he came up with the idea to connect things in such a way that every node is connected by one connection to every other node – a complete graph from a topological view point (this makes so much more sense visually). From here, he was able to set pins to HIGH, LOW, or INPUT and gather all the data needed to solve his linear system of equations.

Now, there is a balance to everything, and while this system can determine the resistance of .5*N(N-1) resistors using just N wires, it also a memory and computation hungry method. Oh well, can’t have it all. But, while it’s computationally hungry, [daqq] got it working on an ATMega32, so it’s not an unmanageable feat. And, let’s not forget to mention [daqq’s] wonderful writing. Even if you don’t know linear algebra (or would rather forget), it’s a good read from a theory perspective. So good, in fact, that [daqq] is getting published in Circuit Cellar!

We love to see theory in the hacker world, so keep it coming! But, while we wait (wink wink), there’s always time to review the basic Hacker Calculus and check out our past math-related articles.

ATMega328 3D!

Small OLED displays are inexpensive these days–cheap enough that pairing them with an 8-bit micro is economically feasible. But what can you do with a tiny display and not-entirely-powerful processor? If you are [ttsiodras] you can do a real time 3D rendering. You can see the results in the video below. Not bad for an 8-bit, 8 MHz processor.

The code is a “points-only” renderer. The design drives the OLED over the SPI pins and also outputs frame per second information via the serial port.

Interview: Francesco de Comité Makes Math Visually Awesome

Francesco de Comité is an Associate Professor in Computer Science at the University of Sciences in Lille, France, where he researches the 2D and 3D representation of mathematical concepts and objects. He’s presented papers on a variety of topics including anamorphoses, experiments in circle packing, and Dupin cyclides. His current project involves modeling and 3D printing sea shells. He’ll be presenting a paper on the topic at Bridges Conference in July. You can find his projects on Flickr as well as on Shapeways.

Hackaday: One of your recent projects involves creating fractal patterns and warping them into biologically-correct sea shell shapes, which you then print.

FdC: Modeling seashell shapes is an old topic–Moseley, 1838, D’Arcy Thompson beginning of 20th century. A seashell can be defined as a curve turning around an axis, while translating in the direction of this axis (i.e. on a helicoidal trajectory), and growing in size at the same time. This was modeled for computers in the ’60s by David Raup.

Drawing patterns on seashells was described by Hans Meinhardt using a model of chemical reactions (activator-inhibitor), in the same spirit as Turing’s work on morphogenesis. Combining these two works, and using 3D printers instead of 2D renderers, we can build realistic seashells, either by copying existing shells, or inventing new ones. A 3D model is not just a juxtaposition of a huge number of 2D views: manipulating 3D models can help you understand the object, find details, and so on.

I was curious to see if making a 3D seashell was possible. Moreover, I show that this can be done with simple tools — well, except the 3D printer.
Continue reading “Interview: Francesco de Comité Makes Math Visually Awesome”

Projection Mapping in Motion Amazes

Projection mapping is pretty magical; done well, it’s absolutely miraculous when the facade of a building starts popping out abstract geometric objects, or crumbles in front of our very eyes. “Dynamic projection mapping onto deforming non-rigid surface” takes it to the next level. (Watch the video below.)

A group in the Ishikawa Watanabe lab at the University of Tokyo has a technique where they cover the target with a number of dots in an ink that is only visible in the infra-red. A high-speed (1000 FPS!) camera and some very fast image processing then work out not only how the surface is deforming, but which surface it is. This enables them to swap out pieces of paper and get the projections onto them in real time.

Ever wish you could guess more precisely? Or maybe just make your guesses look confusingly legitimate? Guesstimate could help.

It uses Monte Carlo simulations to add some legitimacy to the ranges given to it. For example, if you say the cost of lumber for your next project could be between 2 and 8 dollars a piece, you don’t typically mean that it’s equally likely to be any of those numbers. Most people mean that the boards are most likely to be around 3-5 dollars and everything lower or higher is less probable. Using different shaped distributions, Guesstimate can help include this discrepancy of thought into your pseudo-calculations.

It’s a neat bit of code with a nice interface. There is a commercial side to the project for those who want to collaborate openly or pay someone to host it privately. It has a few neat example models for those interested.

Does anyone use anything like this in their daily lives? Is there another similar project out there? This kind of thing is pretty cool!

Cellular Automata Explorer

Well all know cellular automata from Conway’s Game of Life which simulates cellular evolution using rules based on the state of all eight adjacent cells. [Gavin] has been having fun playing with elementary cellular automata in his spare time. Unlike Conway’s Game, elementary automata uses just the left and right neighbors of a cell to determine the next cell ahead in the row. Despite this comparative simplicity, some really complex patterns emerge, including a Turing-complete one.

[Gavin] started off doing the calculations by hand for fun. He made some nice worksheets for this. As we can easily imagine, doing the calculations by hand got boring fast. It wasn’t long before his thoughts turned to automating his cellular automata. So, he put together an automatic cellular automator. (We admit, we are having a bit of fun with this.)

This could have been a quick software project but half the fun is seeing the simulations on a purpose-built ecosystem. The files to build the device are hosted on Thingiverse. Like other cellular automata projects, it uses LED matrices to display the data. An Arduino acts as the brain and some really cool retro switches from the world’s most ridiculously organized electronics collection finish the look of the project.

To use, enter the starting condition with the switches at the bottom. The code on the Arduino then computes and displays the pattern on the matrix. Pretty cool and way faster than doing it by hand.

Yet Another Inductance Measuring Scheme

How do you measure the value of an unknown inductor? If you have an LCR bridge or meter, you are probably going to use that. If not, there are many different techniques you can use. All of them rely on the same thing my Algebra teacher Mr. Harder used to say back in the 1970’s: you have to use what you know to get what you don’t know.

[Ronald Dekker] must think the same way. He took a 50-ohm signal generator and a scope. He puts the signal output to about 20kHz and adjusts for 1V peak-to-peak on the scope. Then he puts the unknown inductor across the signal and adjusts the frequency (and only the frequency) for an output of 1/2 volt peak-to-peak.