Hallo miteinander,
Im Zuge einer Projektarbeit an meiner Schule haben ich und 2 Kollegen
vor ein kleines Fahrzeug mit Mecanum-Rädern zu bauen. Das einzige was
uns an Bauteilen jetzt noch fehlt wäre ein passendes Bluetooth Modul,
das wir in Verbindung mit einem PS3 Controller verwenden können, bzw.
falls das mit allen erhältlichen geht, eines das auch leicht
verständlich ist da die Bluetooth-Übertragung völliges Neuland für uns
ist.
Wir haben hier im Forum schon mal bei der Wahl eines Motorcontrollers
gestöbert, wobei es ziemlich hilfreich war und deshalb wollt ich mal
fragen ob schon irgendjemand Erfahrungen mit der Übertrageung zwischen
PS3 Controller und PIC hat.
Danke schonmal im Vorraus.
Achso...oder nehmt doch das standard BTM-222 Modul.
Das meldet sich als serielle Schnittstelle.
Dann könntet ihr ganz normal den PC oder ein Handy benutzen und
bräuchtet "nur" die Daten auswerten die über die serielle Schnittstelle
an den uC reinkommen.
Danke sowas wäre perfekt uns!
Das einzige Problem, das ich darin sehe ist das wir eine PIC18 verwenden
(wegen 4 CCP/ECCP Outputs) und bei dem Eval-Kit nur was von PIC24, dsPIC
oder PIC32 steht. Würde das mit dem PIC18 auch funktionieren?
Lukas Eminger schrieb:> Also auch eine Steuerung mit Android-Applikation vom Handy ?
Hatte selbst schon mal ein kleines App für mein SGS geschrieben dass
Daten vom Handy über das BTM-222 an den uC und umgekehrt durchgereicht
hat.
Such nach dem App "BlueTerm" (oder ein ähnliches einfaches
Terminalprogramm), installier es auf Deinem Android Handy, schließ an
das BTM-222 ein USART-USB-Wandler alle CP2102 oder FT232 an und Du
kannst es direkt testen.
Später dann einfach
Achso, aber ACHTUNG.
Maximale Betriebsspannung sind 3,3V !!!
Auch die Portpins sind NICHT 5V kompatibel!!!
Also am besten einfach den uC auf 3,3V betreiben.
Grüße
Ok ich hab das mit den andern beiden besprochen und ich glaub es ist
entschieden =)
Danke für die Infos und soweit ich weiß sind die PS3 Controller alle mit
normalem 2,4GHz BT ausgestattet also sollts gehen.
Hoffe wir haben damit Erfolg =)
Lukas Eminger schrieb:> Danke für die Infos und soweit ich weiß sind die PS3 Controller alle mit> normalem 2,4GHz BT ausgestattet also sollts gehen.
Habe gerade mal beim Nachbarn einen ausgeliehen...am PC kann ich ihn
nicht finden bzw. wird er nicht erkannt.
Gibts da nen Trick? Normalerweise hätte ich gesagt einfach auf den
PS-Knopf drücken und er müsste sich ja melden, oder?
Gruß
Ok...scheinbar geht es über Bluetooth am PC.
Hier soll es einen Treiber geben:
http://www.motioninjoy.com/download
Ob das an einem uC genau so einfach geht bezweifle ich fast.
Grüße
Lukas Eminger schrieb:> Danke sowas wäre perfekt uns!>> Das einzige Problem, das ich darin sehe ist das wir eine PIC18 verwenden> (wegen 4 CCP/ECCP Outputs) und bei dem Eval-Kit nur was von PIC24, dsPIC> oder PIC32 steht. Würde das mit dem PIC18 auch funktionieren?
Nein, der Bluetooth-Stack ist dafür zu groß. Es gibt aber genügend 16-
und 32-Bit PICs mit 4 ECCPs.
Die erwähnten BTM222 Module und auch die meisten anderen werdet Ihr
nicht nehmen können, weil die nur das SPP-Profil können. Bei Bluetooth
gibts viele verschiedene Gerätearten, und das BTM222 kann eben nur das
für serielle Schnittstellen und kein anderes. Also unbrauchbar für Euch.
Ihr werdet wohl das HID-Profil brauchen.
An einem eigenen Bluetooth-Stack werdet Ihr Monate sitzen, das
verspreche ich Euch. Also nehmt, was Microchip Euch anbietet.
fchk
Frank K. schrieb:> und das BTM222 kann eben nur das> für serielle Schnittstellen und kein anderes. Also unbrauchbar für Euch.
Das ist hier die Frage. Um ein paar Bytes zu übertragen um einen Robot
zu steuern reicht es vollkommen.
Muss es denn unbedingt der PS3 Controller sein?
Wenn nein wäre das in kürzester Zeit machbar
(ein paar grundlegende Kenntnisse vorausgesetzt).
Naja...Schüler schrieb:> Frank K. schrieb:>> und das BTM222 kann eben nur das>> für serielle Schnittstellen und kein anderes. Also unbrauchbar für Euch.>> Das ist hier die Frage. Um ein paar Bytes zu übertragen um einen Robot> zu steuern reicht es vollkommen.
Eben nicht. Der kann sich nur mit einem anderen SPP BT-Gerät verbinden.
Ein HID-Gerät sieht er nicht, weil er eben nicht dessen Sprache spricht
(d.h. das HID-Profil nicht implementiert).
Wenn Du das anders siehst, darfst Du Dir gerne die paar tausend Seiten
an BT-Specs durcharbeiten und mir die Stelle sagen, wo das anders
beschrieben ist.
Es gibt auch generische BT-Module. Die haben aber gar keine High-Level
Protokolle implementiert, sondern können nur das Lowlevel-HCI Protokoll.
Die High-Level-Protokolle ("Profile", z.B. HID, SPP, DUN, HFP, A2DP,
etc., es gibt so an die 30 verschiedene) muss hier der Host
bereitstellen. Genau so funktioniert die Microchip-Lösung.
fchk
Frank K. schrieb:> Wenn Du das anders siehst, darfst Du Dir gerne...
Wieso nicht einfach über ein C# Programm auf dem PC oder über ein
Android-App auf dem Handy die Serielle-Bluetooth-Schnittstelle des
BTM222 öffnen und die Daten zur Steuerung (z.B. Tastatur PC oder
Lagesensor Android) des Robots übertragen?
Von mir aus ganz primitiv in einer Art CSV-String mit angehängter
Checksumme!?
Wie gesagt, kurz die Lagesensoren des Handys auslesen und diese über die
serielle Schnittstelle des BTM222 übertragen geht an einem bis zwei Tage
und ist für einen "Schüler" mit Sicherheit am einfachsten!
Grüße
Wenn der PS3 Controller nicht zwingend ist,
würde ich ein Wii Nunchuk nehmen. Das kann man über I2C
auslesen und dann z.B. mit einem BTM-222 oder ein anderes
Funkmodul an das Fahrzeug schicken.
Hab so meinen Rasenmäher angesteuert ;-)
Mit PS3 Controller wär es natürlich eleganter.
Früher hätten wir das mit einer normalen analogen
Modellbau-Funkfernsteuerung und einem dazugehörigen Empfänger gelöst.
Die Ansteuerung von Servos ist sehr einfach, und selber Servo zu spielen
sollte für Euch auch kein Problem sein.
fchk