Arduino Uno ile DC motoru potansiyometre kullanarak motorun hızını ayarlayabileceğimiz yapı için L293D motor sürücüsünden faydalanabiliriz.
Bu işlem için gerekli parçalar aşağıdaki gibidir;
- 6V DC Motor,
- L293D IC Motor Driver Chip
- 10 kΩ variable resistor (potentiometer)
- Push button
Parçalarımızı breadbord üzerinde yerleştireceğimiz layout aşağıdaki resimdeki gibi olacak.
Layout düzenini oluşturduktan sonra arduino kodlarımız aşağıdaki gibi olacaktır.
int enablePin = 11; int in1Pin = 10; int in2Pin = 9; int switchPin = 7; int potPin = 0; void setup() { pinMode(in1Pin, OUTPUT); pinMode(in2Pin, OUTPUT); pinMode(enablePin, OUTPUT); pinMode(switchPin, INPUT_PULLUP); } void loop() { int speed = analogRead(potPin) / 4; boolean reverse = digitalRead(switchPin); setMotor(speed, reverse); } void setMotor(int speed, boolean reverse) { analogWrite(enablePin, speed); digitalWrite(in1Pin, ! reverse); digitalWrite(in2Pin, reverse); }
İlk olarak motor, buton ve potansiyometre’nin bağlandığı pinleri tanımlayarak setup işleminde bu pinlerin döndüreceği değerleri belirliyoruz. Loop sekmesinde ise potansiyometreden dönen değere göre motorun dönme hızının belirlenmesini sağlıyoruz. Motorun dönüş değerlerini bağlı bulunduğu pinlerden ayarlanması için setMotor metodundan yararlanıyoruz.
Sonuç aşağıdaki gibidir.