PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Blue Tooth Shield V1.2 für Arduino mit Android verbinden



ultimate80563
15.11.2014, 11:09
Hallo liebe Community,

erstmal nochmal zu meiner Person:
Ich bin 16 Jahre alt und lebe in dem schönen Sauerland.
Zurzeit gehe ich auf ein Berufskollege und erlerne dort den Elektrotechnischenassistenten.
Ich hatte hier bei Roboternetz.de ja schon mal ein Thema erstellt das aber ganz und garnicht gut gelaufen ist. ( alles weil ich noch zu jung war, zu aufdringlich wollte alles gleichzeitig machen... ) es hat mir trotzdem was gebracht z.B. alles Strukturierte anzufangen, heute nicht das machen morgen das... sondern erst mit einem fertig werden und dann das nächste machen.
Jetzt versuche ich mich nochmal neu und fange nicht direkt mit soo einem riesigen Projekt an wo sowieso klar ist, dass ich das nicht schaffe.

Ich habe gestern mal versucht mein Bluetooth-Shield mit dem Arduino zu koppeln und es mit dem Smartphone zu steuern.

29325

Ich habe also mal ein bissel im Internet gesucht und bin auf diese Seite gestoßen:
http://hartgeloetet.blogspot.de/2013/06/jy-mcu-bluetooth-modul-am-arduino.html

Er hat zum Testen des Datenaustauschs den MultiSerialMega-Sketch aus der Arduino-Beispielsammlung abgeändert der dann so aussieht:


void setup() {
Serial.begin(9600);
Serial1.begin(9600);
}

void loop() {
// read from port 1, send to port 0:
if (Serial1.available()) {
int inByte = Serial1.read();
if( inByte ){
Serial1.write("*");
}
Serial.write(inByte);
}

// read from port 0, send to port 1:
if (Serial.available()) {
int inByte = Serial.read();
Serial1.write(inByte);
}
}

Meine Arduino IDE Version 1.5.5-r2 hat aber den Befehl "Serial1" mit dem Fehler " error: 'Serial1' was not declared in this scope " erkannt. Ich habe dann einfach überall die 1 weggelöscht und danach konnte ich den Code immerhin auf den Arduino Uno übertragen.
Danach hatte ich mir die Android App LM BT Terminal ( https://play.google.com/store/apps/details?id=com.lmtech.apps&hl=de ) runtergeladen und geöffnet.

Ich konnte ein Verbindung mit dem Arduino herstellen aber als ich dann was in die Kommandozeile eingegeben hatte ist nix passiert. Es hätten aber Sternchen für jedes angekommene Zeichen ausgegeben werden sollen. Wie in dem Video auf der Internetseite.

Jetzt zu meiner Frage bezüglich des Shields. Wie muss ich den Schalter und die ganzen Jumper einstellen damit das überhaupt funktioniert bzw. wo für sind die da:) und ob vielleicht ein Fehler in dem Code ist und ob das überhaupt geht, weil ich die ganzen Einsen nach dem Befehl"Serial1" gelöscht habe.
Dabei zusagen ist aber auch das Leider keine Anleitung bei deim Shield dabei gewesen ist:/ und ich weiß nicht ob es jetzt HC-05 oder HC-06 ist, da beides ( wie auf dem Bild zusehen ist ) daraufgedruckt ist.

Schon mal Danke
Ultimate80563

5Volt-Junkie
15.11.2014, 17:18
Kann es sein, dass du nicht den Arduino MEGA verwendest? Evtl. ein UNO?
Für den Aufbau werden zwei serielle Schnittstellen des Controllers benötigt. 1x Arduino <-> Bluetooth und 1x Arduino <-> PC.
Im Beispiel aus dem Blog, ist das BT Modul an RX1 und TX1 (Serial1) angeschlossen und die Verbindung zum PC erfolgt über RX0 und TX0 (Serial)

BTW: wenn man in der Arduino IDE den MEGA als Board auswählt, wird der Sketch aus dem Link fehlerfrei kompiliert (Vers. 1.0.6)

ultimate80563
15.11.2014, 20:49
Danke für deine Antwort.
Ja das stimmt Ich verwende einen Uno. Danke für die Hilfe. Da wäre ich nicht drauf gekommen.

Ich habe mich nochmal schlau gemacht aber immer nur Anleitungen für die Bluetoothmodule HC-05/06 gefunden.
Leider nicht für das shield.
Da ich leider nicht weiß, was die 3 Jumper und der Schalter zu bedeuten haben:/

5Volt-Junkie
15.11.2014, 21:29
Ok. Man sollte das Modul schon etwas näher kennenlernen ;)
Schau mal hier (http://www.elecfreaks.com/wiki/index.php?title=Bluetooth_Shield) rein.
Die Jumper sind dafür da, um das BT Modus mit den Arduino Pins zu verbinden.
Mit dem Schalter kann man den AT Modus ein-/ausschalten.

Auf dem UNO kann man auch SoftwareSerial (http://arduino.cc/en/Reference/SoftwareSerialConstructor) verwenden.

ultimate80563
19.11.2014, 16:11
Dankeschön!!
Hat jetzt alles geklappt.

Ich habe diesen Code genommen:
void setup() {
Serial.begin(9600);
Serial.begin(9600);
}

void loop() {
// read from port 1, send to port 0:
if (Serial.available()) {
int inByte = Serial.read();
if( inByte ){
Serial.write("*");
}
Serial.write(inByte);
}

// read from port 0, send to port 1:
if (Serial.available()) {
int inByte = Serial.read();
Serial.write(inByte);
}
}

und dank der Internetseite die du verlinkt hast habe ich auch endlich die Jumper richtig gesetzt.

29351

Hier der Screenshot von meinem Handy wo man sieht, das " ok " angekommen ist.