Skocz do zawartości

Arduino + aplikacja MIT app inventor - program


Mrpatryk

Pomocna odpowiedź

Witam, chciałbym dowiedzieć się  jakie zmienne przesyła mit app inventor po bluethoot, bo jak dam mu text niestety nic się nie dzieje (dioda w arduino "mruga" ale nie wiem jakie on wartości odczytuje), zaś gdy pobiorę jakaś apke do arduino bluethoot, typu ROBORemoFRee i wpisze w  "set action pressed"  oczywiscie w button te same textowe komendy arduino pracuje, a w mit inwentor niestety nie , ma ktoś jakiś pomysł ? 

void loop() {
  if (Serial.available() > 0)
  {
    char c = (char)Serial.read();
    if (c == '\n') {
      
      cmd[cmdIndex] = 0;
 lewo();
 PT();


k();
k1();
   klakson(); 
      cmdIndex = 0;
    } else {
      cmd[cmdIndex] = c;
      if (cmdIndex < 99) cmdIndex++;
    }
  




void k(){

  if(strcmp(cmd, "drugie=1")==0) {
    
    a++;}
    if(a==1){digitalWrite(8, HIGH);
    digitalWrite(10 ,HIGH);
   
    }
    if(a==2){digitalWrite(8, LOW);
      digitalWrite(10 ,LOW);
    a=0;
 }

 

123123123.jpg

Link do komentarza
Share on other sites

Być może Twoja aplikacja wysyła "nieodpowiednie" znaki końca linii (\r\n zamiast \n zadeklarowanego w Arduino) albo nie wysyła ich wcale.

Wybacz za post nie na temat. Nie znam MIT app inventor. Jeżeli masz podstawy HTML + JavaScript, bardzo polecam Apache Cordova + plugin Cordova (PhoneGap) Plugin for Serial Communication over Bluetooth. Bardzo łatwo stworzysz w tym aplikację mobilną do sterowania Arduino przez Bluetooth. Praktycznie tak, jakbyś pisał normalną stronę internetową.

Na dodatek to zwykłe programowanie, więc uzyskasz chyba większą kontrolę nad tym co robisz względem "układania klocków".

Przykład programu: Wyzwalacz Bluetooth z interwałometrem do lustrzanki cyfrowej Canon EOS.

  • Lubię! 1
Link do komentarza
Share on other sites

mitai2.thumb.jpg.7994f9e1b714e0f904a3f0fee26cb4b3.jpg

tutaj masz zestaw bloczków na połączenie z BT:

bloczek 1 : sprawdza czy jest włączony BT. Jeśli nie to wysyła to co na czerwono

bloczek 2: wyświetla listę urządzeń do połączenia

bloczek 3: po wybraniu urządzenia nawiązuje połączenie

Oczywiście te bloczki można pominąć i połączyć się ręcznie z menu telefonu po wcześniejszym sparowaniu urządzeń.

ai2.thumb.jpg.986f4f553c03e8f1a1137a263fef5f6e.jpg

ten bloczek wygląda prawie tak samo jak twój tyle , że sprawdza dodatkowo czy jest połączony z BT. Ja do swojego wysyłam same znaki bo ogólnie rzecz biorąc jest to mniej problematyczne (tutaj jest to 't'). 

no i zostaje kwestia kodu pod arduino 

if (Serial.available() > 0) 
   {
      char  komendy = Serial.read();
      
        switch(komendy) 
        {
          case't':
           tutaj_twoje_funkcjie();
           break;
        }
}

jak zechcesz to dopiszesz sobie więcej przypadków pamiętaj tylko , żeby dokleić kolejne bloczki do app inventora. 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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.