Skocz do zawartości

blaskszminki

Użytkownicy
  • Zawartość

    2
  • Rejestracja

  • Ostatnio

Reputacja

2 Neutralna

O blaskszminki

  • Ranga
    1/10
  1. 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 }
×
×
  • Utwórz nowe...