Skocz do zawartości

Brak możliwości sterowania diodą LED za pomocą modułu Bluetooth HM-10 (Arduino MEGA)


MatiElektronik

Pomocna odpowiedź

Witam wszystkich! Przedstawię sprawę jak najkrócej i przejrzyście, chcę sterować diodą LED przy pomocy Arduino MEGA(klon) wraz z modułem BT HM-10. Mam możliwość ustawić modułu, lecz nie mogę zrobić najprostszej rzeczy jaką jest zapalenie diody LED przy pomocy telefonu z androidem. Używałem wielu aplikacji, wielu kodów lecz to nie działa! Pomoże mi ktoś? Podaję jeden z kodów programów.


#include <SoftwareSerial.h>
SoftwareSerial HM10(2, 3); // RX = 2, TX = 3
char appData;  
String inData = "";
void setup()
{
  Serial.begin(9600);
  Serial.println("HM10 serial started at 9600");
  HM10.begin(115200); // set HM10 serial at 9600 baud rate
  pinMode(13, OUTPUT); // onboard LED
  digitalWrite(13, HIGH); // switch OFF LED
}
void loop()
{
  HM10.listen();  // listen the HM10 port
  while (HM10.available() > 0) {   // if HM10 sends something then read
    appData = HM10.read();
    inData = String(appData);  // save the data in string format
    Serial.write(appData);
  }
 
  if (Serial.available()) {           // Read user input if available.
    delay(10);
    HM10.write(Serial.read());
  }
  if ( inData == "F") {
    Serial.println("LED OFF");
    digitalWrite(13, LOW); // switch OFF LED
    delay(500);
  }
  if ( inData == "N") {
    Serial.println("LED ON");
    digitalWrite(13, HIGH); // switch OFF LED
    delay(10000);
    digitalWrite(13, LOW); // switch OFF LED
    delay(500);
  }
}

 

Link do komentarza
Share on other sites

Po co tyle delay ów? Na jakim baudrate jest skonfigurowany moduł bt? Co wysyła aplikacja na android? Masz jakąś dedykowaną czy używasz wirtualnego portu bt/com

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Ok ale pytałem też czy masz jakąkolwiek komunikację z tym modułem. Czyli coś w stylu co odbierze moduł spróbuj wysłać na terminal 

Link do komentarza
Share on other sites

#include <SoftwareSerial.h>
SoftwareSerial HM10(2, 3); // RX = 2, TX = 3
char appData;  

void setup()
{
  Serial.begin(9600);
  Serial.println("HM10 serial started at 9600");
  HM10.begin(115200); 
}
void loop()
{
  while (HM10.available() > 0) {   // if HM10 sends something then read
    appData = HM10.read();
    Serial.println(appData);
  }
 

wgraj narazie tylko to i sprawdz czy cos odbierasz z tego bt...ewentualnie pobaw sie predkosciami tego modulu bo nie wiadomo czy napewno udalo Ci sie zmienic predkosc...

Edytowano przez farmaceuta
  • Lubię! 2
Link do komentarza
Share on other sites

Nie chodzi o komendy AT modułu a o komunikację z arduino, sprawdź z tym kodem co @farmaceuta pokazał (nie jestem pewien czy apdata nie powinien być typu string), powinien wysyłać na terminal dane które odbierze BT. Jeśli to zadziała to połowa sukcesu

  • Lubię! 1
Link do komentarza
Share on other sites

20 minut temu, MatiElektronik napisał:

 prędkość ustawiona na 0 czyli 9600

 

A o czym my caly czas z @_LM_ piszemy?? masz ustawic predkosc w szkicu a nie w blue...zostaw juz te komendy at...w kodzie zmieniaj predkosc w funkcji biblioteki czyli .begin()...

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.