Menggunakan L9110 dengan Arduino

Using the L9110S With the Arduino

Driver motor L9110S adalah solusi yang kompak dan efisien untuk mengendalikan motor DC dan motor stepper dalam proyek Arduino Anda. Apakah Anda sedang membangun robot sederhana atau sistem otomatisasi yang lebih kompleks, L9110S menawarkan cara yang andal untuk mengelola operasi motor dengan kabel minimal dan kompleksitas pemrograman. Dalam posting blog ini, kami akan menjelajahi fitur driver motor L9110S, cara menghubungkannya ke Arduino, dan memberikan kode sampel untuk memulai.

Apa L9110S?

L9110S adalah IC driver motor dual-channel yang dirancang untuk mengontrol kecepatan dan arah dua motor DC atau satu motor stepper. Ini beroperasi pada kisaran tegangan 2.5V hingga 12V, menjadikannya serbaguna untuk berbagai aplikasi. L9110S dikenal karena ukurannya yang ringkas, konsumsi daya rendah, dan kemudahan integrasi dengan mikrokontroler seperti Arduino.

Mengapa Memilih L9110s?

  • Desain kompak: Jejak kecilnya membuatnya ideal untuk proyek -proyek dengan ruang terbatas.
  • Saluran ganda: Kontrol dua motor secara mandiri, memungkinkan untuk gerakan yang kompleks.
  • Mudah digunakan: Antarmuka sederhana dengan pelabelan yang jelas untuk koneksi yang mudah.
  • Biaya hemat: Harga yang terjangkau tanpa kompromi pada fungsionalitas.

Menghubungkan L9110 ke Arduino

Menyiapkan L9110 dengan Arduino sangat mudah. Di bawah ini adalah panduan langkah demi langkah untuk membuat koneksi:

  1. Koneksi Daya:
    • Hubungkan VCC Pin L9110S ke pin 5V di Arduino.
    • Hubungkan GND Pin L9110 ke pin GND di Arduino.
  2. Koneksi motor:
    • Hubungkan motor pertama ke OUT1 Dan OUT2 pin.
    • Jika menggunakan motor kedua, sambungkan ke OUT3 Dan OUT4 pin.
  3. Pin kontrol:
    • Hubungkan AIN1 Dan AIN2 Pin ke dua pin digital di Arduino (mis., Pin 2 dan 3).
    • Jika menggunakan motor kedua, sambungkan BIN1 Dan BIN2 ke dua pin digital lainnya (mis., Pin 4 dan 5).

Lihat diagram di bawah ini untuk representasi visual dari koneksi:

L9110S Diagram Koneksi Arduino

Memprogram Arduino

Setelah menyiapkan perangkat keras, langkah selanjutnya adalah memprogram Arduino untuk mengendalikan motor. Di bawah ini adalah kode sampel yang menunjukkan cara mengontrol arah dan kecepatan motor DC menggunakan driver motor L9110S.


// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;

// Setup function
void setup() {
  // Initialize the motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
}

// Loop function
void loop() {
  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second
}

Penjelasan:

  • AIN1 Dan AIN2 digunakan untuk mengontrol arah motor.
  • Pengaturan AIN1 Tinggi dan AIN2 Rendah memutar motor ke depan.
  • Pengaturan AIN1 Rendah dan AIN2 Berputar tinggi motor ke belakang.
  • Mengatur keduanya AIN1 Dan AIN2 Rendah menghentikan motor.

Mengontrol kecepatan dengan PWM

L9110S mendukung PWM (modulasi lebar pulsa) untuk kontrol kecepatan. Dengan memvariasikan siklus tugas sinyal PWM, Anda dapat menyesuaikan kecepatan motor. Inilah cara memodifikasi kode sebelumnya untuk memasukkan kontrol kecepatan:


// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;
const int PWM_PIN = 9; // PWM pin for speed control

// Setup function
void setup() {
  // Initialize the motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
  pinMode(PWM_PIN, OUTPUT);
}

// Loop function
void loop() {
  // Set speed to 150 out of 255
  analogWrite(PWM_PIN, 150);

  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second
}

Penjelasan: Itu analogWrite() Fungsi mengirimkan sinyal PWM ke motor, memungkinkan Anda untuk mengontrol kecepatannya. Nilai berkisar dari 0 (berhenti) hingga 255 (kecepatan penuh).

Aplikasi L9110 dengan Arduino

Kombinasi pengemudi motor L9110 dan Arduino membuka berbagai kemungkinan proyek:

  • Robotika: Kontrol pergerakan lengan robot atau robot seluler dengan kontrol motor yang tepat.
  • Sistem Otomasi: Otomatis tugas seperti pintu pembukaan/penutupan, penyesuaian katup, atau komponen bergerak di jalur perakitan.
  • Proyek DIY: Buat proyek elektronik khusus seperti slider kamera bermotor, sistem penyiraman tanaman otomatis, atau kendaraan yang dikendalikan dari jarak jauh.
  • Alat Pendidikan: Ajari siswa tentang kontrol motorik, elektronik, dan pemrograman melalui proyek langsung.

Kesimpulan

Driver motor L9110S adalah komponen yang serba guna dan ramah pengguna bagi siapa pun yang ingin mengontrol motor menggunakan Arduino. Kemampuan saluran ganda, dikombinasikan dengan kesederhanaan dalam kabel dan pemrograman, menjadikannya pilihan yang sangat baik untuk pemula dan penghobi berpengalaman. Dengan mengikuti langkah-langkah yang diuraikan dalam posting ini, Anda dapat dengan cepat mengintegrasikan kontrol motor ke dalam proyek Anda dan memperluas fungsionalitas sistem berbasis Arduino Anda.

Eksperimen dengan kecepatan, arah, dan aplikasi motor yang berbeda untuk sepenuhnya memanfaatkan potensi pengemudi motor L9110S. Selamat bermain -main!

Tinggalkan komentar

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.