Skocz do zawartości

Broken Pipe - Problem z połączeniem arduino - bluetooth


Kodziak

Pomocna odpowiedź

#include <FastLED.h>           // Druga biblioteka sterowania diodami
#define PIN            2       // Pin do sterowania diodami
#define NUMPIXELS      30      // Ilosc diod 
#define COLOR_ORDER RGB
#define LED_TYPE WS2811
#define MAX_BRIGHTNESS 255


char OdebraneDane[20]; 
int indeks=0;
char data;
float Dioda_R = 0;  // wartosc jasnosci dla diod czerwonych 
float Dioda_G = 0;  // wartosc jasnosci dla diod zielonych
float Dioda_B = 100;  // wartosc jasnosci dla diod niebieskich 

char znak ="";
int x=6;

 CRGB led[NUMPIXELS];

void setup() 
{
  Serial.begin(9600); 
  FastLED.setBrightness(MAX_BRIGHTNESS);
  FastLED.addLeds<NEOPIXEL, PIN>(led, NUMPIXELS);
  FastLED.clear();
}

void loop() 
{
  wybor_funkcji();
}


        void wybor_funkcji()
{
  
 if (Serial.available() > 0  ) 
  {
      
    if (Serial.read() == 'f')
    {
      x = 0;
    }
      Serial.println(x);
  }

    delay(200);
    
        while (x == 0){
         ustawienie_koloru();
       } 
}


       void ustawienie_koloru()
{
  while (1 == 1) {
    x=8;
Serial.print("ustawienie koloru:");
Serial.println(indeks);
    
     if (Serial.available() > 0  ) 
  {
   delay(200);
   
   do{
    Serial.print("przerwa");
    znak = (char)Serial.read();
   OdebraneDane[indeks] = znak;
   indeks++;

   } while(znak != '\n');

   
   OdebraneDane[indeks] = 0;
   indeks=0;   

delay(200);
      
   
  }
}
}


Powyżej zamieściłem kod o którym mowa. 

Zamieszczę również zdjęcie bloków z MIT app inventor.

Aplikacja ma służyć do sterowania LED'ami.
Z niewiadomej dla mnie przyczyny po wysłaniu kilka razy informacji do bluetooth poprzez moduł HC-05 wyskakuje błąd "516 - broken pipe".

Aplikacja mobilna była tworzona w MIT app inventor oraz w kotlinie (android studio). Wciąż ten sam problem.

Wiem, że broken pipe występuje ze względu na problem z połączeniem użytkownik-odbiorca. W blokach w MIT app inventor zamieściłem fragment, który łączy
mnie z powrotem z arduino. Niestety jest to połowiczne rozwiązanie, bo ponowne łączenie trwa z 6 sekund (co jest irytujące).

Ciekawe, że kiedy korzystam z aplikacji RoboRemo, wszystko działa jak należy...


Ktoś miał podobny problem? Ktoś wie jak go rozwiązać?
 

apka.png

Edytowano przez Kodziak
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.