Pages: [1] 2   Go Down
Author Topic: [Anfänger] Hex Brettspiel mit LED´s angesteuert über Arduino?  (Read 1152 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Leute,

ich bin Industriedesign-Student und möchte in einem Projekt folgende Idee realisieren:

Ich möchte das Spiel Hex von John Nash in die Gegenwart holen und mit Hilfe von LED´s neu interpretieren. http://mflechl.web.cern.ch/mflechl/hex.html

Hierbei möchte ich 2 mal 11x11 LED´s (rot und blau) einzeln ansteuern, sodass man sich an jeweils einem Controller gegenüber sitzt, die wählbaren Felder (blinkend) durchklickt, auswählt (starr) und der Gegenspieler an der Reihe ist.

Somit brauche ich ein Feld (warsch aus Holz gebaut) in welches jeweils 11x11 LED´s eingelassen werden (z.B. 11x11 rote und 11x11 blaue), einen Arduino-Controller welcher einmal die LED´s einer Farbe sowie den Controller (4 Pfeile und ein Enter oÄ(zerlegte PC-Tastatur?)) ansteuert. Der Arduino muss wissen, welche Farbe an der Reihe ist, LED´s blinkend und durch Enter erstarren lassen, wissen, welche Felder noch nicht besetzt sind durch den Gegner, sowie erkennen wann das Spiel verloren/gewonnen ist (an der gegnerischen Seite angelangt).


Da ich leider von ganz vorne beginne, wollte ich grundsätzlich fragen ob es überhaupt möglich wäre. Wenn ja ob es Ideen, Tuts zur Umsetzung gibt und wenn nein vllt. ein Vorschlag wie sonst (Rasperry Pi etc).



Vielen vielen Dank für alle Antworten schonmal im Vorraus.


Grüße Winni
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

es gibt Leds die haben 2 Farben in sich http://www.leds24.com/navi.php?suchausdruck=duo+led&JTLSHOP=8326345b2a385fbd03d6d4f8a13b66d9 hier zum Beispiel

Da du viele Leds steuern möchtes, würde ich mich mal mit einem Schieberegister oder Multiplexin befassen :-)
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich denke schon, das ein Arduino das schafft. das spannendste wird vermutlich, die 242 LEDs anzusteuern. Durch die Designvorgabe, das es 2x11x11 LEDs sind, könnte man das ganze über 30 Schieberegister abbilden.
Jeweils 15 Stück sind für 120 Stück einer Farbe plus je eine noch extra an einem Pin. Das wären dann 8 Pins für 242 LEDs. Ggf. sollten die LEDs über ULN2803 Darlington Treiber versorgt werden, damit die Scheiberegister nicht überlastet werden, wenn alle LEDs an sind.
Die "Joysticks" inkl. "Enter" kann man recht einfach über eine Widerstandskaskade an einem analogen Eingang abbilden. Dann reicht ein Eingang pro Joystick. Es bleiben dann noch genug GPIOs für diverse Status-LEDs oder andere Knöpfe.

Alternativ kann man die LEDs auch über einen max7219 Matrix-Treiber steuern. Davon dürften dann 4 Stück reichen. Da einer je 64 (8x8) LEDs ansteuern kann. Da der Chip die LEDs direkt treiben kann, reduziert sich damit die Anzahl der Bauteile enorm.

Auf alle Fälle ein spannendes Projekt mit viel Potential.

Mario.
Logged

Wien
Offline Offline
Edison Member
*
Karma: 28
Posts: 1894
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

25 leds um 10€, da würd' ich mir lieber ws2812er besorgen, 60 stk 25€, und man muß nicht mehr über schieberegister und multiplexing nachdenken...

gruß stefan
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Vielen Dank für die Antworten bisher.

Da ich auch im Programmieren leider wirklich von (fast) 0 Anfangen muss, wäre "Einfach" aufjedenfall priorisiert gegenüber "Billig" smiley

Edit: Zumindest wenn es um Beträge im ein bis zweistelligen Bereich geht smiley-wink
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die Idee mit dem WS2812 ist gut. Die können mehr als nur eine Farbe (RGB LEDs), damit braucht man nur 121 Stück und nicht 242. Von der Steuerung ist das sogar noch einfacher als mit den Schieberegistern und man muss sich keine Gedanken um die Verkabelung wie bei einer Matrix machen.

