Autómatas celulares basados en Arduino y OLED
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Acerca de este proyecto
Página original
http://runtimeprojects.com/2016/02/arduino-and-oled-based-cellular-automata/
Este proyecto utiliza un OLED I2C 128 × 64 para mostrar un pequeño autómata celular impulsado por Arduino Nano.
Requisitos previos
- 2x placas de prueba pequeñas (o 1x estándar)
- 1x Arduino Nano (también puede ser Uno)
- 1x OLED I2C 128 × 64
- 4 cables de puente
Supuestos
Durante este tutorial, asumiré que sabes qué es un Arduino (o_O) y sabes cómo usar el IDE y cargar bocetos simples. También asumiré que sabe un poco de programación, preferiblemente programación en C.
¡¡Así que comencemos !!
Fondo
¿Qué es Cellular Automata? Explicaré un tipo de autómatas celulares que es el Juego de la vida de John Conway. Es una cuadrícula o celdas, cada una de las cuales tiene 2 estados Verdadero o Falso / encendido o apagado / vivo o muerto. Estas celdas se rigen por 2 reglas simples:
Regla 1 :Una célula que está muerta y está rodeada por exactamente 3 células vivas, nacerá
Regla 2: Una célula que está viva y tiene 3 o 2 células vivas permanecerá viva, de lo contrario muere
Simple, ¿no? Si necesita más información, visite Game Of Life o Cellular Automata en Wikipedia.
Circuito
Así que conecte el Arduino y OLED LCD a la placa de pruebas y comience a cablear.
- Arduino —– OLED
- 3.3v ———— VCC (preste atención a sus requisitos de voltaje OLED)
- GND ———– GND
- A4 ————– SDA
- A5 ————– SCL
Luego adjunté ambas placas de prueba una detrás de la otra y creé una pequeña TV
Programando el boceto
Para facilitar (y hacer posible) jugar con la pantalla OLED, usaremos 2 bibliotecas de Adafruit. Si no sabe cómo agregar bibliotecas, visite https://www.arduino.cc/en/Guide/Libraries
- Biblioteca Adafruit GFX que se utilizará para manejar todos los gráficos y texto que se muestran en OLED https://github.com/adafruit/Adafruit-GFX-Library
- Biblioteca Adafruit SSD1306 que básicamente es el controlador de nuestro OLED. Esta biblioteca solo funciona con OLED SSD1306 128 × 32 y 128 × 64 https://github.com/adafruit/Adafruit_SSD1306
El boceto se puede descargar desde nuestro github:https://github.com/klauscam/Arduino-Cellular-Automata/
Alguna explicación
En la línea 51 con código
la dirección, que es 0x3C, puede ser diferente. Busqué los más obvios y probé algunos antes de que funcionaran.
Producto funcional
Las líneas horizontales visibles son el resultado de las frecuencias de actualización del OLED y la cámara.
Si necesita ayuda con el código o algo, deje sus comentarios en la sección de comentarios a continuación.
Gracias
Etiquetas:Arduino Arduino Nano Cellular Automata I2C Tutorial de pantalla 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/Proceso de manufactura
- Juego Arduino Pong - Pantalla OLED
- Animación LCD y juegos
- Voltímetro de bricolaje con Arduino y un teléfono inteligente
- Pixie:un reloj de pulsera NeoPixel basado en Arduino
- Python3 y comunicación Arduino
- Contador de RPM basado en Arduino con un algoritmo nuevo y más rápido
- eDOT - Reloj de precisión y estación meteorológica basados en Arduino
- Radio FM usando Arduino y RDA8057M
- Sistema de asistencia basado en Arduino y hoja de cálculo de Google
- Un sistema de detección de caídas basado en Arduino, Windows y Azure
- Cerradura de puerta protegida con contraseña basada en Arduino y Android