Skocz do zawartości

Problem z płynną pracą dwóch serw razem z stacją pogodową arduino (Sterowanie silnikami przez HC05 w oknie command)


Pomocna odpowiedź

Napisano

Mam pewien problem z płynną pracą dwóch serw razem z stacją pogodową arduino (Sterowanie silnikami przez HC05 w oknie command) , problem polega na tym iż wpisujac w oknie comand (na telefonie) odpowiednie litery dzieje się to co powinno aczkolwiek jeśli w command nawale dużo różnych literek to po poprawnym wpisaniu komendy jest długi czas na zadzialanie, znalazlem teoretyczne rozwiązanie na tej stronie: https://physics.uwb.edu.pl/wf/fi-bot/?tag=serwo&paged=2

Aczkolwiek próbowałem wgrać bibliotekę ServoTimer2 i po wgraniu arduino nie widzi tej biblioteki czy ktoś miał może podobny problem

Do sterowania użyłem dwa multiserva SG 90 są to serwa tak zwane wieloobrotowe , będą użyte do sterowania roletami  i bramą w makiecie.

 

Druga rzecz że np drugie serwo w wstecz pracuje dużo szybciej niż w przód ale według poradnika na stronie tak jest i dlatego użyli ServoTimer2 ale ta biblioteka tak jak mówie nie działa mi

(edytowany)

@Burza22 zapoznaj się z takim tworem jak maszyna stanów i timerami programowymi. Zwłaszcza jeśli ma to być praca inżynierska. Ja tak dokładnie tych funkcji arduinowych nie znam, ale pozbycie się tego delaja w środku pętli powinno poprawić sytuację. https://eatelier.nl/?e_tutorial=arduino-and-multi-tasking-2 raz najprostszy przykład z tej strony
 

// declaration and initialisation
unsigned long period = ... ;  // waiting period in ms.
unsigned long startTime;      //Variable storing startTime of waiting period in ms.

void setup() {
  startTime  = millis();      // initialisation using actual time
}

void loop() {
  if (millis() - startTime >= period) {
    // do what needs to be done after waiting for period ms
    // tutaj możesz... Wrecz powinienes... robić odczyty DHT
    startTime = millis();  // re-initialise startTime for next period
  }
}

 

Edytowano przez _LM_
15 minut temu, Burza22 napisał:

ale co nie zmienia faktu ze dziwne ze nie dziala mi biblioteka servotimer2

 

Być może masz zdublowany folder... O ile dobrze pamiętam to ma być folder i w nim odrazy zawartość biblioteki, a Ty możesz mieć folder, w nim drugi folder o tej samej nazwie i dopiero w nim zawartość...

(edytowany)
21 minut temu, Burza22 napisał:

tak wlasnie zapoznaje sie z funkcja millis delay

Im szybciej tym lepiej 😉

@farmaceuta ty się lepiej znasz na tych libsach, pytanie czy któraś z dołączonych bibliotek nie korzysta z zasobów timera2? Software serial czy on czasem na timer2 nie jest oparty 

Edytowano przez _LM_
15 minut temu, _LM_ napisał:

software serial czy on czasem na timer2 nie jest oparty

Nie, software serial kłóci się ze zwykłą biblioteką servo, dlatego timer2

  • Lubię! 2

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