Arduino HC05 Bluetooth

Hallo liebe Arduino Freunde,

ich probiere gerade mein Bluetooth Modul HC05 ZS-040 mit dem Arduino und aus und habe da eine Frage.
Ich möchte über mein Handy eine LED ansteuern, und habe einen kleinen Sketch geschrieben.
Iergentwie will der aber nicht.
Was mir aber aufgefallen ist ist das wenn ich das Serial.beginn weg lasse leuchtet die RX led am Arduino
ganz schwach und blinkt einmal wenn ich am Handy die LED ein oder ausschalte.
Auch im Serialmonitor wird a oder d angezeigt, nur iergentwie nicht ausgelesen.
Wieso ist das so

Na dann zeige Deinen Sketch doch auch..?

Gruß SG

Entschuldigung hab ich vergessen:(.

void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT); // put your setup code here, to run once:
}

void loop() {
if(Serial.available()>0)
{
char data= Serial.read(); // reading the data received from the bluetooth module
switch(data)
{
case 'a': digitalWrite(13, HIGH);break; // when a is pressed on the app on your smart phone
case 'd': digitalWrite(13, LOW);break; // when d is pressed on the app on your smart phone
default : break;
}
Serial.println(data);
}
delay(50);
}

Mit welchen MC (Uno/Mega/Nano etc.) arbeitest du? Wie ist der HC angeschlossen? Ist das der vollständige Sketch?

Arduino UNO und ja das ist der gesamte Sketch.
Anschluss:

GND -- GND
VCC -- 5V
TXD -- TX
RXD -- RX

aber da bin ich mir nicht ganz sicher muss da RX auf TX und umgekehrt?

Ja, wenn du TX/RX nutzt, dann TX->RX und umgekehrt. Kann ich mangels HC05 aber nicht testen.

Ok hab das jetzt ausprobiert und jetzt funktioniert alles.
DANKE!!

Arduino_Junky:
Ok hab das jetzt ausprobiert und jetzt funktioniert alles.
DANKE!!

Super und danke für die Rückmeldung!

Jetzt hab ich doch noch ne Frage wegen dem if(Serial.available()>0)im Code, kann ich das nicht einfach weglassen oder wieso brauch ich das und was bewirkt es.

Probier doch einfach aus, was dann passiert :wink:

Du kannst natürlich auch die Suchmaschine Deiner Wahl befragen.

Gruß Tommy

hab ich schon und im Internet findet man nichts.
Es ged nicht wenn mans weg läst aber wieso was bedeute es?

Arduino_Junky:
hab ich schon und im Internet findet man nichts.

Das halte ich für ein Gerücht. :wink:

Google mal nach Serial.available(), erstes Suchergebnis.

Du bekommst dann ein kleines Problem weil Serial.println(data) ständig aufgerufen wird. Ohne das geht es

Ja ok des heißt Serial wird erst ausgelesen wenn mehr als 0 Zeichen auszulensen sind.
Danke für die Antwort.

Arduino_Junky:
Ja ok des heißt Serial wird erst ausgelesen wenn mehr als 0 Zeichen auszulensen sind.
Danke für die Antwort.

Sorry für die etwas freche Antwort, aber das war eine Steilvorlage... :wink:

Gibt auch ein Karma dafür :slight_smile:

Es ged nicht wenn mans weg läst

Unsinn.
Natürlich kann man Serial.available() weglassen, wenn man unbedingt will.

Dann muss man eben auswerten, dass auch mal -1 zurück geliefert wird, statt eines Werts zwischen 0 und 255, der auch in ein char passt.