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.






Yorumlar