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);
}