Skocz do zawartości

Kod do arduino


marcelh2o

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

Link do komentarza
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ę.

Link do komentarza
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);
 }
}



Link do komentarza
Share on other sites

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

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.