lostyazilim
tr.link

Arduino Servo Kontrolü?

2 Mesajlar 583 Okunma
acebozum
tr.link

Ogulcan Ogulcan (K)af(S)in(K)af Kullanıcı
  • Üyelik 28.01.2011
  • Yaş/Cinsiyet 30 / E
  • Meslek -
  • Konum İzmir
  • Ad Soyad O** T**
  • Mesajlar 2185
  • Beğeniler 165 / 388
  • Ticaret 13, (%100)
Merhaba arkadaşlar.

Elimdeki arduino ile servo motoru kontrol etmek istiyorum. Bunun için serialden 1 yada 0 gönderip çeşitli açılara geçiş yapmasını istiyorum. 1 gönderdiğimde gerekeni yapıyor ancak ikinci komudu algılamıyor, yada ilk 0'ı verirsem ona uygun hareketi yapıyor.

Yardımcı olabilirseniz sevinirim.


#include
Servo servo;
char sensor;

int pos = 90; // variable to store the servo position
int servo120(){
if(pos<120)
{

for(pos=pos;pos=120;pos++)
{
servo.write(pos);
}
}
if(pos>=120)
{
for(pos=pos;pos=120;pos--)
{
servo.write(pos);
}
}
}

int servo60(){
if(pos<60)
{

for(pos=pos;pos=60;pos++)
{
servo.write(pos);
}
}
if(pos>=60)
{
for(pos=pos;pos=60;pos--)
{
servo.write(pos);
}
}
}

void setup() {
// Seri haberleşmeyi başlatıyoruz (9600 bps hızında)
Serial.begin(9600);
pinMode(13, OUTPUT);
servo.attach(9);

}

void loop() {
servo.write(90);
// Veri gelmiş mi?
if (Serial.available() > 0) {
// gelen veriyi oku
sensor = Serial.read();

Serial.println(sensor);

if(sensor=='1')
{digitalWrite(13, HIGH);servo60();delay(100);}
if(sensor=='0')
{digitalWrite(13, LOW);servo120();delay(100);}
}
}
 

 

elektronikssl
webimgo

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)
Mesaj atıyorum :D
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al