ich stehe mal wieder vor einem Problem.
Und zwar habe ich mir mal eine Bluetooth Modul zugelegt. Es handelt sich um ein HC-05.
Hab das ganze auch wie beschrieben angeschlossen. Also GND und 5V ganz normal, dann RX vom Modul an TX0 vom Arduino und TX vom Modul an RX0 vom Arduino.
Board ist ein Mega2560.
Das verbinden mit meinem Smartphone klappt einwandfrei.
Das Senden via Bluetooth funktioniert, jedoch nur der Empfang nicht.. Habe auf meinem Android Smartphone das "Arduino Bluetooth Terminal installiert", wo ich die empfangenen Daten auch sehen kann. Jedoch wenn ich irgendwas sende, kommt das nicht am Board an(die RX Led auf dem Arduino leuchtet nicht auf).
Am Smartphone kanns nicht liegen, da habe ich schon ein zweites getestet.
Der Code spielt zwar dafür eigentlich keine Rolle, aber ich poste ihn trotzdem mal:
int ledpin=13;
int Command;
void setup() {
pinMode(ledpin, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available()){
Serial.println("angekommen");
Command = Serial.read();
if (Command == '1')
{
digitalWrite(ledpin,HIGH);
}
if (Command == '0')
{
digitalWrite(ledpin,LOW);
}
}
}
Mache ich da prinzipiell irgendwas falsch? Weiß jemand Rat?
ich vermisse in Deinem Sketch den Serial1 (oder 2 oder 3) an dem das BT-Modul verbunden ist.
Ich habe das bei einem MEGA mit Serial3 realisiert (Pins 14 und 15)
So kannst Du nur über den Serial Monitor senden/empfangen.
ich vermisse in Deinem Sketch den Serial1 (oder 2 oder 3) an dem das BT-Modul verbunden ist.
Ich habe das bei einem MEGA mit Serial3 realisiert (Pins 14 und 15)
So kannst Du nur über den Serial Monitor senden/empfangen.
Doei
ARTy
@lengi
Die erste serielle Schnittstelle ist mit dem USB_Serial Adapter belegt. Die kannst Du nicht verwenden. Nimm eine der anderen 3 seriellen Schnittstellen.
Also zB statt
Serial.begin(9600);
Serial1.begin(9600);
und
Serial.println("angekommen");
Serial1.println("angekommen");
ecc.
// Lese von SerialMonitor, schreibe auf TX3:
if (Serial.available()) {
int Daten = Serial.read();
Serial3.write(Daten);
}
// Lese von RX3, schreibe auf SerialMonitor:
if (Serial3.available()) {
int Daten1 = Serial3.read();
Serial.write(Daten1);
}
Frag das bitte jemanden der sich auskennt und dir deine Frage beantworten kann
Ich bin selbst totaler Anfänger und wollte ihm nur eine sichere Möglichkeit geben, das zu tun, was er möchte.
Ob es anders schlauer, effizienter und besser geht weiß ich nicht - da könnt ihr im dann weiterhelfen, wenn es schonmal vom Prinzip her klappt (und nicht der Fehler eventuell in seiner sonstigen Verarbeitung/Programmierung liegt).
Hehe...