Skocz do zawartości

Arduino + aplikacja MIT app inventor - program


Pomocna odpowiedź

Napisano

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

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
  • 1 miesiąc później...

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. 

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