Skocz do zawartości

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


Pomocna odpowiedź

@MatiElektronik co do zwierania tx i rx w module bt to testowałem w ten sposób hc-05. Wpinasz sam moduł w płytkę stykową podłączasz zasilanie , łączysz moduł z telefonem przez bt , zwierasz piny tx i rx w module bt i wysyłasz znaki. Na telefonie korzystam z serial bluetooth terminal ( ma opcję none ) trzeba wyłączyć echo i wybierasz kolejno prędkości i wysyłasz znak do momentu aż moduł odpowie tym co wysłałeś. Tak testowałem z hc 05 (moduł w trybie komunikacji)

No to teraz prosty kod

char znak = 0;


void loop() {

  if (Serial.available() > 0) { // tu twój serial BT
 
    znak = Serial.read();
	if(znak == 'a')....
    if(znak == 'b').... // itd

  }
}

 

Kolego. Ja ci przykład dałem weź to przepisz pod swoje potrzeby. Znak zdefiniuj przed setup, ify w pętli też trzeba rozpisać tak że po prawidłowym warunku steruje ci ledami itd. No troszkę swojej pracy włóż 

(edytowany)

a gdzie serial.begin???????

Panie...musisz o podstawach poczytac..

Znak jest teraz zmienna lokalna widoczna tylko w setup()...

Edytowano przez farmaceuta
(edytowany)

Panowie spokojnie, jestem początkującym, a to moja  pierwsza styczność z bt w arduino.

Dobra większość jest tylko jest problem z błędem: expected primary-expression before '...' token  może mi ktoś wyjaśnić o co chodzi?

Edytowano przez MatiElektronik
char znak = 0;

void setup() {
  Serial1.begin(9600); // tu zmieniasz predkosci!!!
  Serial.begin(9600);
}

void loop() {

  if (Serial1.available() > 0) { // tu twój serial BT
 
    znak = Serial1.read();
    Serial.println(znak);
  }
}

I tak.....znajdz twoj Serial1 na mega i tam podlacz ten modul na krzyz!! Tx-Rx/Rx-Tx...tam gdzie Ci pisze "tu zmieniasz predkosc" zmieniasz dopoki Ci zacznie cos pokazywac w serial monitorze...w monitorze ustawiasz predkosc na 9600...i wszystko gra..

  • Lubię! 1
  • Pomogłeś! 1
1 minutę temu, MatiElektronik napisał:

 Na przykład 1 to włączenie, a 0 wyłączenie.

char znak = 0;
#define led 13 //tu nr pinu zmieniasz!!

void setup() {
  Serial1.begin(9600); // tu zmieniasz predkosci!!!
  Serial.begin(9600);
  pinMode(led, OUTPUT);
}

void loop() {

  if (Serial1.available() > 0) { // tu twój serial BT
 
    znak = Serial1.read();
    Serial.println(znak);
  }
  if (znak == '1') {
    digitalWrite(led, HIGH);
  } else if (znak == '0') {
    digitalWrite(led, LOW);
    }
  }

Ustaw pin ktory chcesz jak w kodzie podkreslono i powinno grac

  • Lubię! 1
  • Pomogłeś! 1

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...