Recommended Posts

There's a fair bit going on here, and I'm still making the LDD files for it. The principle is pretty straightforward.

In order to implement Life, you need a matrix of cells. At each step, each cell needs to count the number of live neighbours, and then change its own state based on that count. 3 live neighbours will cause a dead cell to come to life. 2 or 3 live neighbours will allow a live cell to stay alive. Any other count will result in the cell dying or remaining dead.

Each cell is identical. At the front is the display, which can show alive (orange) or dead (black). At the back is a turntable which is used to poll its neighbours.

At the heart of each cell is this setup:

rules.jpg

As the turntable revolves, each live neighbour it encounters knocks a lever which pulls on the axle on the right. This moves the blue linkage, which pushes the grey rule block up by one tooth.

After a full revolution, the red pieces on the left are pushed in, and depending on whether they hit a tile or a gap in the grey rule block, push a rod on the left or the right of the mechanism. This sets the state to alive or dead.

The block then drops down back to its starting position, and the cycle starts again.

It's all modular, and given enough Lego you could make an arbitrarily large matrix. You can also swap out the rule block if you want to run a different cellular automaton.

 

 

 

Share this post


Link to post
Share on other sites

That is amazing!*huh*

It looks like it works very well, even though the whole rules mechanism looks tricky and a bit fragile.

I guess that increasing the number of cells will result in more friction, so there will be a mechanical limit somewhere. I'd love to see a floater moving across a (much) bigger matrix :grin::devil:

Share this post


Link to post
Share on other sites

Vertically it would grind to a halt pretty soon, but horizontally, you could put a motor on each column and stack them indefinitely.

 

Share this post


Link to post
Share on other sites

Absolutely amazing! There have been a few "computer-like" devices from Technic over the years (like a Babbage difference engine), and this is defiantly one of the best I've seen.

Share this post


Link to post
Share on other sites

Fascinating concept and device. Will you be hooking up a motor to it and recording a long sequence? How reliable is the mechanism? 

Share this post


Link to post
Share on other sites

I only finished this iteration of it at the weekend, so I don't know about long term reliability. It hasn't jammed or miscalculated yet.

With a 3x3 matrix there isn't really any long sequence - I cranked the handle on a blinker until I got bored. There's a lot of building to do to get it up to the next grid size.

Bonus build timelapse:

http://www.youtube.com/watch?v=LtFyHihO5Cg

 

Edited by AncientJames
making the youtube link embed

Share this post


Link to post
Share on other sites

Wow, this absolutely phenomenal.  I am struggling for words!  I have thought about such a thing many times, and concluded that it was in practice essentially impossible!  (I was quite happy when I managed to implement a one-dimensional cellular automaton mechanically - see below - but yours blows that out of the water). 

It would be great to see a grid big enough for some interesting configurations.  It may well be worth investigating other cellular automaton rules (it seems that you can implement any totalistic rule with the Moore neighborhood).  It's likely that some others can give more interesting patterns on a small grid.  (Although of course Life has the advantage of being very well known).

Please do make a digital file or instructions.  I would be very happy to test or help in other ways.

https://youtu.be/_52PX3vEntQ

Edited by aeh5040

Share this post


Link to post
Share on other sites

I normally don't like to reply to posts just to say "that's really cool". But I felt I had to make an exception in this case. This is incredible.

Owen.

Share this post


Link to post
Share on other sites
5 hours ago, aeh5040 said:

I was quite happy when I managed to implement a one-dimensional cellular automaton mechanically 

Oh yes, I was really excited when I saw your cellular automaton!

My device does have a restriction on its rules that any given neighbour count can only flip in one direction. You can't, for example, have a rule where 3 neighbours will cause a dead cell to be born and cause a live cell to die. I'd like to try different rules, but Life has always been the one I come back to.

You can implement the von Neumann neighbourhood by replacing the probe at the back with a shorter axle.

An interesting possibility, since each cell carries its own copy of the rules, is to have different rules in different places. Using lower neighbour counts along the edges might help counteract the small size of the matrix.

 

 

Share this post


Link to post
Share on other sites

I've uploaded a model of the cell mechanism to bricksafe here. I used stud.io this time, but I can export it as something else if that's not generally convenient.

The chassis and control unit will take a while to model, but will eventually appear in the same place.

 

The cell is a pretty easy build - apart from making sure the moving parts move freely, there's no finessing or calibration needed. Just snap it together and it works.

I couldn't get the rubber bands right in the model. It should be obvious where they attach.

Knock the red lever to make it count. Push the orange liftarms up to make it flip.

 

I haven't actually built one from this model, so consider it untested. Please let me know if you try building one and it doesn't work.

 

_cell01.png

Share this post


Link to post
Share on other sites

I just built a cell from that model, and I discovered a few errors. Most importantly, it has two of the angled connector #3, where it should be using #5. I'll upload a fixed version, but look out for that if you do try building from the original model.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.