Problem mit empfangen Daten über Bluetooth

Hallo zusammen,
Dies ist mein erster Eintrag, deshalb wusste ich auch nicht genau, wo im Forum dieser stehen muss.
Ich habe 2 Arduino Uno an zwei unterschiedlichen PCs. An einem von beiden ist ein HC-05 im Master mode und an dem anderen ein HC-06 angeschlossen. Es ist so eingestellt, dass sich die beiden automatisch mit einander verbinden. Dies funkioniert auch ohne Probleme.
Ich habe jetzt versucht von dem einen "seriellen Monitor" über diese verbindung auf den anderen Daten zu senden.
Das Problem ist, dass ich nur ein wirwar an Zeichen bekomme. Wenn ich "hi" sende z.B. "umgedrehtesFragezeichen+KumgedrehtesFragezeichen" beide Monitore sind auf 9600 Baud und neue Zeile eingestellt. Ich sende mit der sendetaste und nicht mit enter, falls das von belang ist. Aber es kommt nicht immer das selbe rauß, ich weiß nicht ob es wilkürlich ist, aber manchmal sind es die selben Kombinationen, manchmal unterschiedliche.

 #include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX | bzw. 7, 6

void setup() 
{
// Open serial communications and wait for port to open:
  Serial.begin(9600); 

  // set the data rate for the SoftwareSerial port
  mySerial.begin(4800);
}

void loop() // run over and over
{  
  if (mySerial.available())
    Serial.write((char)mySerial.read());
  if (Serial.available())
    mySerial.write((char)Serial.read());
} [code]

Auf beiden PC´s läuft dieser Code, aber die Arduinoprogramm version müsste eine andere sein. 

Jeweils ist VCC auf 5V
Ground auf Ground
Txd auf 10
und Rxd auf 11


Ich hoffe das mir jemand weiter helfen kann und bedanke mich schonmal bei jedem der es versucht.

Hi

Bitte packe Deinen Sketch in CODE-Tags ( ... [code] Hier Dein Sketch rein [/code] ...) - nur ohne *.
Dann wird der Sketch ordentlich angezeigt und Mobilisten haben auch Ihren Spaß daran.

Zu Deinem Problem:
Das liest sich wie ein Test-Sketch aus der IDE - Der sollte eigentlich gar nicht auf einem PC laufen, sondern in einem Arduino.

Wenn Du eine der seriellen Schnittstellen auf 4800 Baud einstellst - was denkst Du, musst Du im Terminal auf dieser Schnittstelle ebenfalls einstellen?
Die 9600 in der Klammer ist die Geschwindigkeit der EINEN Schnittstelle.
Die 4800 Die der Anderen.

Dieses Beispiel soll Dir nur zeigen, daß man damit verschiedene Geschwindigkeiten 'miteinander verbinden' kann.

Bedenken sollst Du, wenn die schnellere Schnittstelle 'nonstop sendet', bekommt die Langsame Schluckauf.

MfG

Danke Postmaster für deine Antwort.

Das mit dem Code tut mir Leid, ich werde es das nächste mal berücksichtigen. Du hast geschrieben, dass der Code nicht auf einem PC sondern auf einem Arduino laufen soll, ich habe ihn auf meinen Arduino hochgeladen, ist das gemeint?
Und zu der Geschwindigkeit, bedeutet dass das ich das eine Terminal auf 4800 und das andere auf 9600 stellen muss? Ich dachte die müssen gleich sein.
Der eine Arduino soll für die Fernsteuerung, der andere für in ein Modellauto sein, dann würden aber doch "nonstop" daten gesendet werden, kann man das dann überhaupt so umsetzen?
Momentan hab ich nur ein paar mal hinter einander etwas gesendet um die Verbindung zu testen.

Ansonsten nochmals vielen vielen Dank für deine Antwort, ich werde das mit den beiden Geschwindigkeiten testen.

monstertruc:
Danke Postmaster für deine Antwort.

Das mit dem Code tut mir Leid, ich werde es das nächste mal berücksichtigen.
......

Das kannst du noch nachträglich machen und solltest du auch machen, dann haben gleich mehr Lust den Sketch zu lesen.

Hi

In wie fern ist Das für Dein RC-Auto?

Wenn Du eh 'beide Seiten' selber machst - kannst Du auch identische Baudraten benutzen.
Ich sehe derzeit eine Art 'Blackbox'.
Du empfängst mit dem Arduino die Befehle der Fernbedienung, machst da 'Was' daraus und sendest berechnete Befehle an das Auto.

