mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik HC-06 Problem mit AT-Befehle


Autor: Leyla (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Hi.
Ich habe ein Problem mit dem Hc-06 BT Modul.
Ich nutze dieses:

Ebay-Artikel Nr. 301703350188

Und zwar möchte ich zwei BT Module verbinden .
Das Hc-05 als Master und das Hc-06 als Slave.
Nun benötige ich aber die Adresse des Hc-06 aber ich schaffe es nicht 
mit ihm seriell zu kommunizieren.
Nach einem AT-Befehl bekommen ich keine Bestätigung zurück (Ok).

Mein Code sieht so aus:

#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10);
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
}
void loop()
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}

Den EN (KEY) Pin am Modul habe ich mit 5V verbunden aber nichts ändert 
sich.

Ich wäre sehr froh wenn mir Jemand helfen könnte.

LG Leyla.

Autor: King Julian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du es mal einfach mit einem Terminal versucht, nur testweise?

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist Dir bekannt, dass beim HC-06 Modul alle Befehle NICHT mit einem 
Zeilenumbruch beendet werden dürfen?

Du sendest einfach nur "AT" und wartest dann auf Antwort. Wobei das bei 
vielen Terminal Programmen nicht mahcbar ist, da sie immer auf die Enter 
Taste warten und dann immer einen Umbruch senden. Mit Hammer Terminal 
kannst du es testen.

> Den EN (KEY) Pin am Modul habe ich mit 5V verbunden

Der muss beim HC-06 unbeschaltet oder Low sein. High löscht den 
gespeicherten Verbindungspartner.

Die nächste Frage wird vermutlich sein "Mein HC06 Modul antwortet immer 
mit ERROR". Das liegt daran, daß HC-05 und HC-06 völlig unterschiedliche 
Befehlssätze haben. Siehe http://stefanfrings.de/btm222/index.html

: Bearbeitet durch User
Autor: Leyla (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, also mit der Bluetooth SSP App kann ich über das Handy kommunizieren 
mit dem Modul.
Aber mit den AT Befehlen geht immer noch nix.

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Aber mit den AT Befehlen geht immer noch nix.

Dan zeichne doch mal auf, wie die AT Befehle von deinem Kopf zum Modul 
gelangen. Welche Komponenten befinden sich dazwischen, wie sind sie 
miteinander verbunden. Welche Software mit welchen Einstellungen?

Was GENAU sendest du, und welche Antwort erhälst du?

Und bitte gewöhne Dir an, unsere Rückfragen zu beantworten wenn Du 
vermeiden willst, dass wir uns abwenden und Dich alleine stehen lassen.

> mit der Bluetooth SSP App kann ich über das Handy kommunizieren

Wonmit immerhin sicher ist, dass das Modul keinen Totalschaden hat.

: Bearbeitet durch User
Autor: Leyla (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ok,
Der Rx vom Modul ist am Pin 10 und der Tx am Pin 11 vom Arduino (rx Pin 
über Spannungsteiler).
Die Stromversorgung ist 5V.
Der Code ist wie schon oben angegeben.
So dann lade ich den Sketch hoch.
Der serielle-Monitor ist auf 9600 Baut und kein Zeilenende eingestellt.
Nun gebe ich nur "AT" in den seriellen-Monitor und geh auf "senden" aber 
empfange kein "Ok" oder dergleichen.

G. Leyla

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kontrolliere, ob der serielle Monitor überhaupt etwas sendet, wenn du 
die Enter Taste NICHT benutzt.

Anstelle einen Arduino einzuschleifen, bei dem Du nicht sicher bist, ob 
sein Programm Ok ist, könntest du auch mal einen USB-UART Adapter 
benutzen.

Anstelle vom seriellen Monitor könntest du Hammer Terminal benutzen.

Anstelle eines USB-UART könntest du den Mikrocontroller deines Arduino 
Boardes entfernen (oder mit Dauer-Reset daktivieren) und dann den 
USB-UART Chip deines Arduino Boardes direkt mit dem Bluetooth Modul 
verbinden.

Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm.

Eigentlich müsste es funktionieren.

HC05 stromlos machen, dann das kleine Knöpfchen am HC05 drücken und 
festhalten. Jetzt wieder Spannung anlegen und danach Knöpfchen 
loslassen. Und dann bist du im Programmiermodus.

Dann im Terminal AT eingeben. Es müsste jetzt funktionieren.
Mit AT+ROLE=1 kommst du in den Mastermodus.

Danach wieder einfach den HC05 wieder aus und einschalten, er nimmt dann 
automatisch Vebindung auf zum HC06.

Gruss

Autor: Joe F. (easylife)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leyla schrieb:
> rx Pin
> über Spannungsteiler

Aus welchen Widerständen besteht der Spannungsteiler?

Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Terminal von der Arduino-IDE muss du "Sowohl NL als auch CR" unten 
aktivieren.
Dann geht das Terminal.

Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Terminal von der Arduino-IDE muss du "Sowohl NL als auch CR" unten 
aktivieren.
Dann geht das Terminal.
Du musst die Entertaste drücken und nicht den BUtton "Senden".

Autor: Joe F. (easylife)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leyla schrieb:
> Der Rx vom Modul ist am Pin 10 und der Tx am Pin 11 vom Arduino (rx Pin
> über Spannungsteiler).

Müsste es nicht genau umgekehrt sein?
Der Arduino arbeitet doch auf 5V, und das Modul mit 3.3V.
Dann sollte der Spannungsteiler den Arduino Ausgang (TX) auf für den 
Modul-Eingang (RX) kompatiblen Pegel bringen.

Generell ist für soetwas ein echter Leveltranslator besser.
Es ist nicht gesagt, dass ein 5V Input mit 3.3V Signalen klarkommt.

u.U müssen auch die pin modes für pin 10 und 11 noch konfiguriert werden 
(input/output).
https://www.arduino.cc/en/Reference/SoftwareSerialAvailable

: Bearbeitet durch User
Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bezüglich des HC-05 kann ich mit sicherheit sagen, daß dessen 
Ausgangsspannung am Tx Pin ausreicht, um damit den Rx EIngang eines AVR 
anzusteuern.

Für die andere Richtung nutze ich meistens einen 2,2k Ohm 
Serienwiderstand in Kombination mit den ESD Schutzdioden im Innern des 
Bluetooth Moduls.

Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du du RX/TX vom Port 10/11 nimmst brauchst du keinen 
Spannungsteiler.

Nur wenn du den RX/TX Port nimmst der von der USB-SChnittstelle des 
Arduino benutzt wird muss du einen Spannungsteiler.

Gruss

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wenn du du RX/TX vom Port 10/11 nimmst brauchst du keinen
> Spannungsteiler.

Woher weisst du, mit welchem Arduino Modell Leyla das Bluetooth Modul 
verbinden möchte? Diese Aussage trifft doch sicher nur auf Arduino 
Modelle zu, die mit 3,3V betrieben werden, weil sie mit 5V den Eingang 
des Bluetooth Moduls überlasten würden.

Autor: andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hatte ein ähnliches Problem mit HC-06 Modulen und AT Befehlen. Ich 
hab schon mindestens 20 Stück von denen verbaut. Die AT Befehle gingen 
bisher immer ohne "Sowohl NL als auch CR" abzusetzen. Doch gerade habe 
ich welche da, die brauchen "Sowohl NL als auch CR" am Ende.

Gruß
André

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.