Das ist nicht nur einfacher, sondern bietet aufgrund der RGB-LEDs noch jede Menge weitere Möglichkeiten.
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 146
Posts: 3039
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Da ich leider von ganz vorne beginne, wollte ich grundsätzlich fragen ob es überhaupt möglich wäre. Wenn ja ob es Ideen, Tuts zur Umsetzung gibt und wenn nein vllt. ein Vorschlag wie sonst (Rasperry Pi etc).

Die Ansteuerung der LEDs ist möglich, wie schon in anderen Beiträgen dargestellt.

Aber wenn Du vorhast, den Arduino das Strategiespiel gegen einen Menschen spielen zu lassen, dürfte der RAM-Speicher nicht ausreichen, um eine auch nur minimale Spielstärke mit einem Arduino als Computerspieler zu realisieren.

Wenn Du vorhast, einen Computerspieler mit hoher Spielstärke zu programmieren, wirst Du den Arduino also nur zum Ansteuern des Spielfelds, LEDs, ggf. Spielsteinerkennung und Gewinnstanderkennung verwenden können, aber als "Gehirn" zur Ermittlung möglichst ausgefeilter Computer-Spielzüge wirst Du stattdessen eine Recheneinheit mit mindesten 1 bis 2  Megabytes RAM-Speicher einsetzen müssen (Raspberry, Smartphone, PC etc.). Sonst wird Deine Implementation wohl nur eine Spielstärke knapp oberhalb von "Zufallszug setzen" erreichen können.


Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Da ich leider von ganz vorne beginne, wollte ich grundsätzlich fragen ob es überhaupt möglich wäre. Wenn ja ob es Ideen, Tuts zur Umsetzung gibt und wenn nein vllt. ein Vorschlag wie sonst (Rasperry Pi etc).

Die Ansteuerung der LEDs ist möglich, wie schon in anderen Beiträgen dargestellt.

Aber wenn Du vorhast, den Arduino das Strategiespiel gegen einen Menschen spielen zu lassen, dürfte der RAM-Speicher nicht ausreichen, um eine auch nur minimale Spielstärke mit einem Arduino als Computerspieler zu realisieren.

Wenn Du vorhast, einen Computerspieler mit hoher Spielstärke zu programmieren, wirst Du den Arduino also nur zum Ansteuern des Spielfelds, LEDs, ggf. Spielsteinerkennung und Gewinnstanderkennung verwenden können, aber als "Gehirn" zur Ermittlung möglichst ausgefeilter Computer-Spielzüge wirst Du stattdessen eine Recheneinheit mit mindesten 1 bis 2  Megabytes RAM-Speicher einsetzen müssen (Raspberry, Smartphone, PC etc.). Sonst wird Deine Implementation wohl nur eine Spielstärke knapp oberhalb von "Zufallszug setzen" erreichen können.




Danke für die Antwort. Es sollen schon 2 reale Personen spielen. Mich überfordert schon das einfachste noch im Moment, da möchte ich nicht noch einen Computer-Spieler programmieren müssen. Schön wäre es aufjedenfall und sicher eine Option das Projekt zu verfeinern, sobald das Grundsätzliche fertig sein sollte und wenn mir die Zeit und Lust dann noch gegeben ist.

Grüße
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wäre es möglich jetzt schon eine Komponentenliste zu erstellen, damit ich schonmal weiß mit was für Geräten ich es zu tun bekommen werde? Mal ausgegangen davon, dass man es mit den genannten WS2812 realisieren würde.
Auch eine kurze Skizzierung der Vorgangsweise, je nach Lust und Zeit detailliert, würde mir sehr helfen und zeigen mit was ich mich beschäftigen muss.


Vielen dank an alle!


Grüße



Edit: Ich weiß ich erbitte einiges und es klingt sicher so als hätte ich vor euch die Arbeit machen zu lassen. Das ist nicht der Fall, man weiß als blutiger Anfänger immer garnicht wo man bei der Masse an Infos, Tutorials und verschiedenen Lösungswegen beginnen soll :/
« Last Edit: April 18, 2013, 02:18:03 pm by Wince » Logged

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 266
Posts: 21657
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

