Skocz do zawartości
marcelh2o

Kod do arduino

Pomocna odpowiedź

Cześć wszystkim 🙂 Robię projekt (pojazd sterowany joystickiem) Mam 4 silniki i koła do nich no i ten nieszczęsny moduł joystick ( adafruit motor shiled żebym mógł sterować tymi silnikami) ale problem mam zawsze w napisaniu programu do tego. Przyznam szczerze że niby jak widze kody innych to tak mniej więcej wiem o co chodzi ale jak mam napisać kod pod swoje potrzeby no się zastanawiam czy sobie nie znaleźć innego hobby...

Widzialiście może albo sami potraficie napisać kod do takiej konstrukcji? za każdą pomoc/naprowadzenie dziękuję bo już nie wiem od czego mam zacząć.

Oczywiście chciałybym po posunięciu joysticka do przodu jechał do przodu; joy do tyłu koła do tyłu; no i skręcanie odbywało się tak że lewe koła w przód to prawe w tył i odwrotnie.

Kolejne pytanie czy lepiej zamówić adafruit motor shield czy sam mostek h TB6612 ?

__________

Komentarz dodany przez: Treker

Udostępnij ten post


Link to post
Share on other sites

Cześć! Może nie doczytałem, ale nie podałeś dość ważnej rzeczy, czy robisz sterowanie przewodowe, czy bezprzewodowe. Przy przewodowym wykrywasz, w którą strone jest wychylony i ustawiasz pwm'a na silniki. Wszystko zrobisz na if'ach. Jak masz wychylony na prawo to odczytujesz jak bardzo i dopasowujesz do(8 bitowego?) pwm'a i tak robisz z każdym kierunkiem, a jak potrzeba do tyłu to jeszcze odpowiednio wysyłasz sygnały do mostka.

if(prawo>=1)
digitalWrite(3, LOW);//sterowanie mostkiem(kierunki silnika)
digitalWrite(4, HIGH);
analogWrite(5, prawo);//Prędkość na silnik
analogWrite(6, prawo);

Masz uproszczony przykład jak to można wykonać.

prawo to zmienna, której wartość to odpowiednio wyskalowane wychylenie joysticka.

Udostępnij ten post


Link to post
Share on other sites

Na początku chciałem żeby było łatwiej więc sterowanie mogło by być przewodowe ale finalny projekt miałby być sterowany nrf24l01. Bardzo zagmatwane by było przerobienie takiego kodu? A może znacie jakieś książki, w których znajdę informacje o mostkach H silnikach i nrf24l01 w jednym? połączyć je i tak dalej potrafie ale napisać program to już kosmos. Przeczytałem już kilka książek o avr'ach programowaniu w C ale tam raczej był takie ogólne inforamcje nic tak żeby praktycznie wykorzystać to połączeniu np nrf i silników + mostk H. Bardzo mi zależy żeby się tego nauczyć więc nie licze na gotowce. W przyszłości chciałbym na pracę inżynierską zrobić prototyp łazika marsjańskiego ale najpierw muszę zacząć od podstaw jak sterowanie zwykłym pojazdem. Za polecenie materiałów i książek z góry bardzo wam dziękuję.

Udostępnij ten post


Link to post
Share on other sites

ok widzę że nie znacie takich książek :/ znalazłem taki kod w internecie ale działa mi inaczej niż autorowi. Autorowi działa tak że jak przesunie joy w prawo to silnik kręci się w prawo, a jak w lewo to w lewo. Mi działa to w ten sposób że po wgraniu programu silnik zaczyna się kręcić jak wcisne w prawo to kręci się jeszcze szybciej, a jak w lewo to nie kręci się wogóle. Jak poprzestawiać te cyferki żeby było dobrze? Dodam że odczyt z serialu dla samego Joysticka to : W górę 0, w dół 1023, a w pozycji neutralnej ma 509. Próbowałem już różnych kombinacji ale silnik tylko piszczał albo tylko się kręcił nie wem jak to ugryźć

const int joystick = A0;
int odczyt1; 
int odczyt2;
int mostekprawo = 9;
int mosteklewo = 10;

void setup() {                
 pinMode(mostekprawo, OUTPUT); 
 pinMode(mosteklewo, OUTPUT);
 Serial.begin(9600);
}

void loop() {

 if((analogRead(joystick))<513){
   odczyt1 = analogRead(joystick);
   odczyt1 = map(odczyt1, 511, 0, 0, 255);
   analogWrite(mostekprawo, odczyt1);
 }
 else {
   analogWrite(mostekprawo, LOW);
 }

 if((analogRead(joystick))>513){
   odczyt2 = analogRead(joystick); 
   odczyt2 = map(odczyt2, 516, 1023, 0, 255);
   analogWrite(mosteklewo, odczyt2);
 }
 else {
   analogWrite(mosteklewo, LOW);
 }
}



Udostępnij ten post


Link to post
Share on other sites

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