Automates cellulaires basés sur Arduino et OLED
Composants et fournitures
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
À propos de ce projet
Page d'origine
http://runtimeprojects.com/2016/02/arduino-and-oled-based-cellular-automata/
Ce projet utilise un OLED I2C 128 × 64 pour afficher un minuscule automate cellulaire alimenté par Arduino Nano.
Prérequis
- 2x petites planches à pain (ou 1x standard)
- 1x Arduino Nano (peut également être Uno)
- 1 x OLED I2C 128 × 64
- 4x fils de connexion
Hypothèses
Au cours de ce tutoriel, je supposerai que vous savez ce qu'est un Arduino (o_O) et que vous savez comment utiliser l'IDE et télécharger des croquis simples. Je suppose également que vous connaissez un peu la programmation, de préférence la programmation C.
Alors commençons !!
Contexte
Qu'est-ce que les automates cellulaires ? Je vais expliquer 1 type d'automates cellulaires qui est le Jeu de la Vie de John Conway. Il s'agit d'une grille ou de cellules ayant chacune 2 états Vrai ou Faux/activé ou désactivé/vivant ou mort. Ces cellules sont régies par 2 règles simples :
Règle 1 :Une cellule morte et entourée d'exactement 3 cellules vivantes, naîtra
Règle 2 : Une cellule qui est vivante et a 3 ou 2 cellules vivantes restera en vie, sinon elle meurt
Simple, non ? Si vous avez besoin de plus d'informations, visitez Game Of Life ou Cellular Automata sur Wikipedia.
Circuits
Connectez donc l'Arduino et l'écran LCD OLED à la maquette et commencez le câblage.
- Arduino —– OLED
- 3.3v ———— VCC (faites attention à vos exigences de tension OLED)
- GND ———– GND
- A4 ————– SDA
- A5 ————– SCL
Ensuite, j'ai attaché les deux planches à pain dos à dos et j'ai créé un petit téléviseur
Programmation du sketch
Afin de faciliter (et de rendre possible) le jeu avec l'écran OLED, nous utiliserons 2 librairies d'Adafruit. Si vous ne savez pas comment ajouter des bibliothèques, veuillez visiter https://www.arduino.cc/en/Guide/Libraries
- Bibliothèque Adafruit GFX qui sera utilisée pour gérer tous les graphiques et textes affichés sur l'OLED https://github.com/adafruit/Adafruit-GFX-Library
- Bibliothèque Adafruit SSD1306 qui est essentiellement le pilote de notre OLED. Cette bibliothèque fonctionne uniquement avec OLED SSD1306 128×32 et 128×64 https://github.com/adafruit/Adafruit_SSD1306
Le croquis peut être téléchargé depuis notre github :https://github.com/klauscam/Arduino-Cellular-Automata/
Quelques explications
En ligne 51 avec code
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialisation avec l'adresse I2C 0x3C (128x64)
l'adresse, qui est le 0x3C, peut être différente. J'ai recherché le plus évident et j'en ai essayé quelques-uns avant de le faire fonctionner.
Produit de travail
Les lignes horizontales visibles sont le résultat des taux de rafraîchissement de l'OLED et de la caméra.
Si vous avez besoin d'aide avec le code ou quoi que ce soit, veuillez laisser vos commentaires dans la section commentaires ci-dessous.
Merci
Mots clés :Tutoriel d'affichage OLED I2C pour automates cellulaires Arduino Arduino Nano
Code
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/Processus de fabrication
- Jeu Arduino Pong - Écran OLED
- Animation LCD et jeux
- Voltmètre DIY utilisant Arduino et Smartphone
- Pixie :une montre-bracelet NeoPixel basée sur Arduino
- Communication Python3 et Arduino
- Compteur RPM basé sur Arduino avec un nouvel algorithme plus rapide
- eDOT - Horloge de précision et station météo basée sur Arduino
- Radio FM utilisant Arduino et RDA8057M
- Système de présence basé sur Arduino et la feuille de calcul Google