2x121 LED sind viele.

* 4 MAX7219
* Chalieplexing (da können aber nur ein LED eingeshaltet sein und wenige im Multiplexing). http://en.wikipedia.org/wiki/Charlieplexing
* RGB LED-Strip mit Kontrollern zB den WS2811/12

Bin etwas in Verzug. Haben andere bereits geantwortet.

Die WS2811/12 Strips kannst Du in beliebigen Längen abschneiden und unter die Felder Einbauen. Wenn sie zu nahe beieinander sind kannst Du sie auch auseinanderschneiden und nittels 3 Dratbrücken verbinden. Die Ansteuerung erfolgt über eine Bibiothek. Also ist das alles bereits gemacht. Du brauchst nur ein starkes Netzteil. Bei allen eingeschalteten LEDs (weiß) brauchst DU 60mA pro LED; bei 121 also fast 7,5A bei 5V.

Das Joystick würde ich nicht wie mkl0815 Vorschlägt (Widerstandskaskade) realisieren da diese keine gleichzeitigen Tastendrücke oder 45° Ausschlag des joysticks zulassen sondern jeden Taster einzeln abfragen (notfalls über Schieberegister oder Port expander)   

Viele Grüße Uwe

Logged

Germany
Offline Offline
Faraday Member
**
Karma: 59
Posts: 3056
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Das Joystick würde ich nicht wie mkl0815 Vorschlägt (Widerstandskaskade) realisieren da diese keine gleichzeitigen Tastendrücke oder 45° Ausschlag des joysticks zulassen
Das Spiel heisst nicht umsonst Hex, man hat also 6 Richtungen wie die Zielposition für den neuen Stein bewegt wird. Die 7 Taster (incl. "Enter") könnte man schon noch über eine Widerstandskaskade an einem Analog-Eingang realisieren. In der Realisierung sind 2*7 Taster zwar mehr Bastel-Arbeit, sonst dürfte es aber einfacher zu realiserien sein.

Und wann gehst du auf ein 13er oder 19er Brett ? 
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also benötige ich erst einmal einen Arduino (Uno oder Mega?), 2x MAX7219 und die WS2812 Strips, richtig soweit?
Was könnte ich Konkret für die Joystick-Steuerung nehmen?


Grüße
Logged

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 266
Posts: 21657
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ein Arduino Uno reicht und die WS2811/12 Strips und ein starkes 5V Netzteil.
Der WS2812 ist eine RGB LED mit integrierten WS2811. Oft werden die WS2812 auch als WS2811 bezeichnet.
Grüße Uwe
Logged

0
Offline Offline
Edison Member
*
Karma: 20
Posts: 1980
Wo ein Wille ist, da ist auch ein Weg !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Wenn Du vorhast, einen Computerspieler mit hoher Spielstärke zu programmieren, wirst Du den Arduino also nur zum Ansteuern des Spielfelds, LEDs, ggf. Spielsteinerkennung und Gewinnstanderkennung verwenden können, aber als "Gehirn" zur Ermittlung möglichst ausgefeilter Computer-Spielzüge wirst Du stattdessen eine Recheneinheit mit mindesten 1 bis 2  Megabytes RAM-Speicher einsetzen müssen (Raspberry, Smartphone, PC etc.). Sonst wird Deine Implementation wohl nur eine Spielstärke knapp oberhalb von "Zufallszug setzen" erreichen können.

Der STM32F4 Discovery währe da eine sehr preisgünstige Möglichkeit:
http://www.watterott.com/de/STM32F4Discovery
http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF252419
Logged

Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Wien
Offline Offline
Edison Member
*
Karma: 28
Posts: 1894
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

schau bei ebay rein und suche ws2812, da findest Du strips in verschiedenen längen. 121 ist eine blöde zahl, weil immer 60 auf einem meter sind. da bleibt halt einiges über...(oder mach 13).
wenn Du bei ebay noch nach "joystick arduino" suchst, findest Du ein paar kleine joysticks , die praktisch sein könnten.
bei ebay immer auf weltweite suche gehen.
wegen der programmierung mach Dir keine sorgen, da lotsen wir Dich schon durch.

gruß stefan
Logged

Pages: [1] 2   Go Up
Jump to: