Skocz do zawartości

Silnik po podłączeniu do Arduino Uno i wywołaniu jego funkcji nie działa. (Arduino kurs robotyki)


Worldi

Pomocna odpowiedź

#define L_PWM A5
#define L_DIR 4
#define R_PWM 6
#define R_DIR 9
#define led 13
#define przycisk 2
#define PWM_MAX 165
#define buzzer 10
#define lSensor A1
#define rSensor A0
bool jedzie = false;
#define granica 940

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(L_DIR, OUTPUT);
  pinMode(L_PWM, OUTPUT);
  pinMode(R_DIR, OUTPUT);
  pinMode(R_PWM, OUTPUT);
  pinMode(przycisk, INPUT_PULLUP);
  pinMode(buzzer, OUTPUT);

  pinMode(lSensor, INPUT_PULLUP);
  pinMode(rSensor, INPUT_PULLUP);
}

void loop() {
  // put  your main code here, to run repeatedly:
  if (digitalRead(przycisk) == LOW){
    jedzie = true;
  }
  if (jedzie == true){
    leftMotor(50);
    rightMotor(50);
    if (digitalRead(lSensor) == LOW || digitalRead(rSensor) == LOW){
    rightMotor(-50);
    leftMotor(-50);
    digitalWrite(buzzer, 1);
    delay(1000);
    rightMotor(-50);
    leftMotor(50);
    digitalWrite(buzzer, 0);
    delay(250);
  }
  } 

}
  void leftMotor(int V){
  if(V > 0){
    V = map(V, 0, 100, 0, PWM_MAX);
    digitalWrite(L_DIR, 1);
    analogWrite(L_PWM, V);
  }
  else{
    V = abs(V); 
    V = map(V, 0, 100, 0, PWM_MAX);
    digitalWrite(L_DIR, 0);
    analogWrite(L_PWM, V);
  }
}

void rightMotor(int V){
  if(V > 0){
    V = map(V, 0, 100, 0, PWM_MAX);
    digitalWrite(R_DIR, 0);
    analogWrite(R_PWM, V);
  }
  else{
    V = abs(V); 
    V = map(V, 0, 100, 0, PWM_MAX);
    digitalWrite(R_DIR, 1);
    analogWrite(R_PWM, V);
  }
}

void stopMotors(){
  analogWrite(L_PWM, 0);
  analogWrite(R_PWM, 0);
}

  boolean leftSensor(){
    if (analogRead(lSensor) > granica){
      return 1;
    }
    else {
      return 0;
    }
  }

  boolean rightSensor(){
    if(analogRead(rSensor) > granica){
      return 1;
    }
    else {
      return 0;
    }
  }

(Lewy silnik mam odwrócony, więc zamieniłem 1 z 0  i  0 z 1.)

Edytowano przez Worldi
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.