34,0723$% 0.13
37,9382€% 0.16
45,0148£% 0.15
2.822,11%-0,09
2.580,56%-0,06
9.746,67%1,77
Gerekli malzemeler:
Daha önceki DC motor uygulamamızda, 1 adet transistör kullanarak motorumuzla sadece hız kontrolü yapmıştık. Fakat yön kontrolü yapabilmemiz için bir motor sürücü entegresine ihtiyacımız var. L293D entegresi, 2 adet DC motor veya 1 adet step motor sürmek için kullanılan oldukça popüler bir entegredir.
Bu entegrenin input 1 ve input 2 girişleri, motorun döneceği yönü; enable pini ise hangi çıkışların aktif olacağını kontrol ediyor. Enable pinine uygulayacağımız PWM sinyal, motorların hızını değiştirmemize olanak sağlıyor.
Bu entegreyi kullanarak hazırladığımız devre şemamız:
Kodumuz:
int enablePin = 11; int in1Pin = 10; int in2Pin = 9; int butonPin = 7; int potPin = 0; void setup() { pinMode(in1Pin, OUTPUT); pinMode(in2Pin, OUTPUT); pinMode(enablePin, OUTPUT); pinMode(butonPin, INPUT); } void loop() { int hiz = analogRead(potPin) / 4; boolean ters = digitalRead(butonPin); motorCalistir(hiz, ters); } void motorCalistir(int hiz, boolean ters) { analogWrite(enablePin, hiz); digitalWrite(in1Pin, ! ters); digitalWrite(in2Pin, ters); }
Entegremizin enable bacağına analogWrite() fonksiyonu sayesinde PWM sinyal göndererek hız kontrolü yapmış oluyoruz. Butona bastığımızda input 1 ve input 2 pinlerine giden sinyaller tersine çevriliyor. Böylece motorun döndüğü yön ters çevrilmiş oluyor.
Kaynak: Bu yazı Kerem İZGÖL’ün https://maker.robotistan.com/arduino-dersleri-14-dc-motor-hiz-ve-yon-kontrolu/ adresindeki yazısından alınmıştır. Kendisine teşekkür ederiz.
Arduino ile Servo Motor Kontrolü