Z.B. Einlernen einer Fahrstrecke und danach Abspielen Dieser - oder 'rückwärts Einparken mit Anhänger'.

MfG

Hallo Postmaster,
also liegt es schon mal nicht an den vescheidenen Baudraten? Also ich bin noch sehr am Anfang meines Projektes. Aber es ist so gedacht, dass ich ein Joystickmodul an den Arduino mit dem HC-05 anschliese und die Daten die ich bekommen wenn ich den benutze (noch weiß ich nicht wie diese aussehen) über diese Bluetoothverbindung an den anderen Arduino schicke. Dort soll dann etwas damit gemacht werden aber das ist noch sehr weite Zukunftsmusik.

Nur wollte ich mich zuerst darum kümmern, dass die Übertragung ohne Probleme funktioniert so dass ich mir gegebenenfalls Alternativen überlegen kann.

Danke für eure Hilfe
Ich hoffe das noch ein paar Ideen kommen.
MfG

Hi

Der Aufbau ist ungefähr so geplant?
Joystick - direkt verdrahtet - Arduino1 - <--Seriell--> - HC05 - <--Funk--> - HC05 - <--Seriell--> - Arduino2 - *<--Seriell2--> ??

Wir reden hier, auch wenn Du den Joystick erwähnt hast, aber von Arduino 2, oder?
Arduino 1 kümmert sich um den Joystick und sendet die Daten per BT (=Funk) an das BT-Modul des Arduino 2.
Dort musst Du mit der Geschwindigkeit lesen, Die das Modul vorgibt.
Diese Daten schickst Du jetzt seriell mit einer anderen Geschwindigkeit, weiter an wen?

MfG

Ich habe momentan einen Arduino, an dem ist ein HC-05. (Später kommt an diesen Arduino auch ein Joystick.)

Per Bluetooth versuche ich Daten von dem genannten Arduino an

Einen 2.Arduino mit einem HC-06
zu übertragen.

Diese Übertragung funktioniert nicht gescheit. Wenn ich Wörter schicke kommt wirwar an (wie ganz oben beschrieben.)
Also soll ich bei einem die Geschwindigkeit ändern, dann funktioniert es?

Vielen Dank für die Hilfe

Hi

Ein klein Wenig mitmachen darfst auch Du hier.
Um in Deinem Style zu bleiben: Wenn Du's richtig machst, funktioniert's auch schon.

Wenn Du damit nicht viel anfangen kannst, gib mir/den Anderen hier mehr Informationen.
Beispielsweise wären Links auf die von Dir verwendeten BT-Module recht praktisch - dort könnte drin stehen, wie man mit den Teilen spielt.

MfG

Hallo postmaster-ino,
ich kann leider keinen Link schicken, da ich die Module schon vor längerer Zeit von einem Frund mit bestellt bekommen habe und er sich nicht mehr an den Shop erinnern kann.

In wie fern funktioniert es wenn ich es richtig mache?
Ich wüsste ehrlich gesagt gerade nicht, was ich noch an brauchbaren Informationen geben könnte.

Vielen Dannk für eure Hilfe!

Hi

Dann wäre z.B. ein Foto von den Dingern vll. ganz praktisch.
Vll. sogar Eines, wo man was drauf erkennen kann.

Dein Sketch ist immer noch Der vom 1.ten Post?

Was hast Du wie zusammen?
Damit meine ich z.B. Deine Aussage, daß auf 'beiden PCs der gleiche Code läuft' - wenn's an jedem PC ein Arduino mit identischem Code ist, wird langsam ein Schuh draus.

Bitte hilf uns, daß wir Dir helfen können - bis jetzt ist's stochern im Nebel.

MfG

Hallo postmaster,

Ich habe jetzt Bilder gemacht, die besten sind es nicht, aber einigermaßen erkennbar sind sie. Falls man irgendwas nicht richtig lesen/erkennen kann mache ich es gerne nochmals. Die Frage ist nun nur wie ich sie hier einbinden kann. Einfach einfügen funktioniert scheinbar nicht. (Oder meine Kompetenz reicht dafür nicht aus.)

Ja, mein Sketch ist noch das von dem 1. Post, und dieses läuft auf beiden PC´s (also beides mal das selbe von oben.) An welchen jeweils ein Arduino hängt.

Vielen Dank für die Hilfe

Hi

