Autômatos Celulares em Tempo Real no Arduino com Display OLED 128x64
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Protoboard meia (ou uma padrão) | 1 |
| OLED 128x64 I2C | 1 |
| Jumpers | 4 |
| Arduino Nano R3 | 1 |
Sobre o Projeto
Projeto original: Runtime Projects
Este projeto usa um display OLED I2C 128×64 para exibir autômatos celulares (Game of Life) rodando em um Arduino Nano.
Pré-requisitos
- 2x protoboards pequenas (ou 1 padrão)
- 1x Arduino Nano (Uno também serve)
- 1x OLED I2C 128×64
- 4x Jumpers
Pressupostos
Assume-se que você conhece Arduino, sabe usar a IDE e fazer upload de sketches simples. Conhecimento básico de programação C é desejável.
Contexto: O que são Autômatos Celulares?
Explico o Jogo da Vida de John Conway. É uma grade de células com dois estados: viva ou morta. Regras simples:
- Regra 1: Célula morta com exatamente 3 vizinhas vivas nasce.
- Regra 2: Célula viva com 2 ou 3 vizinhas vivas sobrevive; caso contrário, morre.
Simples, não? Mais info na Wikipedia: Game of Life.
Circuito
Conecte Arduino e OLED na protoboard:
- Arduino — OLED
- 3.3V ———— VCC (verifique tensão do seu OLED)
- GND ———– GND
- A4 ————– SDA
- A5 ————– SCL


Prendi as duas protoboards costas a costas, criando uma "mini TV".
Programação do Sketch
Usamos duas bibliotecas da Adafruit:
- Adafruit GFX Library – gráficos e texto no OLED: GitHub
- Adafruit SSD1306 – driver para OLED SSD1306 128×32 e 128×64: GitHub
Se não sabe instalar bibliotecas: Guia Arduino.
Sketch completo no GitHub: Arduino-Cellular-Automata
Explicações Importantes
Na linha 51:
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Inicializa com endereço I2C 0x3C (128x64)
O endereço 0x3C pode variar. Testei alguns até funcionar.
Resultado
As linhas horizontais visíveis são resultado das taxas de atualização do OLED e da câmera.
Dúvidas? Deixe nos comentários.
Links das Bibliotecas e Código
Processo de manufatura
- Construa o Clássico Jogo Pong no Arduino UNO com Display OLED – Tutorial Passo a Passo
- Crie Animações e Jogos Envolventes em LCD com Arduino UNO
- Construa um Voltímetro Inteligente com Arduino e Smartphone – Projeto DIY Fácil
- Pixie: Relógio de Pulso NeoPixel Baseado em Arduino – Elegante Timepiece DIY LED
- Python 3 para Arduino UNO: Controle de Comandos Fácil e Demo com LED
- Contador de RPM Arduino de Alta Velocidade com Algoritmo Inovador
- eDOT: Relógio de Precisão e Estação Meteorológica Arduino com Controle IR Embutido
- Construa um Rádio FM Compacto com Arduino Nano e RDA5807M
- Sistema de Presença em Tempo Real com RFID, Arduino e Google Sheets
- Sistema Avançado de Detecção de Quedas com Arduino, Windows IoT e Azure Cloud