Guten Abend zusammen! Als erstes möchte ich anmerken, dass ich neu hier im Forum bin. Nun ich bin Schüler an einer Technischen Fachschule für IT (2.Klasse) und sollte bis zur 4. Klasse mit einem Klassenkollegen ein Abschlussprojekt auf die Beine stellen. Unsere Lehrer weisen uns ständig darauf hin, dass wir schön langsam darüber nachdenken sollten, was wir als Abschlussprojekt machen wollen. Heute hatte ich eine Idee, die mich irgendwie fasziniert hat: Warum nicht mit einem Board wie dem Raspberry Pi oder dem leistungsfähigeren Gooseberry eine Spielekonsole ala OUYA nachzubauen. Spiele für Android gibt es ja wie Sand am Meer, also an Futter dürfte es nicht fehlen, ein Gehäuse können wir möglicherweise sogar in der Schule herstellen lassen (CNC usw.). Des weiteren möchte ich keinen PS3 oder Xbox Controller benutzen, da wir ja sonst softwaremäßig praktisch nichts wirklich aufregendes zu tun hätten. Nun ist meine Frage: Kann man einen derartigen Controller selber bauen (insbesondere mit Bluetooth), und vor allem wie schwer ist es einen Code dafür zu schreiben. (An dieser Stelle möchte ich anmerken, dass wir C# bereits können und definitiv kein Problem damit hätten eine neue Programmiersprache zu lernen.) Außerdem würde mich noch interessieren, in welcher Sprache man etwas derartiges entwickeln müsste. Im großen und ganzen wäre ein Funktionsumfang eines PS3 Controllers wünschenswert, aber ich will realistisch bleiben, die Grundfunktionen reichen dicke. (4-Tasten, 2 Analogsticks, ein Steuerkreuz und die Rückseitigen Tasten ohne Einschaltfunktion des Systems). Ja ich weiß, für jemanden, der nicht viel von der Materie versteht will ich ganz schön viel machen, aber wir haben immerhin fast 2 Jahre Zeit. Grüße Michael
Ich weiß nicht wie man Bluetooth HID fährt, aber hingebastelt bekommt man das eigentlich recht problemlos. Dafür nehmt ihr einen Mikrocontroller (zB AVR) und ein Bluetooth Modul. Programmiert wird in C. Im Zweifel, falls HID zu schwierig ist, einfach per CDC seriell senden und an der Konsole dann entsprechend per Programm die Tastendrücke simulieren oder so.
Gut das heißt also, dass einen Controller programmieren relativ einfach ist? Ich nehme mal an, dass ich intern (Android-Betriessystem) eine App (als "Treiber") schreiben müsste die mir die eingehenden Signale vom Controller in nutzbare tastenanschläge konvertiert. Grüße Michael
Michael Stöbich schrieb: > Kann man einen derartigen Controller selber bauen (insbesondere mit > Bluetooth), und vor allem wie schwer ist es einen Code dafür zu > schreiben. (An dieser Stelle möchte ich anmerken, dass wir C# bereits > können und definitiv kein Problem damit hätten eine neue > Programmiersprache zu lernen.) Außerdem würde mich noch interessieren, > in welcher Sprache man etwas derartiges entwickeln müsste. Also der absolut-easy Einstieg ist ATMEGA. Ein Tutorial hier - gerne gemacht - absolut easy http://www.mikrocontroller.net/articles/AVR-Tutorial Programmiert wird so gut wie immer in C. Hier das Tutorial dazu: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Wenn man da garnichts checkt, dann verwendet man Arduino (-> Google). Das ist dann wirklich für jeden Menschen verständlich. Das hat aber mit Programmieren nix mehr zu tun. C# ist auch so eine Sache wie vb.NET. Eine Form zusammenklicken und ein paar Ereignisse, Timer und Quellcodekopierereien kann jeder. Aber sauber C# programmieren tuen sich die wenigsten an. C# / vb.NET ist ja eine nette klick-mir-was-zusammen aber so wirklich objektoriertert programmieren (Klassen, Methoden, Konstruktoren, ...) das machen die wenigsten. Wenn man das nämlich kann dann kann man auch gleich C++ machen. Mit C hat C# bis auf den Syntax recht wenig zu tun. Also erstmal C lernen. Absolute Grundlage. Ohne das brauchst du garnicht anfangen mit RapsberryPi. Da sollte man dringlichst C wenn nicht C++ beherrschen. Michael Stöbich schrieb: > Gut das heißt also, dass einen Controller programmieren relativ einfach > ist? Das kommt darauf an wie fit du beim Programmieren bist. C# klick-me ist ein guter Anfang aber das ist sehr am Anfang. Lies dir mal das oben gelinkte C Tutorial das ist auch noch arg Grundlage aber darauf kann man gut aufbauen. Oder tu es dir nicht an und nimm Arduino. Das hat zwar mit programmieren nix zu tun aber funktioniert halt. Wem das reicht - ok. Michael Stöbich schrieb: > Ich nehme mal an, dass ich intern (Android-Betriessystem) eine App (als > "Treiber") schreiben müsste die mir die eingehenden Signale vom > Controller in nutzbare tastenanschläge konvertiert. Wo genau kommt jetzt da Android in Spiel? Also auf einem Mikrocontroller läuft das sicher nicht. Zumindest nicht auf einem 8bit Mikrocontroller wie man ihn zum Einstieg verwendet. Auf dem Raspberry Pi wäre mir das nicht so bekannt mit Android, gibt es zwar aber nicht empfehlenswert wenn man auf Hardware zugreifen möchte. Auf dem Raspberry läuft ja ein Linux (meist Debian). Ja ja ok Android ist ja auch Linux aber shcon deutlich anderst.
>Wo genau kommt jetzt da Android in Spiel? Nun das läuft auf dem Rasp- oder besser noch gooseberry Board. Da drauf wiederum die App, die die Bluetooth Befehle verareitet und als Top Level die App bzw. das Spiel. >C# klick-me Nein also wir haben bisher nur in der Console gearbeitet und da ist nicht so viel mit klick me. Höchsten die Auto- Vervollständigung und das wars. Da gabs kein Copy-Paste oder so. Einfach die Vorgabe (als laufendes Programm natürlich) auf den Beamer und dann selber schreiben. Falls jemand den Gooseberry nicht kennt, den gibt's unter http://gooseberry.atspace.co.uk/ zu kaufen(Wenn mal wieder welche auf Lager wären...). >Auf dem Raspberry Pi wäre mir das nicht so bekannt mit Android, gibt es zwar >aber nicht empfehlenswert wenn man auf Hardware zugreifen möchte.Auf dem >Raspberry läuft ja ein Linux (meist Debian) Hierbei ist aber Android die einfachste Lösung, weil es schon Spiele dafür gibt.
Michael Stöbich schrieb: > Gut das heißt also, dass einen Controller programmieren relativ einfach > ist? > Ich nehme mal an, dass ich intern (Android-Betriessystem) eine App (als > "Treiber") schreiben müsste die mir die eingehenden Signale vom > Controller in nutzbare tastenanschläge konvertiert. Relativ einfach, ja, wird einen Anfänger aber trotzdem ein bisschen dauern. Guck doch mal nach ob man mit einem AVR einfach so Bluetooth HID machen kann. Falls ja bringt Android die nötigen Treiber schon mit. Ansonsten müsst ihr eben einen Treiber (keine App, einen Treiber) schreiben. Android ist ja auch nur Linux. Treiber heißt in dem Fall dann halt ein Linux Programm oder bestenfalls einen Linux Kerneltreiber. Irgendwo muss man sich die Arbeit halt machen.
Also bisher habe ich (unter anderem hier im Forum)einige Threads gefunden, die, mehr oder weniger, das gleiche Vorhaben hatten wie ich. Außerdem bin ich auf (bei, in - Was ist hier richtig??) Youtube noch auf einige Videos gestoßen, in denen, mit einer Leitfähigen Folie oder Platte, ein berührungsempfindlichen Taster gebastelt wurde. http://www.youtube.com/watch?v=l7wXsJtnsEE In diesem Video wird, der einfachheit halber, ein stück draht anstatt einer platte/Folie verwendet. Funktionieren soll das über die Induktivität oder Kapazität der Folie und dem Finger darauf. Im Klartext: Verändert sich die Kapazität des Kondensators (Folie und Finger) Schaltet der NE555 am Pin3 durch und die LED leuchtet. Als Dielektrikum könnte man eigentlich alles nich leitende verwenden. Mir persönlich würde (Acryl-/Plexi-)Glas recht gut gefallen. Alles eine Frage der beschaffbarkeit. Nun mein bisheriger entwurf würde allerdings bis zu 15 Tasten vorsehen und 15xNE555 würde mir den akku recht schnell leeren. kennt jemand alternativen zu dieser technik oder einen Stromsparenderen aufbau einer derartigen schaltung? Sollte es jemanden interessieren könnte ich ja mal eine Freihandskizze von meinem Entwurf hochladen.
Hanns schrieb: > Oh Kinder, > > bringt mal ne LED zum Blinken. > > Dann sehen wir weiter... Das ist mir schon klar, dass ich hier groß Vorstellungen habe, aber ich hab mir das mal überlegt und wenns machbar ist dann kann man ja mal mit C anfangen und dann eine LED zum blinken bringen. Ziel von diesem Thread wäre, einfach mal ein bisschen infos sammeln, was und wie und wieviel. Außerdem würde mich interessieren, ob (mit viieel Geduld und Zeit) das Projekt umsetzbar wäre. Ich meine, dass die Konsole nachher auch mit dem selbst entwickelten GamePad benutzbar ist. Ich will mir ja auch kein Betriebssystem für die Konsole oder sonstigen Schnickschnack, sondern nur eine Firmware für das (selbstentwickelte) GamePad. Natürlich könnten wir auch einfach eine Webseite für die Firma XY machen, aber wenns nachher Spaß macht, wie eine eigene Konsole, dann macht das ganze Projekt mehr Spaß. Tja und eine Webseite hat außerdem nichts wirklich besonderes an sich. Die gibts jedes Jahr bei den Projektvorstellungen zu hauf und sowas Außergewöhnliches ist halt doch recht rar. Grüße Michael
Michael Stöbich schrieb: > In diesem Video wird, der einfachheit halber, ein stück draht anstatt > einer platte/Folie verwendet. Funktionieren soll das über die > Induktivität oder Kapazität der Folie und dem Finger darauf. Im > Klartext: Verändert sich die Kapazität des Kondensators (Folie und > Finger) Schaltet der NE555 am Pin3 durch und die LED leuchtet. Als > Dielektrikum könnte man eigentlich alles nich leitende verwenden. Mir > persönlich würde (Acryl-/Plexi-)Glas recht gut gefallen. Alles eine > Frage der beschaffbarkeit. Nun mein bisheriger entwurf würde allerdings > bis zu 15 Tasten vorsehen und 15xNE555 würde mir den akku recht schnell > leeren. kennt jemand alternativen zu dieser technik oder einen > Stromsparenderen aufbau einer derartigen schaltung? Was DU suchst ist Kapazitiver Touch. Ist aber scheiße für Konsolen. Wieso nehmt ihr nicht einen alten XBOX360 oder PS3 Controller auseinander und bastelt da ne neue Platine rein?
ich denke die größten Probleme für dich werden das Gehäuse und das Protokoll sein. Weil mit nem Microcontroller ein paar Tasten auslesen ist erlernbar in relativ kurzer Zeit. Ein Gehäuse basteln was gut in der Hand liegt wird da schon viel schwerer. Egal für welche Konsole du dich entscheidest brauchst du das Komunikations Modul damit dein Par der Konsole die richtigen Daten schicken kann und ohne dies fällt und steht dein Projekt
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.