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:
-
Koneksi Daya:
- Hubungkan
VCC
Pin L9110S ke pin 5V di Arduino. - Hubungkan
GND
Pin L9110 ke pin GND di Arduino.
- Hubungkan
-
Koneksi motor:
- Hubungkan motor pertama ke
OUT1
DanOUT2
pin. - Jika menggunakan motor kedua, sambungkan ke
OUT3
DanOUT4
pin.
- Hubungkan motor pertama ke
-
Pin kontrol:
- Hubungkan
AIN1
DanAIN2
Pin ke dua pin digital di Arduino (mis., Pin 2 dan 3). - Jika menggunakan motor kedua, sambungkan
BIN1
DanBIN2
ke dua pin digital lainnya (mis., Pin 4 dan 5).
- Hubungkan
Lihat diagram di bawah ini untuk representasi visual dari koneksi:
![L9110S Diagram Koneksi Arduino](path-to-your-diagram.jpg)
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
DanAIN2
digunakan untuk mengontrol arah motor. - Pengaturan
AIN1
Tinggi danAIN2
Rendah memutar motor ke depan. - Pengaturan
AIN1
Rendah danAIN2
Berputar tinggi motor ke belakang. - Mengatur keduanya
AIN1
DanAIN2
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!