C18 Diliyle Robot Programlama – Servo Motor Kullanma

Bu projede amaç bir servo motorunu çalıştıracak şekilde mikrodenetleyiciyi programlamak. Aslında yapacağımız çalışmada toplamda 7 servo motoru sürebilecek kapasitede bir program yazmış olacağız.

Servonun ne olduğundan biraz bahsedelim. Servo bir mil etrafında dönebilen motorlu bir yapıdır. Bu yapı kameralarda, robotik aksamların hareket ettirilmesinde (kol, bacak, kafa) kullanılır. Temelde aldığı sinyale göre döner, böylece servoya bağlı cihazın yönü değişir.

Aşağıda örnek bir servo motoru ve bu motora bağlı parça görünmektedir;

Bir tane servoyu sürmek için yapılması gereken işlem timer 0’ı yaklaşık her 20 milisaniyede bir belli bir duty(gecikme – lojik 1’de kalma süresi) zamanı kadar lojik1’de tutmak. Servo aldığı lojik1 sinyalinin süresine göre dönme işlemi gerçekleştirecek. Bu sinyal çok uzun verilirse servo tamamen bir yöne döner ve zorlanır, eğer bu sinyal lojik sıfır olarak kalırsa bu sefer servo tamamen ters yöne döner ve yine zorlanır. Bu zamanlamayı öyle bir ayarlamalıyız ki ne çok fazla, ne de çok az voltaj vermeliyiz. Benim hesaplarıma göre yaklaşık 20 milisaniyede bir 3 milisaniyeden küçük bir duty değeriyle işlem yaptığımızda servo normale yakın çalışıyor. Bu değerlerle kendi işlemlerinizi yapmak için oynayabilirsiniz.

Okumaya devam et

C18 Diliyle Robot Programlama – Buton Yapma

Genel olarak output mantığı burada da geçerli. Bu sefer bazı portları giriş için (TRIS = 1) bazı portları ise çıkış için (TRIS = 0) ayarlayacağız. Amaç butonlara bağlı pinlerden sinyal (5 volt) geldiğinde ledlere bağlı pinlere sinyal (5 volt) vermek.

Benim kullandığım kart üzerinde butonlar 35,34 ve 33. pinlere bağlanmış durumda. Datasheet’e bakarsak bu pinlerin RB2, RB1 ve RB0 pinleri olduğu görülebilir.

Okumaya devam et

C18 Kütüphaneleri ve Özellikleri

Bu yazıda bundan sonraki yazılarda referans olarak kullanacağım bir çok fonksiyonun özelliklerini, ne tür parametreler aldıklarını ve bu parametrelerin ne için kullanıldığını açıklayacağım.

Bu başlık altında fonksiyonlarını inceleyeceğimiz modüllerin isimleri aşağıdaki gibidir;

  • ADC (Analog-to-Digital Converter)
  • I/O Port
  • Timer
  • PWM (Pulse Width Modulation)
  • USART
  • Delay
  • I²C

Okumaya devam et