Preskoči na vsebino

Novica /

Koda

char cmd;

// L298N pini
#define IN1 7 // Levi motorji
#define IN2 6
#define IN3 5 // Desni motorji
#define IN4 4

void setup() {
Serial.begin(9600);

pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);

stopAll();
}

void loop() {
if (Serial.available() > 0) {
cmd = Serial.read();

switch (cmd) {

// Naprej
case ‘F’:
case ‘1’:
forward();
break;

// Nazaj
case ‘B’:
case ‘2’:
backward();
break;

// Levo
case ‘L’:
case ‘3’:
turnLeft();
break;

// Desno
case ‘R’:
case ‘4’:
turnRight();
break;

// Stop
case ‘S’:
case ‘0’:
stopAll();
break;
}
}
}

// ===== FUNKCIJE =====

void forward() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}

void backward() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}

void turnLeft() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}

void turnRight() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}

void stopAll() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}