Arduino- und OLED-basierte zelluläre Automaten
Komponenten und Verbrauchsmaterialien
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Über dieses Projekt
Originalseite
http://runtimeprojects.com/2016/02/arduino-and-oled-based-cellular-automata/
Dieses Projekt verwendet ein I2C 128×64 OLED, um einen winzigen zellulären Automaten anzuzeigen, der von Arduino Nano angetrieben wird.
Voraussetzungen
- 2x kleine Steckbretter (oder 1x Standard)
- 1x Arduino Nano (kann auch Uno sein)
- 1x OLED I2C 128×64
- 4x Jumperdrähte
Annahmen
Während dieses Tutorials gehe ich davon aus, dass Sie wissen, was ein Arduino ist (o_O) und Sie wissen, wie Sie die IDE verwenden und einfache Skizzen hochladen. Ich gehe auch davon aus, dass Sie ein wenig Programmierkenntnisse haben, vorzugsweise C-Programmierung.
Also lass uns loslegen!!
Hintergrund
Was sind Zellulare Automaten? Ich werde 1 Art von zellularen Automaten erklären, das Game of Life von John Conway. Es ist ein Gitter oder Zellen mit jeweils 2 Zuständen Wahr oder Falsch/Ein oder Aus/Lebendig oder Tot. Diese Zellen unterliegen 2 einfachen Regeln:
Regel 1 :Eine tote Zelle, die von genau 3 lebenden Zellen umgeben ist, wird geboren
Regel 2: Eine lebende Zelle mit entweder 3 oder 2 lebenden Zellen bleibt am Leben, andernfalls stirbt sie
Einfach, nicht wahr? Wenn Sie weitere Informationen benötigen, besuchen Sie das Game Of Life oder Cellular Automata auf Wikipedia.
Schaltung
Schließen Sie also das Arduino und das OLED-LCD an das Steckbrett an und beginnen Sie mit der Verkabelung.
- Arduino —– OLED
- 3,3 V ———— VCC (achten Sie auf Ihre OLED-Spannungsanforderungen)
- GND ———– GND
- A4 ————– SDA
- A5 ————– SCL
Dann habe ich beide Steckbretter Rücken an Rücken befestigt und einen kleinen Fernseher erstellt
Programmieren der Skizze
Um das Spielen mit dem OLED-Display zu erleichtern (und zu ermöglichen), verwenden wir 2 Bibliotheken von Adafruit. Wenn Sie nicht wissen, wie Sie Bibliotheken hinzufügen, besuchen Sie bitte https://www.arduino.cc/en/Guide/Libraries
- Adafruit GFX-Bibliothek, die verwendet wird, um alle Grafiken und Texte zu verarbeiten, die auf der OLED angezeigt werden https://github.com/adafruit/Adafruit-GFX-Library
- Adafruit SSD1306-Bibliothek, die im Grunde der Treiber für unsere OLED ist. Diese Bibliothek funktioniert nur mit OLED SSD1306 128×32 und 128×64 https://github.com/adafruit/Adafruit_SSD1306
Die Skizze kann von unserem Github heruntergeladen werden:https://github.com/klauscam/Arduino-Cellular-Automata/
Einige Erklärung
In Zeile 51 mit Code
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //mit der I2C-Adresse 0x3C (128x64) initialisieren
die Adresse, die 0x3C ist, kann unterschiedlich sein. Ich habe nach den offensichtlichsten gesucht und einige ausprobiert, bevor ich sie zum Laufen gebracht habe.
Funktionierendes Produkt
Die sichtbaren horizontalen Linien sind das Ergebnis der Bildwiederholraten der OLED und der Kamera.
Wenn Sie Hilfe beim Code oder ähnlichem benötigen, hinterlassen Sie bitte Ihre Kommentare im Kommentarbereich unten.
Danke
Tags:Arduino Arduino Nano Cellular Automata I2C OLED Display Tutorial
Code
Github
https://github.com/adafruit/Adafruit-GFX-Bibliothekhttps://github.com/adafruit/Adafruit-GFX-BibliothekGithub
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/Herstellungsprozess
- Arduino Pong-Spiel - OLED-Display
- LCD-Animation und -Spiele
- DIY-Voltmeter mit Arduino und Smartphone
- Pixie:Eine Arduino-basierte NeoPixel-Armbanduhr
- Python3- und Arduino-Kommunikation
- Arduino-basierter Drehzahlmesser mit neuem und schnellerem Algorithmus
- eDOT - Arduino-basierte Präzisionsuhr und Wetterstation
- FM-Radio mit Arduino und RDA8057M
- Anwesenheitssystem basierend auf Arduino und Google Spreadsheet
- Ein Sturzerkennungssystem basierend auf Arduino, Windows und Azure