Go Down

Topic: Bluetooth Shield auf Uno Board betreiben (Read 3 times) previous topic - next topic

jurs

#10
Feb 11, 2013, 09:37 am Last Edit: Feb 11, 2013, 12:48 pm by jurs Reason: 1

Ich hatte die Bluetooth-Baudrate von 38400 auf 9600 reduziert, da jurs angemerkt hatte, das eventuell Probleme zwischen dem Software-Serial und dem Hardware-Serial auftreten könnten, wenn die Baudraten so unterschiedlich sind.


Wenn Du für das Bluetooth-Shield eine andere als die Default-Datenrate von 38400 verwendest, muss allerdings auch sichergestellt sein, dass das Shield mit dieser abweichenden Datenrate arbeiten kann. Du kannst nicht einfach eine Baudrate in der Software anders einstellen als sie die Hardware versteht und erwartet.

Heißt es bei dem Board nicht "Default Baudrate 38400"?
Hat es dann wirklich eine "automatische Baudratenerkennung"?
Was sagt das Datenblatt?

Wenn das Board keine automatische Baudratenerkennung hat, mußt Du natürlich die Baudrate verwenden, die das Board erkennt (z.B. Default Baudrate 38400), oder Du mußt das Board zuerst an einer funktionierenden seriellen Schnittstelle bei 38400 anschließen, dann den Befehl zur Umstellung auf eine geänderte Default-Baudrate geben, und dann wenn das Board mit OK bestätigt hat, kannst Du danach die geänderte Default-Baudrate verwenden.

Im übrigen hatte "pylon" oben richtiggestellt, dass beim UNO Board alle Pins für Software Serial Schnittstellen nutzbar sind, meine Vermutung, dass manche Pins ggf. nicht korrekt für Software Serial Schnittstellen funktionieren, betrifft also nur  manche Arduino-Boards wie MEGA und LEONARDO, welche Pins bei diesen Boards für Software-Serial nutzbar sind siehe: http://arduino.cc/en/Reference/SoftwareSerial , aber es betrifft nicht das UNO Board.

Und nochmal eine ganz blöde Frage von mir: Dass die "Sendedaten" (TX) am Bluetooth-Serial die "Empfangsdaten" (RX) am Arduino sind, und die "Sendedaten" (TX) vom Arduino die "Empfangsdaten" (RX) am Bluetooth-Shield, da kannst Du nichts verwechselt haben?

Also Verdrahtungsfehler, weil Du eben nicht verdrahtet hast:
Bluetooth RX mit Arduino TX
und
Bluetooth TX mit Arduino RX
???

Gaogrimm

Ich habe noch ein wenig nachgeforscht und bin schließlich auf der Herstellerseite des BT-Shields auf das hier
Quote
and can not work as master to source a Bluetooth device and initiative to connect it.
gestoßen.
Die version 2.1 kann also anscheinend nicht dazu verwendet werden um ein Bluetoothgerät darzustellen.

Ich habe mir daraufhin das Datasheet zum Shield version 2.2 durchgelesen. Die Pins für Rx/Tx lassen sich auf diesem Shield besser einstellen (mit Jumpern) und die Beschreibung ist genauer. Interessanterweise ist scheint dieses Datasheet ebenfalls unvollständig zu sein. Auf einer anderen Seite (http://home.comcast.net/~tomhorsley/hardware/arduino/ITead.html habe ich schließlich die (im original fehlenden) Informationen gefunden die wirklich geholfen haben.

Die AT-Befehle die ich über den Serial-Monitor schicke, werden jetzt größtenteils so beantwortet wie das Datasheet es vorhersagt. Nur hin und wieder meldet das Shield "Error:0". Was das bedeutet fehlt natürlich auch im Datasheet.
Und bislang ist es mir noch nicht gelungen das Shield über Bluetooth sichtbar zu machen.

sth77


Ich habe noch ein wenig nachgeforscht und bin schließlich auf der Herstellerseite des BT-Shields auf das hier
Quote
and can not work as master to source a Bluetooth device and initiative to connect it.
gestoßen.
Die version 2.1 kann also anscheinend nicht dazu verwendet werden um ein Bluetoothgerät darzustellen.

Wie kommst du auf diese Schlussfolgerung? So wie ich deinen Thread bisher erfasst habe, willst du die Kommunikation zwischen dem Arduino und einem PC herstellen. Hier kann der PC als Master, der Arduino mit dem Shield als Slave herhalten.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

BlackDice

Kann ich auf ein SD-Shield mit einer SD Karte zugreifen wenn der Arduino als Slave und der PC als Master festgelegt wurde? Also den Arduino sozusagen als Massenspeicher benutzen und vom PC aus auf den Arduino so zugreifen als wäre es ein USB Stick. Ist das mit diesen drei Board überhaupt möglich oder gibt es eine andere einfacher Möglichkeit?

sth77

Nein, das geht nicht so einfach. Bei den ganzen (mir bekannten) Bluetooth-Shields bzw. BT-Modulen wird ausschließlich das SPP-Profil verwendet, SPP steht hier für das Serial Port Profile, also für die serielle Datenübertragung. Daher wird dein Rechner (als Master) nur einen per BT bereitgestellten Com-Port sehen. Allerdings hindert dich nichts daran, darüber byteweise die Daten von einer SD-Karte zu senden. Am Rechner muss das dann "nur noch" zusammengebastelt werden.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Go Up