Arduino Masterclass - Μάθημα 3.1: Έλεγχος Μοτέρ με το L298N Motor Driver 🚗💨

 

Καλωσορίσατε στην Ενότητα 3! Σήμερα θα μάθουμε πώς να κάνουμε τα πράγματα να κινούνται. Το Arduino δεν μπορεί να οδηγήσει απευθείας ένα μοτέρ (καθώς δεν παρέχει αρκετό ρεύμα), γι' αυτό χρειαζόμαστε έναν "μεσάζοντα": τον οδηγό μοτέρ L298N.


🛠️ Τι θα χρειαστούμε;

  1. Arduino Uno.

  2. L298N Dual Motor Driver Module.

  3. 2x DC Μοτέρ (π.χ. με μειωτήρα).

  4. Μπαταρία (π.χ. 7.4V LiPo ή 9V) για τα μοτέρ.

  5. Καλώδια Jumper.



🔌 Η Συνδεσμολογία (Κρίσιμο Σημάδι!)

Το L298N έχει πολλές συνδέσεις. Ακολουθήστε το διάγραμμα προσεκτικά:

1. Ισχύς (Power):

  • 12V Port ➡️ Μπαταρία (+)

  • GND Port ➡️ Μπαταρία (-) ΚΑΙ Arduino GND (Κοινή Γείωση!)

  • 5V Port ➡️ Arduino 5V (αν δεν χρησιμοποιείτε το jumper)


2. Έλεγχος (Control) - Από Arduino:

  • IN1 ➡️ Arduino Pin 8

  • IN2 ➡️ Arduino Pin 9

  • ENA (Enable A - ταχύτητα) ➡️ Arduino Pin 10 (PWM)


3. Μοτέρ (Motor A):

  • OUT1 & OUT2 ➡️ Στα δύο καλώδια του Μοτέρ A.

(Επαναλάβετε για το Μοτέρ B στα pins IN3, IN4, ENB)


💻 Ο Κώδικας (Basic Motor Control)

Αυτός ο κώδικας κάνει το Μοτέρ A να κινηθεί μπροστά, να σταματήσει και μετά να κινηθεί πίσω με μισή ταχύτητα.

/*
 * Unique Tech - Arduino Masterclass
 * Lesson 3.1: Basic Motor Control (L298N)
 * Sensor: L298N Driver + DC Motor
 */

// Ορισμός Pin
const int IN1 = 8;
const int IN2 = 9;
const int ENA = 10; // Pin για PWM (ταχύτητα)

void setup() {
  // Ρύθμιση όλων των pins ως εξόδων
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(ENA, OUTPUT);
}

void loop() {
  // 1. Κίνηση Μπροστά (Full Speed)
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, 255); // Ταχύτητα 0-255
  delay(2000);

  // 2. Σταμάτημα (Brake)
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, 0);
  delay(1000);

  // 3. Κίνηση Πίσω (Half Speed)
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  analogWrite(ENA, 128); // Μισή ταχύτητα
  delay(2000);

  // 4. Σταμάτημα
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, 0);
  delay(1000);
}


🚀 Unique Tech Pro-Tips (Project MLA Insights)

  • Κοινή Γείωση (Common GND): Το #1 λάθος των αρχαρίων. Πρέπει οπωσδήποτε να συνδέσετε το GND της μπαταρίας με το GND του Arduino. Διαφορετικά, ο οδηγός δεν θα "ακούει" τις εντολές.

  • PWM & Ταχύτητα: Χρησιμοποιούμε την analogWrite() στα Enable pins (ENA/ENB) για να ελέγχουμε την ταχύτητα μέσω PWM. Στο MLA, αυτό μας επιτρέπει να κάνουμε ομαλές στροφές και να επιβραδύνουμε όταν πλησιάζουμε εμπόδια.

  • Θερμότητα: Το L298N ζεσταίνεται πολύ όταν οδηγεί ισχυρά μοτέρ. Βεβαιωθείτε ότι η ψύκτρα του (το μαύρο αλουμίνιο) αερίζεται καλά.



📋 Η Πρόκληση της Ημέρας

Συνδυάστε τα μαθήματα 2.1 και 3.1: Φτιάξτε ένα "Rover" που κινείται μπροστά, αλλά αν ο αισθητήρας υπερήχων ανιχνεύσει εμπόδιο στα 20cm, σταματάει αυτόματα!

Καλώς ήρθατε στον κόσμο της κινητικής ρομποτικής!

#UniqueTech #ArduinoMasterclass #L298N #MotorControl #Robotics #STEMGreece #Coding #Innovation #DIY

Σχόλια

Δημοφιλείς αναρτήσεις από αυτό το ιστολόγιο

Πώς να "διαβάζεις" τον αέρα: Σύνδεση αισθητήρων μέσω I2C με Arduino

Γιατί νυστάζουμε στην τάξη; Η αλήθεια πίσω από το CO2 και η λύση της Unique Tech

Καλωσορίσατε στο Unique Tech Blog!