Go Down

Topic: Ideensammlung (Read 5904 times) previous topic - next topic

stoni99


stoni99

Oh, Link war falsch: Hier der Richtige.

fritu123

was auch echt cool wäre ist ein automatischer cocktail mixer;)

Scherheinz

Hier könnte ihre Werbung stehen

stoni99

Ein sogenannter Marveloucycle ist auch recht interessant.

stoni99

Schach Roboter... :o  Gibt noch viele andere Beispiele dazu im Netz.

RudiDL5

#36
Oct 18, 2016, 12:48 pm Last Edit: Oct 18, 2016, 01:42 pm by RudiDL5
Na Super!
Gerade fing ich an, meinen UNO R3 auf Grund von Ideen-Mangel einzumotten (mein SudokuSolver langweilt mich mittlerweile) - rüttelt der Stoni mit seinem Schach-Roboter an meinem Käfig... Die Gedanken überschlagen sich gerade: Aber warum so ein fettes Teil nur für den Schreibtisch? Vielleicht doch eher so ein kleines Ding für die Jackentasche, so im Sinne von dem ehemaligen Elektor-Teil:
https://chessprogramming.wikispaces.com/Micro-Max
Ist nur die Frage, wie und ob so etwas in den 328p passt, oder ob ein 1284p dafür den Kopf hinhalten muss...
 ;)

stoni99


jurs

Ist nur die Frage, wie und ob so etwas in den 328p passt, oder ob ein 1284p dafür den Kopf hinhalten muss...
Eine korrekt spielende Schach-Strategie auf einem Controller mit nur 2 KB RAM unterzubringen dürfte wohl etwas zu anspruchsvoll sein, alleine die verschiedenen Remis-Regeln, bei denen ein Unentschieden auftreten kann, wenn entweder dreimal dieselbe Stellung aufttitt, 50 Züge lang kein Bauer bewegt oder 50 Züge lang keine Figur geschlagen wird, braucht meinr Meinung nach schon RAM zum Abespeichern von 50 Brettstellungen, also 50x64 Bytes = 3200 Bytes, während ein Atmega328 überhaupt nur 2048 Bytes RAM eingebaut hat.

Anyway. Auch mich hat es schon manchmal in den Fingern gejuckt, irgendein kleines Spiel zu implementieren, z.B. als Du im Sommer Deinen Sudoku-Solver vorgestellt hast, war emeine Idee: Einfach ein LCD Keypad-Shield auf ein UNO-Board stecken, und das ganze dann entweder per USB-Powerbank oder mit2*AA-Batterien/Akkus und StepUp-Wandler mobil mit Strom versorgen. Allerdings wäre meine Idee zur Software gewesen, das Lösen des Sudokus mit einer iterativen Brute-Force-Attacke anzugehen: Also einfach alle verschiedenen Möglichkeiten der Ergänzung verschiedener Ziffern möglichst schnell durchprobieren, bis eine Lösung gefunden ist.

Meine andere Idee für ein mobiles oder stationäres Spiel wäre ein "vier gewinnt", und als Spielanzeige könnte man 42 RGB LEDs verwenden, im mobilen Einsatz vielleicht als 8x8 WS2812-Matrix so etwas wie Bay-Artikelnummer:272284451150
Ich glaube, ich sollte mir mal so eins in China bestellen.

RudiDL5

Hallo Jurs,

grundsätzlich gesehen gebe ich dir vollkommen Recht. Einen „guten" Schachcomputer im Sinne von „Chess Challenger" oder „Mephisto II" werde ich in einen 328p garantiert nicht reinbekommen - obwohl z.B. der Mephisto damals „nur" mit einem 6502 Prozessor bestückt war (ich habe hier sogar noch so ein Teil herumstehen). Generell gesehen geht es mir auch „nur" darum, die „allgemeinen" Regeln mit vielleicht 3 oder 4 Halbzügen damit berechnen zu lassen. „Just vor fun" oder so. Einfach nur als eine Machbarkeits-Studie.

Der Teufel steckt hier aber schon im Detail und ich „spinne" gerade herum: Die besagten (durchschnittlichen) 50 Brettpositionen würden nach meiner Rechnung „lediglich" 1600 Bytes beanspruchen - wenn man eine Art Datenkompression einbaut. Eine einzelne Byte-Speicherstelle kann bequem 2 Brett-Adressen in Form von Nibbles aufnehmen und schon hat man den Speicher-Bedarf halbiert (so etwas musste ich auch für das Sudoku-Programm erfinden). Alternativ „könnte" man diese Positionen auch entweder auf einer SD-Karte oder in einem externen RAM unterbringen. Hier ist wieder die Frage, wie sich das auf die Performance auswirkt und ob das alles nicht viel zu lahm wird. Wie auch immer, ich baue gerade auf dem PC unter Pascal so ein Programm und habe erst gestern neben einem „MiniMax"-Algorithmus auch die „Alpha-Beta-Cutoffs" einigermaßen in den Griff bekommen. Ein Fremd-Programm wurde von meiner eigenen Kreation schon geschlagen. Eine Umsetzung in C++ ist nicht wirklich schwer, da habe ich mich schon mit dem Sudoku-Teil bestens trainiert. Schaun mer ma, wie ich damit weiter komme.

Bezüglich Sudoku wirst du mit der Brute-Force-Methode (höchst-) wahrscheinlich keine „schnelle" Routine bauen lönnen. Diese (leidvolle) Erfahrung habe ich selbst machen dürfen. Letztendlich habe ich drei (im Beitrag beschriebene) „Regeln" implementiert, die dann auch noch durch Rekursionen ein „Raten" erlauben und somit sogar schwerste Rätsel in wenigen Sekunden lösen können (z.B. die berühmten mit nur 17 Vorgaben). Das Teil rennt einfach wunderbar. Auch der Generator ist auf diese Weise eingebaut und greift „zum Test" auf die Lösungs-Regeln zu ohne Rekursionen zu erlauben (wegen der von Michal_x und von mir selbst gewünschten Eindeutigkeit).

Zu 4-Gewinnt kann ich nur sagen: So ein Teil habe ich auch in der Planung. Die Ein-/Ausgabe auf einem 20x4 Display läuft schon sehr gut. In „Javascript" habe ich eine Routine gefunden, die auf den ersten Blick super gut in den 328p passt. Nur habe ich mich damit noch nicht auseinander gesetzt. Aber der Winter und die kalten Tage kommen ja bald... ;-)

uwefed

Mich fasziniert ein einfacher, langsamer Rubiswürfelzurechtdreher. Er muß es nicht in rekordverdächtigen unter 2 Sekunden schaffen.
Grüße Uwe

stoni99


peter_de

Wenn man sich weiter durch klickt findet man auch einen Sudoku Solver.
Kaum macht man Etwas richtig, funktioniert es auch!

stoni99

Self-balancing Car Starter DIY Kit For Arduino - auch ein schönes Projekt...

uwefed

Meinst du sowas hier?
Ja, aber mit automatischen Farberkennung/Erkennung des verdehten Zustands.
http://www.instructables.com/id/Cool-Cube-Solver-Robot-With-Arduino/ find ich als Mechanik schöner, auch wenn man doppeltsoviele Servos braucht.

Grüße Uwe

Go Up