Elektroda.pl
Elektroda.pl
X
BotlandBotland
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Pojazd zdalnie sterowany na Arduino - brak programu

05 Mar 2017 22:50 816 6
  • Poziom 4  
    Witam, chciałem zabrać się za budowę pojazdu zdalnie sterowanego opartego o Arduino. Sterowany jest za pomocą pilocika który ma 4 przyciski zmieniające stan logiczny(kierunki: prawo, lewo, prosto, do tyłu. Składać ma się z silnika DC i serwa. I tu pojawia się problem bo nie mam pojęcia jak napisać program. Czytałem, że Procesor nie potrafi wykonywać 2 czynności na raz tj. trzymam by jechał do przodu i chce by skręcił w prawo. Umiem napisać tylko że raz to a raz to co nie daje wymaganego efektu. Jak mogę temu zaradzić? Jakieś pomysły? A najlepiej przykłady.
  • BotlandBotland
  • Użytkownik usunął konto  
  • BotlandBotland
  • Poziom 36  
    DejmDaniel napisał:
    Witam, chciałem zabrać się za budowę pojazdu zdalnie sterowanego opartego o Arduino. Sterowany jest za pomocą pilocika który ma 4 przyciski zmieniające stan logiczny(kierunki: prawo, lewo, prosto, do tyłu. Składać ma się z silnika DC i serwa. I tu pojawia się problem bo nie mam pojęcia jak napisać program.


    Masz trochę za mało tych przycisków..(?) – brakuje przycisku do jazdy do przodu i w bok, oraz nie ma stopu...
    A teraz troche poważniej:
    Zastanów się czy byłoby możliwe kierowanie realnym pojazdem w takim wydaniu: cztery zdeterminowane czyli jednowartościowe (cyfrowe, nie analogowe) elementy sterowania.
    Potrzebujesz sterowac kierunkiem i ‘gazem’ w sposób analogowy (mniejszy lub większy skręt, większa lub mniejsza szybkośc, albo stop).
    Owszem, jest możliwośc programowego ‘ustopniowania’ wartosci emulujących zmienne w sposób zbliżony do analogowego, lecz nawet w modelu jak ten twój, fizycznie nie będziesz w stanie tego opanowac posługując sie tylko przyciskami.
    Przemyśl założenia projektu i zastosuj przynajmniej joystick (pot.) do sterowania i inny sposób łączności z pojzadem.

    Taki pilot jak twój może byc zastosowany do kontrolera zamykania/otwierania bramy, lub zapalania/gaszenia światła, bądz ewentualnie realizowac stopniowe/programowe przyciemnianie (dimming). Inaczej mówiąc zastosowanie do funkcji o charakterze statycznym. Nie chodzi tu o szybkośc zadziałania processora, ale ty nie jesteś w stanie nadążyc za nim aby zrealizowac process dynamiczny !!!!

    Cytat:

    Czytałem, że Procesor nie potrafi wykonywać 2 czynności na raz tj. trzymam by jechał do przodu i chce by skręcił w prawo. Umiem napisać tylko że raz to a raz to co nie daje wymaganego efektu. Jak mogę temu zaradzić? Jakieś pomysły? A najlepiej przykłady.

    Tak, jest prawdą że processor nie wykonuue 2 czynnosci jednocześnie ...
    ale jest tez prawdą ze moze załaczyc silnik do jazdy i pozostawic go załączony, a w następnej kolejności zając sie na moment skretem kół (obsługa serva) i powrócic do skorygowania prędkości jazdy, jeżeli taka programowa lub operatora potrzeba wystąpi. W następnej kolejności processor będzie realizował kolejne zadania wynikajace z programu, który jest wynikiem wyobraźni programisty.
    Może to byc naturalnie powrót do korrekty skrętu kół (jeżeli jest taka potrzeba), lub zupełnie inna czynnośc/funkcja nie związana z ruchem pojazdu.
    Posłuż się analogią z życia: kierowca pojazdu podczas jazdy nie obserwuje: jak i czy koła się obracają, lecz swoją uwagę kieruje na obserwację ruchu ulicznego mając jednocześnie na uwadze cel do którego jedzie.

    Czy możesz iśc po schodach i żuc gumę jednocześnie? - tak samo jest z processorem...

    e marcus
  • Poziom 4  
    Rozumiem, muszę zmienić podejście do projektu i w takim razie użyje analogowy joystick, podpatrzyłem na necie i widzę że jest to to, czego potrzebuję. Dzięki za wyjaśnienie.
  • Poziom 30  
    A czy w programie nie moze byc warunek ze jak wciśnięty jest przycisk do przodu to sprawdza czy inne takze nie sa wciśnięte i jeżeli wciśnięty jest przód i prawo to po prostu daje napięcie na silnik aby jechał do przodu i ustawia serwo aby skręcało w prawo ?
    Kilka czynności w jednym rozkazie i nie trzeba wielozadaniowości.
  • Poziom 37  
    McMarycha napisał:
    A czy w programie nie moze byc warunek ze jak wciśnięty jest przycisk do przodu to sprawdza czy inne takze nie sa wciśnięte i jeżeli wciśnięty jest przód i prawo to po prostu daje napięcie na silnik aby jechał do przodu i ustawia serwo aby skręcało w prawo ?
    Kilka czynności w jednym rozkazie i nie trzeba wielozadaniowości.


    Po koledze z wyższym licznikiem na elektrodzie, spodziewał bym się lepiej opracowanej odpowiedzi.

    Już pobieżnie czytając, niepoprawnie używasz pojęcia 'rozkaz', 'wielozadaniowość'.
    Zalążek algorytmu, który tu sugerujesz, jest błędny (przysłowiowy junior-programista w korporacji bezwzględnie realizując takie załozenia, zrobi zły program)
  • Poziom 30  
    Nie programuję zawodowo, kiedys robiąc podobny projekt jak autor postu (tylko sterowanie poprzez BT i telefon) wykorzystany właśnie był prze zemnie podobny sposób. A to czy ktoś ma wysoką rangę nie oznacza że zna się na wszystkim, staram się pomóc.