35,5468$% 0.3
36,6283€% 0
43,4936£% 0.13
3.103,93%0,35
2.715,22%0,00
9.866,73%1,30
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ü