Önceki yazımızda DC motorları L298N motor sürücü kartı ile nasıl çalıştıracağımızı en temelden başlayarak açıklamıştık.
Yazıda modülün kullanımının en temeline yaklaşmış ve bir kütüphane kullanmamıştık. Bu yazıda aynı işlevi kullanışlı Arduino kütüphaneleri ile nasıl yapabileceğimizi anlatacağız.
L298 motor sürücü modülünün inceliklerini öğrenmek için öncül yazıyı okumanız önerilir.
Bu yazıda öncül yazıdaki L298 motor sürücü ile çift motor kullanımı projesinin aynısını Arduino kütüphaneleri aracılığıyla yapacağız. Üstelik iki farklı kütüphaneyi açıklayacak ve ikisinin de örnek sketch kodlarını göreceğiz.
Devre kurulumunu zaten biliyoruz:
L298 – Andrea Lombardo
Bu kütüphane L298 motor sürücü için yapılmış en eski kütüphanelerden birisi ve sık sık güncelleniyor. Kütüphaneyi Arduino IDE’nin Araçlar menüsünden Kütüphaneleri Yönet… tıklayarak açılan pencerede L298 aratarak kurabiliriz.
Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!
Sketch kodunu kopyalamak için pencerenin sağ üst köşesindeki butona tıklayabilir veya buraya tıklayarak ZIP dosyası olarak indirebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
/* L298N Motor Sürücü Kartı Arduino Kütüphanesi ile Nasıl Kullanılır? (2 Motor) L298N çift motor sürücü modülünün detaylı açıklaması ve örnek projelerini web sitemizde bulabilirsiniz. Mete Hoca https://www.metehoca.com/ */ #include <L298NX2.h> // Kütüphaneyi ekliyoruz // Andrea Lombardo tarafından hazırlanan // L298 kütüphanesini Arduino'nun dahili // kütüphane yöneticisinden yükleyebiliriz. int IN1 = 5; // Sürücü kartın IN1 bağlantısı int IN2 = 4; // Sürücü kartın IN2 bağlantısı int IN3 = 3; // Sürücü kartın IN3 bağlantısı int IN4 = 2; // Sürücü kartın IN4 bağlantısı int ENA = 10; // 1. motorun (A) çalışma ve hız kontrol pini int ENB = 9; // 2. motorun (B) çalışma ve hız kontrol pini // IN1 ve IN2 pinleri 1. motorun bağlı olduğu OUT1 ve OUT2 // çıkışlarını, ENA pini ise motor hızını kontrol ediyor // ENA = ENABLE MOTOR A demek, yani sola takılan motor // IN3 ve IN4 pinleri 2. motorun bağlı olduğu OUT3 ve OUT4 // çıkışlarını, ENB pini ise motor hızını kontrol ediyor // ENB = ENABLE MOTOR B demek, yani sağa takılan motor // Bu pinler PWM (~) destekli bir header'a bağlanmalı L298NX2 motorlar(ENA, IN1, IN2, ENB, IN3, IN4); // Pin değerleri // kütüphaneye aktarılıyor void setup() { motorlar.setSpeedA(100); // 1. motora hız ayarı yapılıyor (0-255) motorlar.setSpeedB(100); // 2. motora hız ayarı yapılıyor (0-255) } void loop() { motorlar.forwardA(); // 1. motor kısa bir süre döndürülüyor delay(1000); motorlar.stopA(); motorlar.forwardB(); // 2. motor kısa bir süre döndürülüyor delay(1000); motorlar.stopB(); motorlar.backwardA(); // 1. motor TERS YÖNE kısa bir süre döndürülüyor delay(1000); motorlar.stopA(); motorlar.backwardB(); // 2. motor TERS YÖNE kısa bir süre döndürülüyor delay(1000); motorlar.stopB(); } |
L298N_MotorDriver – Alex Krieg
Bu kütüphane ise L298 motor sürücü için hazırlanmış en basit yapıdaki kütüphane olabilir. Kütüphaneyi Arduino IDE’nin Araçlar menüsünden Kütüphaneleri Yönet… tıklayarak açılan pencerede L298N_MotorDriver aratarak kurabiliriz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
/* L298N Motor Sürücü Kartı Arduino Kütüphanesi ile Nasıl Kullanılır? (2 Motor) L298N çift motor sürücü modülünün detaylı açıklaması ve örnek projelerini web sitemizde bulabilirsiniz. Mete Hoca https://www.metehoca.com/ */ #include <L298N_MotorDriver.h> // Kütüphaneyi ekliyoruz // Alex Krieg tarafından hazırlanan // L298N_MotorDriver kütüphanesini Arduino'nun // dahili kütüphane yöneticisinden yükleyebiliriz. int IN1 = 5; // Sürücü kartın IN1 bağlantısı int IN2 = 4; // Sürücü kartın IN2 bağlantısı int IN3 = 3; // Sürücü kartın IN3 bağlantısı int IN4 = 2; // Sürücü kartın IN4 bağlantısı int ENA = 10; // 1. motorun (A) çalışma ve hız kontrol pini int ENB = 9; // 2. motorun (B) çalışma ve hız kontrol pini // IN1 ve IN2 pinleri 1. motorun bağlı olduğu OUT1 ve OUT2 // çıkışlarını, ENA pini ise motor hızını kontrol ediyor // ENA = ENABLE MOTOR A demek, yani sola takılan motor // IN3 ve IN4 pinleri 2. motorun bağlı olduğu OUT3 ve OUT4 // çıkışlarını, ENB pini ise motor hızını kontrol ediyor // ENB = ENABLE MOTOR B demek, yani sağa takılan motor // Bu pinler PWM (~) destekli bir header'a bağlanmalı L298N_MotorDriver motorA(ENA,IN1,IN2); // Pin değerleri L298N_MotorDriver motorB(ENB,IN3,IN4); // kütüphaneye aktarılıyor void setup() { motorA.setSpeed(100); // 1. motora hız ayarı yapılıyor (0-255) motorB.setSpeed(100); // 2. motora hız ayarı yapılıyor (0-255) } void loop() { motorA.setDirection(0); // 1. motor kısa bir süre döndürülüyor motorA.enable(); delay(1000); motorA.disable(); motorB.setDirection(0); // 2. motor kısa bir süre döndürülüyor motorB.enable(); delay(1000); motorB.disable(); motorA.setDirection(1); // 1. motor TERS YÖNE kısa bir süre döndürülüyor motorA.enable(); delay(1000); motorA.disable(); motorB.setDirection(1); // 2. motor TERS YÖNE kısa bir süre döndürülüyor motorB.enable(); delay(1000); motorB.disable(); } |