Hallo,
bin Neu hier.
Hab ein ganz einfaches Programm zum Auslesen einer Bloototh-Eingabe vom Smartphone mit einem HC-05 Modul. Heute den ganzen Tag hat alles gut funktioniert.
Plötzlich habe ich nur mehr diese komischen Zeichen im Terminal:
⸮A⸮ap3⸮Ӕ]W⸮嚨h⸮5+
!
⸮E⸮⸮⸮!⸮4⸮5⸮⸮⸮(⸮oj⸮⸮⸮*⸮ i⸮⸮
void loop() { // run over and over
if (mySerial.available()) {
Serial.write(mySerial.read());
}
if (Serial.available()) {
mySerial.write(Serial.read());
}
}
Hat heute funktioniert.
Dann habe ich ein neues Programm für einen Barometer Sensor geladen
Und jetzt hab ich das Problem
Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
Dann ist er auch auf mobilen Geräten besser lesbar.
Das kannst Du auch noch nachträglich ändern.
Ich kann zum Beispiel in diesem Sketch im Terminal ganz normal mit den AT Kommandos auf das HC-05 zugreifen und ich erhalte normale, lesbare Meldungen.
Wenn ich aber über die Android APP Zeichen hinschicke kommt nur Kauderwelsch im Terminal
Wenn der Sketch mit der Verbindung zum PC funktioniert, mit Verbindung zum Handy aber nicht - wo könnten wir den Schuldigen vermuten?
Die Einstellungen in Deinem Handy haben die falsche Baud-Rate - daher versteht der HC05 Nichts/Müll und sendet Das zum Arduino, Der Das im Terminal wieder sichtbar macht.
Ich bin jetzt mit meinem Latein am Ende
Das habe ich alles probiert:
Arduino UNO, NANO, MEGA2560
2 verschiedene HC-06 Module
3 verschiedene HC-05 Module
Smartphone, Tablet
Arduino IDE auf MAC und Windows PC
überall der gleiche Fehler
Die Übertragung über USB funktioniert
Die Übertragung mit Bluetooth gibt kauderwelsch
Und das schöne ist, dass alles gestern Vormittag noch perfekt funktioniert hat.
Dann habe ich um 11 Uhr ein umfangreiches Programm geladen und auf dem NANO installiert
Das ist ein Programm zum Auslesen eines Barometrischen Sensors und Übertragung der Daten an einen RC-Empfänger in einem Modellflugzeug
Das hat auch noch funktioniert, habe ich auf 3 Nanos installiert.
Und seither geht aber die Bluetooth Datenübertragung nicht mehr
Jetzt hab ich den Fehler gefunden:
Die via Bluetooth gesendeten Ziffern wurden plötzlich als ASCII Code interpretiert. Wieso das passiert ist, weiß ich nicht.
Auf alle Fälle funktioniert jetzt der Sketch wieder.
Danke nochmals für Eure Tips.
Grüße Gerhard
int i = 64;
myStream.print(i); // "64"
myStream.write(i); // "@"
Dein Code (
if (mySerial.available()) Serial.write(mySerial.read());
ist auf jeden Fall richtig!
Die via Bluetooth gesendeten Ziffern wurden plötzlich als ASCII Code interpretiert. Wieso das passiert ist, weiß ich nicht.
Auf alle Fälle funktioniert jetzt der Sketch wieder.
Das "plötzlich" deutet allerdings eher auf eine falsch eingestellte Baudrate hin.
Was auch immer das Problem war: Gewöhne Dir unbedingt an, Deine Arbeit zu versionieren. Immer zu einer funktionierenden Version zurückkehren zu können, ist echt beruhigend.
michael_x:
Wie du es repariert hast, habe ich nicht verstanden.
Jetzt habe ich die wahre Ursache gefunden.
Ihr habt recht gehabt, die Baudrate des HC-05 Moduls war verstellt.
Das Programm für das Segelflieger-Vario hat die Baudrate auf 9600 gestellt und ich habe das nicht gecheckt.
Und siehe da: wenn die Baudrate stimmt, dann funktioniert alles