Wenn Du unten auf 'REPLY' drückst, kommst Du auf eine Antwort-Seite mit voll funktionsfähigem Antwort-Fenster.
Dort kannst Du Anhänge hoch laden, bereits online verfügbare Bilder per IMG-Tag einbinden (z.B. im 2.ten Schritt, nachdem Du Bilder hochgeladen hast, kannst Du die URL der Bilder kopieren und in einem IMG-Tag so die Bilder anzeigen - auch direkt in dem Post, wo Du die Bilder hochgeladen hast).

Noch Mal zu Deinem zwei PCs:
Du hast NICHT diesen Sketch auf beiden PCs laufen - ganz bestimmt sogar!!
Du hast diesen Sketch eher auf zwei Arduino gebrannt und diese Arduino hängen jeweils an einem der PCs, Die wiederum mittels einem Terminal-Programm mit dem jeweils eigenem Arduino 'schwätzen'.

Bitte umschreibe Das auch so, wenn's so ist (und es wird so derzeit sein!).

Du kannst alternativ zum 'Reply' Knopf auch in Deinem User-Einstellungen hier im Forum das unter dem Thread stehende 'Quick Reply'-Fenster auf 'fast vollwärtig aufmotzen' - habe ich so gemacht. Bis auf 'Attachment' vermisse ich im Quick-Reply nicht viel.

MfG :art: (habe soeben weitere Smilies entdeckt ...)

Hallo postmaster,
Ja, ich glaube bezüglich des Programms und der Arduinos hast du recht. Ich war mir bis her nicht bewusst, dass ich das so schreiben muss, tut mir Leid.

An bei die Bilder, wie gesagt falls etwas nicht erkennbar ist mache ich neue.

Hallo,
hat vielleicht noch jemand von euch eine Idee? Den momentan sehe ich irgendwie schwarz für mein Projekt.... :frowning:

Hi

Wenn die Steuerung des kompletten Atomkraftwerk noch nicht direkt funktionieren will - fange kleiner an.
Für SoftSerial gibt's Beispiele in der IDE.
Da die Blau-Zähne darauf aufbauen, sollte zuerst die serielle Schnittstelle halbwegs laufen - Das gibt's direkt als Beispiel, ähnlich gestrickt, wie Dein Code.
Wenn Du so Daten vom PC A über Arduino A an Arduino B an PC B gesendet bekommst: halbe Miete.
Ob's für Blau-Zahn ein Beispiel gibt, weiß ich nicht.
Hier solltest Du zuerst probieren, mit dem jeweiligem Arduino das BT-Modul anzusprechen - denke, Das wird eine Art ACK o.Ä. zurück geben, wenn's den Befehl/die Konfiguration verstanden hat.
Das am Besten bei beiden Modulen.
Wenn man Da auch mit dem Handy mitmischen kann, ein Versuch ist's wert (habe selber von BT nur so viel Ahnung, daß mich die externe Box im Auto durchgehend ignoriert und dazu regelmäßig irgendwelche sinnlosen Töne von sich gibt) - ich hasse das Zeug ... wäre vll. etwas hart ausgedrückt, trifft's aber ganz gut :wink:
Selber bin ich also erwiesenermaßen unfähig, eine Verbindung zwischen Handy und dieser Box herzustellen - solltest Du BT-Fragen haben, bin ich wohl eine denkbar unglückliche Wahl. :slight_smile:

Zerlege Dein Problem in kleinere Einzelprobleme.
Diese gerne auch vorerst einzeln gelöst.
Wie wir den Kram dann zusammen in einen Sketch gegossen bekommen - dafür gibt's hier noch jede Menge andere schlaue Köpfe (vll. sogar mit BT-Erfahrung)

MfG

monstertruc:
Hallo,
hat vielleicht noch jemand von euch eine Idee? Den momentan sehe ich irgendwie schwarz für mein Projekt.... :frowning:

Ehrlich....ich frage mich manchmal, wie es angehen kann, das man sich an solche Projekte ranwagt, nicht programmieren kann und das Web sowie Google nicht bedienen kann.

Hier gib es ein schönes Beispiel mit den Modulen.

Und jetzt schreibe bitte nicht, das kennst du schon, aber es funktioniert nicht.
Dann flipp ich aus. :wink:

Im übrigen gibt es noch reichlich andere Beispiele, die darfst du allerdings selbst suchen.
Dazu habe ich keine Lust.

Aber weil heute Freitag ist, hier noch ein Beispiel.