top of page

Raspberry Pi ve L298N ile DC Motor Kontrolü

Bu uygulamamızda Raspberry Pi kartımız ve L298N motor sürücü kartını kullanarak standart bir DC motorun yön ve hız kontrolünü yapacağız.


Bu uygulamada kullanacağımız malzemelerimiz;

  • Raspberry Pi

  • L298N Motor Sürücü Kartı

  • 6V 250 Rpm DC Motor

  • Jumper Kablolar


Devremizi şemada gördüğümüz şekilde kuruyoruz.


IN1 -- GPIO4 -- BOARD 7

IN2 -- GPIO17 -- BOARD 11

ENA --

 

L298N motor sürücü kartı 2 kanallı bir motor sürücü kartıdır. Kanal başına 2A akım verebilmektedir ve üzerinde dahili regülatörü vardır.


Bu örneğimizde 1 adet motor ile yapacağımız uygulama için MOTOR-A bölümünü ve buna bağlı IN1-IN2-ENA pinlerini kullandık. MOTOR-B bölümünü kullanmak isterseniz IN3-IN4-ENB pinlerini kullanabilirsiniz.


IN1-IN2-IN3-IN4 pinleri motor yönlerini belirlemek için, ENA-ENB pinleri ise motor hızlarını belirlemek için kullanılır.

 

Kodumuzu yazmak için dcmotor.py adı ile bir dosya oluşturuyoruz.


import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)

IN1=20
IN2=21
ENA=16

GPIO.setup(IN1,GPIO.OUT)
GPIO.setup(IN2,GPIO.OUT)
GPIO.setup(ENA,GPIO.OUT)
GPIO.output(IN1,GPIO.LOW)
GPIO.output(IN2,GPIO.LOW)

p=GPIO.PWM(ENA,1000)
p.start(0)

def ileri(hiz):
    GPIO.output(IN1,GPIO.HIGH)
    GPIO.output(IN2,GPIO.LOW)
    p.ChangeDutyCycle(hiz)

def geri(hiz):
    GPIO.output(IN1,GPIO.LOW)
    GPIO.output(IN2,GPIO.HIGH)
    p.ChangeDutyCycle(hiz)

def dur():
    GPIO.output(IN1,GPIO.LOW)
    GPIO.output(IN2,GPIO.LOW)
    p.ChangeDutyCycle(0)

while True:
    hiz=input("Hiz degeri giriniz(0-100 arasi) \n")    
    yon=input("Donus yonu seciniz (İleri icin i Geri icin g Dur icin s) \n")
    

    if yon=='i':
        ileri(int(hiz))

    elif yon=='g':
        geri(int(hiz))

    elif yon=='s':
        dur()
    
    else:
        print("Hatali komut girisi!")
        GPIO.cleanup()
        break


Kodumuzu yazıp kaydettikten sonra terminal ekranından

python dcmotor.py 

komutu ile çalıştırabilirsiniz.






Comments


Son Paylaşımlar

banner300900.gif
banner300900.gif
bottom of page