Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
projektewise1718:haligalipublic:start [2018/05/17 00:40] d.golovko angelegt |
projektewise1718:haligalipublic:start [2018/07/10 13:47] (aktuell) d.golovko |
||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
Halli Galli ist ein sehr weit verbreitet Kartenpiel für Kinder welches als wichtiges Spielelement ein Glocke enthält, welche geläutet werden muss. Die genaueren Spielregeln findet man z. B. [[https://www.spielregeln.de/halli-galli-das-spiel-fuer-schnelle-finger.html|hier]]. | Halli Galli ist ein sehr weit verbreitet Kartenpiel für Kinder welches als wichtiges Spielelement ein Glocke enthält, welche geläutet werden muss. Die genaueren Spielregeln findet man z. B. [[https://www.spielregeln.de/halli-galli-das-spiel-fuer-schnelle-finger.html|hier]]. | ||
Zu unseren Zwecken hab wir das Spiel so abgeändert, dass es nur angedacht ist im 1-gegen-1 gegen den Roboter zu spielen. Des weiteren habn wir uns gedacht, dass es schwierig zu realisieren ist ist, dass der Roboter Karten mischen soll. Auch das übergeben von den Karten an den Spieler, der nicht die Glocke geläutet hat, haben wir weggelassen. | Zu unseren Zwecken hab wir das Spiel so abgeändert, dass es nur angedacht ist im 1-gegen-1 gegen den Roboter zu spielen. Des weiteren habn wir uns gedacht, dass es schwierig zu realisieren ist ist, dass der Roboter Karten mischen soll. Auch das übergeben von den Karten an den Spieler, der nicht die Glocke geläutet hat, haben wir weggelassen. | ||
- | <note important>Somit lag bei uns der Fokus, dass der Roboter einzelnen Karten ausgeben, ausliegende Karten erkennne und die Glocke läuten kann.</note> | + | **Somit lag bei uns der Fokus, dass der Roboter einzelnen Karten ausgeben, ausliegende Karten erkennnen und die Glocke läuten kann.** |
- | ====Konstruktion===={{:projektewise17:haligali:doku:halligalli_code.zip?linkonly}} | + | ====Konstruktion==== |
---- | ---- | ||
Zeile 12: | Zeile 12: | ||
===Kartenausgabe=== | ===Kartenausgabe=== | ||
- | <figure label>{{:projektewise17:haligali:doku:kartenausgabe.png?500|Seitenansicht}}<caption>Abbildung 1: Seitenansicht</caption></figure> | + | <figure label>{{:projektewise17:haligali:doku:kartenausgabe.png?500|Seitenansicht}}<caption>Seitenansicht</caption></figure> |
Unser Anspruch war, dass der Roboter ziemlich zuverlässig einzelne Karten ausgeben kann. Unsere Konstruktion besteht somit aus einer Kartenablage, in der die Karten liegen, einem Steppermoter, der über ein gummiertes Rad von unten die unterste Karte des Stapels nach vorne schiebt und einer Rampe, auf der die auszugebende Karte dann herrunterrutscht. | Unser Anspruch war, dass der Roboter ziemlich zuverlässig einzelne Karten ausgeben kann. Unsere Konstruktion besteht somit aus einer Kartenablage, in der die Karten liegen, einem Steppermoter, der über ein gummiertes Rad von unten die unterste Karte des Stapels nach vorne schiebt und einer Rampe, auf der die auszugebende Karte dann herrunterrutscht. | ||
- | <figure label>{{:projektewise17:haligali:doku:kartenausgabe_front.png?500|Frontansicht}}<caption>Abbildung 2: Frontansicht</caption></figure> | + | <figure label>{{:projektewise17:haligali:doku:kartenausgabe_front.png?500|Frontansicht}}<caption>Frontansicht</caption></figure> |
Damit wir sicherstellen konnten, dass auch nur eine Karte pro Ausgabe auch ausgegeben wird haben wir eine Art Wand noch vor den Kartenstapel eingezogen, welche von der Höhe so eingestellt war, dass nur eine Karten darunter durch passt. Da wir nicht genau bestimmen konnten, wie weit sich das Rad drehen muss, damit nur eine Karte ausgeben wird, haben wir noch eine Rückwärtsbewegung des Rades hinzugefügt, dass wenn die nächste Karte aus versehen schon mit nach vorne geschoben wird, sie wieder zurück geschoben wird. | Damit wir sicherstellen konnten, dass auch nur eine Karte pro Ausgabe auch ausgegeben wird haben wir eine Art Wand noch vor den Kartenstapel eingezogen, welche von der Höhe so eingestellt war, dass nur eine Karten darunter durch passt. Da wir nicht genau bestimmen konnten, wie weit sich das Rad drehen muss, damit nur eine Karte ausgeben wird, haben wir noch eine Rückwärtsbewegung des Rades hinzugefügt, dass wenn die nächste Karte aus versehen schon mit nach vorne geschoben wird, sie wieder zurück geschoben wird. | ||
===Klingelstation=== | ===Klingelstation=== | ||
- | <figure label>{{:projektewise17:haligali:doku:klinegl.png?500|}}<caption>Abbildung 3: Klingelstation</caption></figure> | + | <figure label>{{:projektewise17:haligali:doku:klinegl.png?500|}}<caption>Klingelstation</caption></figure> |
Zeile 36: | Zeile 36: | ||
Der Arduino kommuniziert per USB über die serielle Schnittstelle mit dem Computer und empfängt Nachrichten, wann er eine Karten ausgeben oder die Klingel betätigen soll und sendet eine Nachricht, wenn die Klingel gedrückt wurde. Nähere Erklärung [[projektewise17:haligali:doku:c_doku|hier]]. | Der Arduino kommuniziert per USB über die serielle Schnittstelle mit dem Computer und empfängt Nachrichten, wann er eine Karten ausgeben oder die Klingel betätigen soll und sendet eine Nachricht, wenn die Klingel gedrückt wurde. Nähere Erklärung [[projektewise17:haligali:doku:c_doku|hier]]. | ||
===Schaltplan=== | ===Schaltplan=== | ||
- | <figure label>{{:projektewise17:haligali:doku:wireing.png?500|}}<caption>Abbildung 4: Schaltplan</caption></figure> | + | <figure label>{{:projektewise17:haligali:doku:wireing.png?500|}}<caption>Schaltplan</caption></figure> |
- | <figure label>{{:projektewise17:haligali:doku:wirering_board.png?500|}}<caption>Abbildung 5: Steckbrettansicht</caption></figure> | + | <figure label>{{:projektewise17:haligali:doku:wirering_board.png?500|}}<caption>Steckbrettansicht</caption></figure> |
===Materialiste=== | ===Materialiste=== | ||
Zeile 213: | Zeile 213: | ||
<note tip>Um die Zusammenhänge der einzelnen Klassen besser darzustellen wäre hier wohl ein UML angebracht, jedoch wurde dieses noch nicht erstellt.</note> | <note tip>Um die Zusammenhänge der einzelnen Klassen besser darzustellen wäre hier wohl ein UML angebracht, jedoch wurde dieses noch nicht erstellt.</note> | ||
- | <figure label>{{:projektewise17:haligali:doku:onscreen.jpeg?500|Bildauswertung}}<caption>Abbildung 6: Bildauswertung((Hier sieht man aber auch, | + | <figure label>{{:projektewise17:haligali:doku:onscreen.jpeg?500|Bildauswertung}}<caption>Bildauswertung((Hier sieht man aber auch, |
dass die Bildauswertung noch nicht optimiert wurde.))</caption></figure> | dass die Bildauswertung noch nicht optimiert wurde.))</caption></figure> | ||
Somit kann man also jedem festgelegten Bereich eine Farbe zuordnen. Danach müssen nur noch die Anzahl der jeweiligen Farbfelder bestimmt werden, und schon kann gesagt werden, ob die Gewinnbedingung nach den Spielregeln eintrifft. | Somit kann man also jedem festgelegten Bereich eine Farbe zuordnen. Danach müssen nur noch die Anzahl der jeweiligen Farbfelder bestimmt werden, und schon kann gesagt werden, ob die Gewinnbedingung nach den Spielregeln eintrifft. |