Servo motoru potilerle açı / hız kontrolü

Merhaba…
Arduino ide de standart örnek olan servo bölümü sweep kodlarındaki gibi otomatik sağ sol hareket eden servo motorunu 2 poti ile biri hızını diğerini açısını (0-180) dışarıdan kontrol etmek istiyorum… bu konuda hiç bilgim yok komple kodlarıyla yardımcı olur musunuz.
Saygılarımla
NOT: Servo hızı sınırlı olduğunu biliyorum.

Merhaba,

Şema

KOD


#include <Servo.h> //servo kütüphanesini ekledik
Servo servom;  //servoyu çağırırken servom olarak tanımladık
const byte pot_pini1 = A0;  //hız ayarı olan potun sinyal pinini A0 pinine taktık
const byte pot_pini2 = A1;  //açı ayarını yapan pot pinini A1 pinine taktık
int pot_deger1; //1.potu degerini tanımladık
int pot_deger2; //2.potun degerini tanımladık
int pos = 0;  

void setup() {
  servom.attach(3); //servonun sinyal pinini arduinonun 3. pinine taktık (pwm olmak zorunda)
}

void loop() {
  pot_deger1 = analogRead(pot_pini1);  //1. pot pinini okuyup pot_deger1 yazdırdık
  int hiz = map(pot_deger1 , 0, 1023, 0, 2000);  //2000 sayısı burda en fazla delay eklenecek sayıdır isterseniz bunu azaltıp artırabilirsiniz

  pot_deger2 = analogRead(pot_pini2); //2. pot pinini okuyup pot_deger2 yazdırdık
  int aci = map(pot_deger2 , 0, 1023, 0, 180); //potun geldiği değeri 180 dereceyle sınırladık
  
  for (pos = 0; pos <= aci; pos += 1) { 

    servom.write(pos);              
    delay(hiz);                       
  }
  for (pos = aci; pos >= 0; pos -= 1) {
    servom.write(pos);              
    delay(hiz);                       
  }
}

Kolay gelsin. :slightly_smiling_face:

Bana bu konuda detaylı bir şekilde yardımcı olana arkadaşlara çok teşekkür ederim bu kadarını beklemiyordum poti siparişlerim robotistan dan gelince deneyeceğim…
iyi çalışmalar
Rıdvan Eşsiz

1 Beğeni