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.
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