Nachdem in zu diesem Projekt thematisch dazugehörenden Thread Beitrag "Rekursives Floodfill nach Iteratives Floodfill, wie mache ich das?" mir sehr wertvolle Tips (insbesondere von Yalu) gegeben worden sind, habe ich nun mein altes MineSweeper-Programm auf einen CH32V003 portiert. Okay, eine lange Doku habe ich dafür nicht geschrieben, aber diejenigen, die sich mit dem CH32V003 beschäftigen sollten, so sie das nachbauen / "nachempfinden" wollen gut zurechtfinden. Das Projekt baut auf dem Framework CH32FUN auf. Grundsätzlich habe ich den MineSweeper auch schon auf den STM32F401 portiert und sollte hierfür Interesse bestehen, kann ich das hier auch noch posten. Grundsätzlich sollte dieser MineSweeper auch auf einem ATmega328 laufen und wenn hier jemand tatsächlich daran Interesse hat, kann ich das auch noch zu AVR portieren (im Moment - weil immer noch krank - hatte ich schlicht keine Lust, ein AVR-System mit 4 oder 6 Tasten aufzubauen). Dieser MineSweeper hier kann mit 4 oder 6 Tasten gesteuert werden. Hierzu ist der Header keypad2_6.h zu modifizieren. Wird hierin ein 6-Tastenmode eingestellt, gibt es für jede Funktion eine Taste. Eine PLUS-Taste markiert eine Mine, eine SPACE-Taste deckt ein Feld auf. Werden an den V003 nur 4 Tasten angeschlossen, so entspricht ein Doppelklicken links dem Aufdecken eines Feldes (SPACE), ein Doppelklicken rechts dem Markieren einer Mine. Für denjenigen den es interessiert: Viel Spaß damit. Wie immer: Allen anderen viel Spaß beim Negativbewerten. Gute Nacht und schön, Ralph PS: sorry für die schlechten Fotos, das Licht hier ist schlecht und mein neues Handy ist schlechter als mein Altes (grrr)... und auch der Schaltplan: Ich hatte jetzt nicht die Muse "lange" zu zeichnen und habe eben "nur" eine Skizze mit Gimp und Grafiktablet angefertigt. :-) man kann ja erkennen wie die Schaltung auszusehen hat (und ist ja auch absolut nichts "umwerfendes" zu sehen).
Mist, ein Bild ist falsch, wird hiermit nachgereicht.
Jetzt habe ich aus lauter Jux und Dollerei den MineSweeper auch für einen ATmega328 portiert und bin erstaunt, dass die Ansteuerung eines TFT-Displays mit AVR 16 MHz so richtig langsamer als CH32V003 ist (für einen STM32F4 habe ich es auch gemacht). :-) dafür hat der ATmega 32 kByte Flash, was für ein schöneres Logo gereicht hat. Alle benötigten Dateien sind im Archiv, zum Übersetzen wird ein systemweit installierter avr-gcc sowie ein avrdude zum Flashen voraussgesetzt. Das ganze ist ein "Makefile-Projekt", deshalb in den Ordner wechseln und dort make eingeben um das Spiel zu kompilieren. Im Makefile selbst kann der Programmer gewählt werden, mit dem das Spiel geflasht werden soll. Da das ganze mit einem Arduino-Nano auf einem Steckbrett realisiert ist, ist im Makefile als Standard der Arduino-Bootloader eingetragen. Natürlich kann das Programm auch mit einem externen Programmer geflasht werden
1 | Anschlussbelegung AVR ATmega328 zu TFT-Display und Tasten |
2 | ---------------------------------------------------------------- |
3 | |
4 | |
5 | TFT-Display ST7735 ATmega328 (Arduino) Buttons |
6 | ----------------------------------------------------------- |
7 | |
8 | SDA ----------- PB3 (11) |
9 | CLK ----------- PB5 (13) |
10 | RST ----------- PD6 (6) |
11 | DC ----------- PD7 (7) |
12 | CS ----------- PB2 (10) |
13 | |
14 | PC0 (A0) ---------- Taste links * |
15 | PC1 (A1) ---------- Taste hoch |
16 | PC2 (A2) ---------- Taste nach unten |
17 | PC3 (A3) ---------- Taste rechts ** |
18 | |
19 | |
20 | * : Taste links fungiert mit einem Doppelklick zum Aufdecken eines |
21 | Feldes |
22 | |
23 | ** : Taste rechts fungiert mit einem Doppelklick zum Markieren |
24 | eines Feldes unter dem eine Mine liegt |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.