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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

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