Archived entries for bonsai

Bonsai V4.0 _ Matrix Revisited

I dug out my LED Matrices and was pleasantly surprised that I’d designed these custom carrier boards and had some sample code on my laptop that actually worked.

This is in support of Dao’s latest project, and she’s currently working on the other half (a dress sewn from scratch, and a custom matrix of LEDs connected with conductive fabric tape and thread).

We’re both glad the arduino controller bit is taken care of.

FYI, these carrier boards would be even better if I hadn’t messed up some pins so the matrix rows go 8, 1, 2, 3, 4, 5, 6, 7. Ah, it can always be fixed in the code, and was!

Processing Based Forestry

I’ve been building some Processing sketches to draw trees. This lead me to L-Systems (or Lindenmayer Systems) which are great rule-based formulas that can be used to draw patterns with natural looking forms. These same formulas can be used to describe natural growth and formations.

The most successful sketch to-date is this one. It’s based on a sketch called “Hairball” that I found on a page belonging to W. Xavier Sneigrove. I’ve tweaked a bit of the code to make trees instead.

(click the image to see the sketch)

I hope to someday combine this with the bonsai hardware so it can display a unique naturalistic tree that’s “grown” from software rather than a single 3D model that I labored over. This will definitely open up the possibility for the kind of slow interaction I’m hoping for as well. That the plant would grow more on the side facing a window during the day, or some kind of pruning or training. Something slow would be nice.

L-system Drawing

This Processing sketch features a truly l-system based plant. I haven’t figured out how to “grow” this plant in the same way as the very curly other one. When you click in the window of this sketch it jumps another generation in the weed drawing formula.

Based on the l-system rule: (X → F-[[X]+X]+F[+FX]-X),(F → FF)
Example 8: Fractal plant from wikipedia

V4.0 – 3D Pre-Visualization 3

A second animation finished. This does a nice slow descent while it spins. I’m ready to try building this.

(click the image to see the in-progress animation)

V4.0 – 3D Pre-Visualization 2

An animation of the pre-visualization finished enough frames for me to relax a little. I think this will look enough like a bonsai to be recognizable to others. I really just hope that an average viewer knows what it’s supposed to represent. It seems that seeing this in the round really helps make the form visible.


(click the image to see the in-progress animation)

V4.0 – 3D Pre-Visualization 1

I’ve finished a rough 3D model of a fairly realistic Bonsai. I may post some process, but after much slicing in various ways and directions I finished cutting up my model into matrix-friendly pieces. (8×8 pixel squares)

I was also busy building a model of the upcoming hi-res matrices and some way to pre-visualize the display of the aforementioned sliced up 3D model. The result of many attempts is pretty accurate to what I expect the V4.0 device to look like once it’s all programmed up and spinning. This display assumes I’ll have a resolution of 32 x 32 pixels, which will only require 1 chain of matrix-controller chips and only 3 lines from my controller.

V4.0 – LED Matrix Circuits

As my photos illustrate all too well, the wiring of the matrices is pretty hairy. I’m planning to have some more prototype boards made as a back for each matrix. I’ll try to build in the interfacing between these boards, so they’ll all plug into each-other when I build a larger array.

I’m still using the freeware EagleCAD program, and I’m right in the middle of building a new library for the matrix. There’s already a part for the MAX7221 (actually the MAX7219) so I don’t have to worry about that.

I’d like to get the boards ordered ASAP, so I can experiment with more matrices at once. Though, I’m concerned that I’ll discover the boards are wrong or could have been better. Kind of a catch22, so I may just have a couple made up or do them at home again. (sigh)

V4.0 – LED Matrix Code Driven Animation

I’m pretty happy with myself for this one. I’ve been reading the recently published book on Processing. I’m glad too, because the Arduino environment is based on the Processing language and this has given me enough understanding to patch together the useful pieces of code I found earlier.

There was an early example in the Processing book of a bouncing ball within a little rectangle on screen. I thought I might be able to adapt that code to work in the matrix. It didn’t need much adjusting, and was much simpler as I didn’t need to “draw” a rectangle or an ellipse. So, check out the bouncing:

Arduino Code:
Bouncing Ball

V4.0 – LED Matrix Animates

I created a couple monotonous pieces of code to generate an animated line. Before I did any serious coding I figured I should just try shoving a bunch of frames at the matrix and test the speed/refresh rate. I did make an Excel spreadsheet, where I can fill out grids that generate their own code.

I made a couple animated sequences with that. Click on these frames to see the animations:

Arduino Code:
Counting Animation
Pattern Animation

V4.0 – LED Matrix lights up

I found a great deal of help with this online. Oddly specific to the task, a search for MAX7221 and Arduino gets a lot of results in Arduino forums and project pages. There’s a little code, but mostly overview, basic questions answered, details meaningless to beginners (like me), and my favorite pseudocode.

I did get this to work anyway. I’ll be adding screen shots, code examples, and process later. Here’s some visual documentation:



Copyright © 2004–2009. All rights reserved.

RSS Feed. This blog is proudly powered by Wordpress and uses Modern Clix, a theme by Rodrigo Galindez.