Salut,
ich habe auch mit dem Amarino und dem Iteadstudio board gearbeitet und folgende Fußfallen festgestellt:
- man sollte das BT modul nur über bluetooth ansprechen. Dabei muss die USB Verbindung getrennt sein (ich verwende BT meines Laptops)
- ich war nur in der Lage, mit 9600 Baud zu arbeiten
- Kommunikation mit dem Arduino Uno ist nur möglich, wenn das BT shield ausgesteckt ist
Als ersten Test habe ich die App ArduinoCommander geladen und auf dem Arduino das Firmata Beispiel mit 9600 Baud (siehe Homepage von Arduino Commander). Das hat auf Anhieb funktioniert und wenn das nicht klappt, ist etwas grundlegendes falsch/defekt.
Als weiteren Test habe ich in Amarino den Event "Orientation Sensor" geladen und auf dem Arduino das Servo Sketch. Nach Einbinden der Amarino lib habe ich dann die Werte des z-Events (data[2]) via map(data[2],-90,90,0,180) auf den Servo abgebildet. Das hat mit 9600 baud funktioniert.
Wichtig ist, dass die Events in der Amarino App in der Reihenfolge von oben herab mit A,B, C etc durchbenannt werden. Entsprechend dieser Reihenfolge muss man dann auch die Funktionen im Arduino Sketch registrieren. Wenn also als erstes Event der Test-Event geladen ist und als zweiter der Orientierungssensor, dann kommt meine Rotationsinfo auf B und nicht auf A.
Ich habe nun versucht, das shield direkt anzusprechen. Laut Beschreibuing muss man dazu das Shield so konfigurieren:
D0-RX, D1-TX, Mode Switch auf CMD, Serial Port auf 9600,1,8,n,n
Mit TeraTerm ist es nicht möglich, das Shield zur Zusammenarbeit zu überreden. Nach etwa 2 Stunden hatte ich so alle mögliche Permutationen durch und habe nun ein entspreches Post im ITeadStudio Forum gemacht.
Nach weiteren Veruchen habe ich dann das Rätsel gelöst:
Zuerst muss man ein Sketch laden, welches nicht die Serielle Schnittstelle benutzt, z.B. blink
Dann muss man das Shield mit den Jumpern wie oben konfigurieren (D0-RX, D1-TX, Mode Switch auf CMD, Serial Port auf 38400,1,8,n,n)
COM port am PC auf 38400 Baud
TeraTerm (oder anderes Terminal) auf 38400
Wenn OK oder ERROR:(0) erscheint ist man am Ziel. Das Board wiederholt den letzten Output so lange bis man ein CR (Enter Taste) schickt. Die eigenen Kommandos sieht man, wenn man local echo einschaltet.
Bei ERROR, so lange AT eingeben, bis OK erscheint, danach kann man alle anderen AT Kommandos ausführen.
Wichtig: Die Baudrate, welche man einstellt, betrifft NUR die Kommunikation zum Arduino. Die Baudrate für die AT Commands hier ist IMMER 38400.
Wenn die Konfiguration abgeschlossen ist, muss man das Board umstecken: D0-TX, D1-RX, Mode Switch auf DAT.
Ich habe es noch auf meiner Arduino Seite zu dem Shield gespeichert (
http://www.mathias-wilhelm.de/arduino/shields/bluetooth-shield/)
Ich hoffe, das hat etwas geholfen
Grüsse, Mathias