Arduino verstuurt niks via Bluetooth

Beste leden,

Ik heb een HM-10 BLE aangesloten op mijn arduino mega op Serial2.
Ik heb deze via een app verbonden met mijn telefoon.
Ik kan berichten versturen via de app naar de HM-10 die ik dan via de serial monitor van de arduino zie.
Als mijn telefoon niet is verbonden kan ik ook dingen naar de HM-10 sturen en krijg ik reactie op bijvoorbeeld AT-commands die ik stuur.

Er is een probleem als mijn telefoon verbonden is. Dan verschijnen de berichten niet in de app op mijn telefoon wat wel zou moeten.

Weet iemand waarom ik geen dingen kan sturen naar mijn telefoon, maar wel kan ontvangen?
Mijn code heb ik beneden neer gezet

Groet Jelle

c code:


void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  Serial.println("Hallo!");

  // set the data rate for the SoftwareSerial port
  Serial2.begin(9600);
  Serial2.println("Reactie?");
  Serial2.println("AT");
}

void loop() {
  if (Serial2.available()) {
    Serial.write(Serial2.read());
  }
  if (Serial.available()) {
    Serial2.println(Serial.read());
  }
}
BVZ

Golden Member

Ik zou eens beginnen met het posten van een door jou verstuurd commando, en welke reactie je hierop krijgt in de situatie dat je wel EN niet verbonden bent.

Hier kan niemand iets mee, dit is nog niet eens 1% van de totale code.

vanwaar de conclusie dat je arduino niets stuurt?
of is het de telefoon die niks ontvangt?
zoiezo welke telefoon en welke app gebruik je?

BVZ

Golden Member

OH, dit lijkt me ook niet in de haak:

c code:

Serial2.println(Serial.read());

Dan zet je achter _elk_ karakter een newline-teken. Je HM-10 gaat daar niets van snappen.

Doe dan zoiets:

c code:

Serial2.write(Serial.read());

Ik gebruik een iPhone 5SE met de app BLE scanner 4.0 en de app HM10 Bluetooth Serial Lite.
Als de telefoon niet verbonden is en ik bijvoorbeeld "AT" stuur krijg ik als reactie "OK". Verdere tekst die ik stuur zoals "test", verschijnen in de serial monitor.
Als de telefoon is verbonden en ik hetzelfde stuur krijg ik geen reactie en verstuurde tekst is niet te zien in de serial monitor noch de app.
Als ik via de app tekst stuur zoals "test", dan is deze tekst wel te zien in de serial monitor.

Het zou natuurlijk zo kunnen zijn dat de telefoon niks ontvangt, maar de kans lijkt me groter dat ik zelfs iets fout doe.

Hoezo denk je dat dit niet de volledige code is? Het is slechts een testcode om te kijken of de verbinding tussen de arduino en mijn telefoon werkt.

Het is opgelost, het bleek een kapotte HM-10 module te zijn.
Het was een neppe uit china, altijd de echte kopen dus.