Arduino e autômatos celulares baseados em OLED
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Sobre este projeto
Página Original
http://runtimeprojects.com/2016/02/arduino-and-oled-based-cellular-automata/
Este projeto usa um OLED I2C 128 × 64 para exibir um minúsculo autômato celular equipado com Arduino Nano.
Pré-requisitos
- 2 placas de ensaio pequenas (ou 1 padrão)
- 1x Arduino Nano (também pode ser Uno)
- 1x OLED I2C 128 × 64
- 4 fios de jumper
Suposições
Durante este tutorial, assumirei que você sabe o que é um Arduino (o_O) e sabe como usar o IDE e fazer upload de esboços simples. Também presumo que você conheça um pouco de programação, de preferência C.
Então vamos começar!!
Fundo
O que é celular autômato? Vou explicar 1 tipo de autômato celular que é o Game of Life de John Conway. É uma grade ou células, cada uma com 2 estados Verdadeiro ou Falso / ligado ou desligado / vivo ou morto. Essas células são regidas por 2 regras simples:
Regra 1 :Uma célula que está morta e rodeada por exatamente 3 células vivas nascerá
Regra 2: Uma célula que está viva e tem 3 ou 2 células vivas permanecerá viva, caso contrário, ela morre
Simples, não? Se precisar de mais informações visite o Game Of Life ou Cellular Automata na Wikipedia.
Circuito
Portanto, conecte o Arduino e o LCD OLED à placa de ensaio e comece a fiação.
- Arduino —– OLED
- 3,3v ———— VCC (preste atenção aos requisitos de voltagem do OLED)
- GND ———– GND
- A4 ————– SDA
- A5 ————– SCL
Em seguida, conectei as placas de ensaio uma com a outra e criei uma pequena TV
Programando o esboço
Para facilitar (e possibilitar) o brincar com o display OLED, usaremos 2 bibliotecas da Adafruit. Se você não sabe como adicionar bibliotecas, visite https://www.arduino.cc/en/Guide/Libraries
- Biblioteca Adafruit GFX que será usada para lidar com todos os gráficos e textos exibidos no OLED https://github.com/adafruit/Adafruit-GFX-Library
- Biblioteca Adafruit SSD1306 que basicamente é o driver para nosso OLED. Esta biblioteca funciona apenas com OLED SSD1306 128 × 32 e 128 × 64 https://github.com/adafruit/Adafruit_SSD1306
O esboço pode ser baixado de nosso github:https://github.com/klauscam/Arduino-Cellular-Automata/
Alguma explicação
Na linha 51 com código
display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // inicializar com o addr I2C 0x3C (128x64)
o endereço, que é 0x3C, pode ser diferente. Procurei o mais óbvio e tentei alguns antes de fazê-lo funcionar.
Produto de Trabalho
As linhas horizontais visíveis são o resultado das taxas de atualização do OLED e da câmera.
Se você precisar de alguma ajuda com o código ou qualquer coisa, por favor, deixe seus comentários na seção de comentários abaixo.
Obrigado
Tags:Arduino Arduino Nano Cellular Automata I2C Tutorial de exibição OLED
Código
Github
https://github.com/adafruit/Adafruit-GFX-Libraryhttps://github.com/adafruit/Adafruit-GFX-LibraryGithub
https://github.com/adafruit/Adafruit_SSD1306https://github.com/adafruit/Adafruit_SSD1306Github
https://github.com/klauscam/Arduino-Cellular-Automata/https://github.com/klauscam/Arduino-Cellular-Automata/Processo de manufatura
- Jogo Arduino Pong - Tela OLED
- Animação de LCD e jogos
- Faça você mesmo voltímetro usando Arduino e Smartphone
- Pixie:Um relógio de pulso NeoPixel baseado em Arduino
- Comunicação Python3 e Arduino
- Contador RPM baseado em Arduino com um algoritmo novo e mais rápido
- eDOT - Relógio de precisão baseado em Arduino e estação meteorológica
- Rádio FM usando Arduino e RDA8057M
- Sistema de atendimento baseado em Arduino e planilha do Google
- Um sistema de detecção de queda baseado em Arduino, Windows e Azure