blaskszminki Napisano Grudzień 5, 2019 Udostępnij Napisano Grudzień 5, 2019 Cześć, mam problem z uruchomieniem silnika. Potrafię sterować poszczególnymi sygnałami [IN1, IN2, IN3, IN4] używam do tego: gpio -g write 26 1 - powoduję to, że zapalam diodę na sterowniku (IN1), analogicznie wyłączam diodę z parametrem 0. Steruję każdym z czterech sygnałów. Od kilku dni próbuje wymusić ruch silnika niestety bezskutecznie, na arduino udało mi się bez problemu, korzystając z raspberry jest problem. Znaczy to, że sterownik działa prawidłowo. https://pastebin.com/UntU6jds?fbclid=IwAR2bkoNcrdWBQBUkKHIEcRQI6EM9BGySg_CN0L5XtzJ1tMVe9PNHDf9lf-4 powyżej link do kodu, którego używam na arduino. Proszę o pomoc, ponieważ nie wiem co robię nie tak.. Poniżej kod, który próbuje odpalić na raspberry i za każdym razem zgłaszają mi się błędy.. za pomoc odwdzięczę się jakimś trunkiem, bądź przelewem na ten trunek.. #512 krokow to pelen obot stepMotor_moves = 256; #szybkosc zmiany magnesow w ms stepMotor_delay = 5; #tablica z pinami IN1, IN2, IN3, IN4 stepMotor_pins = [26, 19, 13, 6] stepMotor_resetMagnets() { digitalWrite(stepMotor_pins[0], LOW); digitalWrite(stepMotor_pins[1], LOW); digitalWrite(stepMotor_pins[2], LOW); digitalWrite(stepMotor_pins[3], LOW); } stepMotor_moveForward() { stepMotor_resetMagnets(); # reset magnets before looping step motor for (int j = 0; j < stepMotor_moves; j++) { # Forward - power on magnets in 1, 2, 3, 4 config with delay every change for (int i = 0; i < 4; i++) { if (i == 0) { digitalWrite(stepMotor_pins[3], LOW); digitalWrite(stepMotor_pins[0], HIGH); } else if (i == 1) { digitalWrite(stepMotor_pins[0], LOW); digitalWrite(stepMotor_pins[1], HIGH); } else if (i == 2) { digitalWrite(stepMotor_pins[1], LOW); digitalWrite(stepMotor_pins[2], HIGH); } else if (i == 3) { digitalWrite(stepMotor_pins[2], LOW); digitalWrite(stepMotor_pins[3], HIGH); } delay(stepMotor_delay); } } stepMotor_resetMagnets(); # release magnets } stepMotor_moveBackward() { stepMotor_resetMagnets(); # reset magnets before looping step motor for (j = 0; j < stepMotor_moves; j++) { # Forward - power on magnets in 4, 3, 2, 1 config with delay every change for (i = 0; i < 4; i++) { if (i == 0) { digitalWrite(stepMotor_pins[0], LOW); digitalWrite(stepMotor_pins[3], HIGH); } else if (i == 1) { digitalWrite(stepMotor_pins[3], LOW); digitalWrite(stepMotor_pins[2], HIGH); } else if (i == 2) { digitalWrite(stepMotor_pins[2], LOW); digitalWrite(stepMotor_pins[1], HIGH); } else if (i == 3) { digitalWrite(stepMotor_pins[1], LOW); digitalWrite(stepMotor_pins[0], HIGH); } delay(stepMotor_delay); } } stepMotor_resetMagnets(); # release magnets } Cytuj Link do komentarza Share on other sites More sharing options...
Anonim Grudzień 5, 2019 Udostępnij Grudzień 5, 2019 9 godzin temu, blaskszminki napisał: Poniżej kod, który próbuje odpalić na raspberry i za każdym razem zgłaszają mi się błędy.. To może pokaż log z błędami zamiast towarzystwo rozpijać.. Cytuj Link do komentarza Share on other sites More sharing options...
Gieneq Grudzień 6, 2019 Udostępnij Grudzień 6, 2019 (edytowany) @blaskszminki faktycznie, jakbyś miał jakąś wiadomość zwrotną co nie działa, tak zwany log to by pomogło ustalić przyczynę. Edytowano Grudzień 6, 2019 przez Gieneq Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!