Arduino based cellular automata

Arduino cellular automata

You have probably heard of Game of Life. It is popular cellular automata simulation game where you create simple structures in infinite plain and watch the life evolve. All this is achieved by implementing several basic rules. By implementing different rules, you can simulate biological processes, model structure behavior and program robot swarms. Building cellular automata is fairly simple. You can start with Arduino Nano and 128×64 OLED to get pretty interesting results. In this following project the Game of Life has been implemented. There are only two rules applied to pixels to make it work: A cell which is dead and is surrounded by exactly 3 alive cells, will be born A cell which is alive and has either 3 or 2 alive cells will remain alive, else it dies The source code is hosted on GitHub which can be analyzed and used for your purposes. In order to compile for Arduino you will need two additional libraries – Adafruit GFX, which handles graphical display (draws graphs and displays text) and second is Adafruit SSD1306 which is the actual… Continue reading

Another digital clock displays Game of Life

Matthew wanted to makes geeky gift for his brother who is mathematician and programmer. So he came out with digital clock idea which would display time and play Game of Life. There are plenty of Game of Life clocks around the internet bu all seemed somewhat limited in display size. So he grabbed 16×32 RGB LED matrix and built pretty slick looking clock. The clock is build around Arduino UNO which reads time from Chronodot RTC. Clocks display is refreshed every minute and game of life start over where time digits act as initial condition. Likewise other clocks, this one always displays time in background, so anytime you could tell the time. Again – Arduino UNO has limited RAM so there has to be various optimizations and workaround made. Other clock options include: brightness control, UTC offset, LIFe game speed, 12/24 hour mode select, changing colors of display. Continue reading