Skocz do zawartości

Użycie przycisku do przełączania się między pętlami


Pomocna odpowiedź

Pisząc dalej swój kod napotkałem się na kolejny problem. Chce dodać funkcjonalność Bluetooth i żeby, gdy połączę się z telefonem program przeskakiwał do odpowiedniej funkcji. Użyłem pin'u STATE do sprawdzania stanu połączenia, ale niestety to nie działa.

void loop() {
if(digitalRead(STATE) == 0){
  while(digitalRead(STATE) == 0){
  if (digitalRead(buttonPin) == LOW) {
    delay(1000);
    stan = 0;
    while (stan == 0) {
      joystick();
        if (digitalRead(buttonPin) == LOW) {
          stan = 1;
          }
      }
    }
  if (digitalRead(buttonPin) == LOW) {
    delay(1000);
    stan = 1;
    while (stan == 1) {
      gyro();
      if (digitalRead(buttonPin) == LOW) {
        stan = 0;
        }
      }
    }
}
}
if(digitalRead(STATE) == 1){
  while(digitalRead(STATE) == 1){
  bluetooth_control();
  }
}

 

51 minut temu, farmaceuta napisał:

A na STATE faktycznie dpstajesz stan wysoki po polaczeniu??

Tak, ale z jakiegoś powodu to nie chce działać. To znaczy może inaczej, jak pierwszą rzeczą, która zrobię jest połączenie się przez Bluetooth to działa, ale jak najpierw użyje innego trybu sterowania to już łączenie się przez Bt nic nie daje 

18 minut temu, MrReus napisał:

To znaczy może inaczej, jak pierwszą rzeczą, która zrobię jest połączenie się przez Bluetooth to działa, ale jak najpierw użyje innego trybu sterowania to już łączenie się przez Bt nic nie daje 

A moze tu tkwi problem?

while (stan == 1) {
      gyro();
      if (digitalRead(buttonPin) == LOW) {
        stan = 0;
        }

I moze tu tez..

while (stan == 0) {
      joystick();
        if (digitalRead(buttonPin) == LOW) {
          stan = 1;
          }

Jak wejdziesz do tych "while" to juz nie sprawdzisz warunku od blu, bo "if" jest poza petlami...spruboj wkleic tego "if'a" do kazdej petli "while" na koncu...i po podlaczeniu blu powinienes wykonywac kod tak jak chcesz...

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