Skocz do zawartości

HC5 bluetooth + Arduino - problem z komunikacją


Pomocna odpowiedź

(edytowany)

Dojdziemy w końcu do etapu, że będziesz musiał fotki porobić, co masz gdzie podłączone, bo nie da się uwierzyć. 😛

Edytowano przez trainee

nie wiem jak to ktoś zrobił - znalazłem w sieci, ale działa ... przynajmniej pod względem załączania i wyłączania diody poprzez konsolę z telefonu ...

 

char blueToothVal;           //value sent over via bluetooth
char lastValue;              //stores last state of device (on/off)
 
void setup() 
{
 Serial1.begin(9600); 
 pinMode(12,OUTPUT);
}
 
 
void loop()
{
  if(Serial1.available())
  {//if there is data being recieved
    blueToothVal=Serial1.read(); //read it
  }
  if (blueToothVal=='n')
  {//if value from bluetooth serial is n
    digitalWrite(12,HIGH);            //switch on LED
    if (lastValue!='n')
      Serial1.println(F("LED is on")); //print LED is on
    lastValue=blueToothVal;
  }
  else if (blueToothVal=='f')
  {//if value from bluetooth serial is n
    digitalWrite(12,LOW);             //turn off LED
    if (lastValue!='f')
      Serial1.println(F("LED is off")); //print LED is on
    lastValue=blueToothVal;
  }
  delay(1000);
}

 

Pomijając, że tu jest użyty port sprzętowy, czyli musiałeś przepiąć Bluetooth z 2, 3 na 0, 1, to nie ma tu nic odkrywczego ani innego. Jeżeli to działa, to komunikacja między komputerem a telefonem też musi.

no dokładnie masz rację z tą komunikacją (przepiąłem się na 0 i 1, ale komunikację testował na wszelkie sposoby i nic mi to nie dawało)  - sprawdzę to i dam znać nie da mi to spokoju

(edytowany)

@merinum 

Cytat

nie wiem jak to ktoś zrobił - znalazłem w sieci, ale działa 

Może dlatego, ze nie używa Serial.write tylko Serial.print? 😉 

Edytowano przez Dantey
  • Nie zgadzam się! 1
38 minut temu, merinum napisał:

nie wiem jak to ktoś zrobił - znalazłem w sieci, ale działa

Może dlatego, ze nie używa Serial.write tylko Serial.print?

18 minut temu, Dantey napisał:

Może dlatego, ze nie używa Serial.write tylko Serial.print?

A Serial.print to czego używa do wypisywania jak nie Serial.write?

Panowie, jak mi już to HC05 zadziałało to zacząłem się tym bawić, robić załączanie, wyłączanie ledów i znowu się zwiesiłem na opcji polegającej na tym, że chciałbym użyć suwaka w aplikacji, który wpływałby, a raczej powodował zmianę wartości zmiennych (np int dlugosc) - mam zdefiniowany zakres od 5-100, przesuwam suwak na 56 i aplikacja wysyła mi do arduino wartość w postaci d 56, no i tutaj znowu zawias bo nie wiem co zbytnio z taką informacją z monitora zrobić by zmieniło int dlugosc na 56 .... pomóżcie mi ten problem jakoś rozwikłać bo ja się już poddaje

@merinum I wypadałoby też napisać co wiesz, czego nie wiesz, czego spróbowałeś, że już się poddajesz, bo pytanie wydaje się być bardzo proste jeśli chwilę poświęcić na naukę podstaw. Pewnie jak zerknę w tutejszy kurs Arduino, to będą bliskie przykłady. Nie lepiej tak, by zrozumieć, zamiast gotowej odpowiedzi pod jeden konkretny przypadek?

10 godzin temu, trainee napisał:

@merinum A może podzielisz się informacjami, co wcześniej robiłeś źle, że teraz już działa?

bardzo przepraszam za brak wyjaśnienia, ale bazowałem na tym co znalazłem i działało i postanowiłem iść tym schematem, ale mając chwilę czasu zrobiłem śledztwo i sprawa wygląda następująco w kwestii Leonardo:

zapis SoftwareSerial mySerial(2, 3); z kodu o który pytałem w przypadku tej płytki nie pójdzie bo zapis z dokumencji Arduino jasno precyzuje, które piny nadają się do transmisji, ten który wybrałem nie pasuje więc nie chodziło, a raczej chodziło tylko w jedną stronę (Not all pins on the Leonardo and Micro boards support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).)

druga sprawa jest taka, że transmisja jest możliwa na pinach RX TX (0 1) ale tylko i wyłącznie poprzez Serial1, więc zagadka tego tematu została rozwikłana i rozgryziona z każdej strony, dziękuję za wsparcie w tym temacie

  • Lubię! 1
10 godzin temu, trainee napisał:

Będąc dobrym sługą narodu podpowiem, że wszystko, czego potrzebujesz, znajdziesz w dokumentacji typu String z Arduino.

proszę nie zrozum mnie źle, nie szukam gotowców bo to nic nie daje, podstawa to dobrze zrozumieć co się robi, więc naprowadzenie na stringi juz jest mega wskazówką, działam i analizuję temat, jak to wyczaruję to dam znać . dzięki wielkie

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