L9110'ları Arduino ile kullanmak

Using the L9110S With the Arduino

L9110S motor sürücüsü, Arduino projelerinizdeki DC motorlarını ve step motorları kontrol etmek için kompakt ve verimli bir çözümdür. İster basit bir robot ister daha karmaşık bir otomasyon sistemi inşa edin, L9110S, minimum kablolama ve programlama karmaşıklığı ile motor işlemlerini yönetmek için güvenilir bir yol sunar. Bu blog yazısında, L9110S motor sürücüsünün özelliklerini, bir Arduino'ya nasıl bağlanacağınızı ve başlamanız için örnek kod sağlayacağını keşfedeceğiz.

L9110'lar nedir?

L9110S, iki DC motorunun veya bir step motorun hızını ve yönünü kontrol etmek için tasarlanmış çift kanallı motor sürücü IC'dir. 2.5V ila 12V voltaj aralığında çalışır ve bu da çeşitli uygulamalar için çok yönlü hale getirir. L9110S, kompakt boyutu, düşük güç tüketimi ve Arduino gibi mikrodenetleyicilerle entegrasyon kolaylığı ile bilinir.

Neden L9110'ları Seçmelisiniz?

  • Kompakt Tasarım: Küçük ayak izi, sınırlı alana sahip projeler için idealdir.
  • Çift kanallar: Karmaşık hareketlere izin vererek iki motoru bağımsız olarak kontrol edin.
  • Kullanımı kolay: Kolay bağlantılar için net etiketleme ile basit arayüz.
  • Maliyet etkin: İşlevsellikten ödün vermeden uygun fiyatlı fiyatlandırma.

L9110'ları Arduino'ya bağlamak

L9110'ların bir arduino ile ayarlanması basittir. Aşağıda bağlantıları yapmak için adım adım bir kılavuz bulunmaktadır:

  1. Güç Bağlantıları:
    • Bağla VCC L9110'ların pimi Arduino'daki 5V pimine.
    • Bağla GND L9110'ların pimi Arduino'daki GND pimine.
  2. Motor bağlantıları:
    • İlk motoru OUT1 Ve OUT2 pimler.
    • İkinci bir motor kullanıyorsanız, OUT3 Ve OUT4 pimler.
  3. Kontrol pimleri:
    • Bağla AIN1 Ve AIN2 Arduino üzerinde iki dijital pime pimleri (örn. Pin 2 ve 3).
    • İkinci bir motor kullanıyorsanız, bağlayın BIN1 Ve BIN2 diğer iki dijital pim (örn., Pinler 4 ve 5).

Bağlantıların görsel temsili için aşağıdaki şemaya bakın:

L9110S Arduino Bağlantı Şeması

Arduino programlama

Donanımı kurduktan sonra, bir sonraki adım Arduino'yu motorları kontrol etmek için programlamaktır. Aşağıda, L9110S motor sürücüsünü kullanarak bir DC motorunun yönünün ve hızının nasıl kontrol edileceğini gösteren bir örnek kod bulunmaktadır.


// 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
}

Açıklama:

  • AIN1 Ve AIN2 motorun yönünü kontrol etmek için kullanılır.
  • Ayar AIN1 Yüksek ve AIN2 Düşük motoru öne döndürür.
  • Ayar AIN1 Alçak ve AIN2 Yüksek motoru geri döndürür.
  • Her ikisini de ayarlamak AIN1 Ve AIN2 Düşük motoru durdurur.

PWM ile Hızı Kontrol Etme

L9110S, hız kontrolü için PWM'yi (darbe genişliği modülasyonu) destekler. PWM sinyalinin görev döngüsünü değiştirerek motorun hızını ayarlayabilirsiniz. Hız kontrolünü içerecek şekilde önceki kodu nasıl değiştireceğiniz aşağıda açıklanmıştır:


// 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
}

Açıklama: . analogWrite() Fonksiyon motora bir PWM sinyali gönderir ve hızını kontrol etmenizi sağlar. Değer 0 (durak) ile 255 (tam hız) arasında değişir.

L9110'ların Arduino ile Uygulamaları

L9110S motor sürücüsü ve Arduino'nun kombinasyonu çok çeşitli proje olanakları açıyor:

  • Robotik: Hassas motor kontrolü ile robotik kolların veya mobil robotların hareketini kontrol edin.
  • Otomasyon Sistemleri: Kapıları açma/kapatma, vanaları ayarlama veya montaj hatlarındaki hareketli bileşenleri otomatikleştirin.
  • DIY Projeleri: Motorlu kamera kaydırıcıları, otomatik bitki sulama sistemleri veya uzaktan kumandalı araçlar gibi özel elektronik projeler oluşturun.
  • Eğitim Araçları: Öğrencilere uygulamalı projeler aracılığıyla motor kontrolü, elektronik ve programlama hakkında bilgi verin.

Çözüm

L9110S motor sürücüsü, bir Arduino kullanarak motorları kontrol etmek isteyen herkes için çok yönlü ve kullanıcı dostu bir bileşendir. Çift kanallı özelliği, kablolama ve programlamadaki basitlik ile birleştiğinde, onu hem yeni başlayanlar hem de deneyimli hobiler için mükemmel bir seçim haline getirir. Bu yazıda belirtilen adımları izleyerek, motor kontrolünü projelerinize hızlı bir şekilde entegre edebilir ve Arduino tabanlı sistemlerinizin işlevselliğini genişletebilirsiniz.

L9110S motor sürücüsünün potansiyelini tamamen kullanmak için farklı motor hızları, talimatlar ve uygulamalarla deney yapın. Mutlu Tinkering!

Yorum bırak

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.