Arduino Joystik Modül İle Motor Sürme

Merhaba arkadaşlar bu arduino dersimizde sizler ile joystik modül nasıl kullanır onu öğreneceğiz ve hemen arkasından da joystik modül ile motor süreceğiz. Joystik modülün aşağıda resmini görüyorsunuz. X yönü, y yönü, GND, 5V bağlantısı ve bir de buton bağlantısından oluşuyor.

Aslında joystik modül bir potansiyemetredir. O mantıkla aynı çalışır. Modülü biraz incelediğiniz de potansiyemetre de olan benzer değerleri görebilirsiniz. Modülümüzün bağlantılarını yaparken GND toprak hattına 5V kısmı 5v’a, X ve Y yönleri ise arduino üzerinde A0 ve A1 pinlerine takılır. Bundan sonra ise aynı potansiyemetre kullanım gibi kullanabilir ve değerleri seri port ekranına yazdırabilirsiniz. Bunun için kod yazmayacağım.

Diğer projeleri inceleyerek ya da birazdan motor süreceğimiz kodlar içerisinden kodları seçerek yapabilirsiniz. Şimdi gelelim joystik modül ile motor sürmeye. İlk olarak L293B entegremizi breadboard üzerine aşağıdaki resimdeki gibi bağlıyoruz. Burada dikkat etmeniz gereken 6V luk motorları 9V ile süreceğiz.

Daha önce de söyledim. Motorlar kendilerinin 2 katı kadar voltaj değeri ile çalışabilir ama bu motorların yıpranmasına sebep olur. Bundan dolayı motorları 2 kat değerde voltaj ile sürmenizi önermiyorum.



Yukarıda yer alan bağlantıları yaptıktan sonra (E1 arduino üzerinde 5V luk değere gelecek, eğer çift motor sürecekseniz E2 de 5V luk değere gelecek, ayrıca tek motor sürseniz de çift motor sürseniz de 16.pin 5V luk değere takılı olmak zorunda. Çünkü entegrenin gücünü 16 nolu pin veriyor.)

joystik modülümüzü de arduino kartımıza bağlıyoruz ve aşağıda yer alan kodları kartımıza yüklüyoruz. Kodlara bakarak joystik modül ve motor sürücü pinlerini aynı takarsanız kodlar ile uğraşmadan motorları direkt çalıştırabilirsiniz. Aşağıdaki resimlerde devrenin ayrıntılı şeklini bulabilirsiniz. Aklınıza takılan yerleri hiç çekinmeden sorabilirsiniz.






//int x_ekseni=A0;
int y_ekseni=A1;
//int x_durum;
int y_durum;

int tkr1=10; // İleri
int tkr2=11; // Geri

void setup() 
{
  pinMode(tkr1,OUTPUT);
    pinMode(tkr2,OUTPUT);
  Serial.begin(9600);

}
void loop() {
  //x_durum=analogRead(x_ekseni);
  y_durum=analogRead(y_ekseni);
  //x_durum = map(x_durum,0,1023,0,255); 
  y_durum = map(y_durum,0,1023,0,255); 

if(y_durum>128)

{
  analogWrite(tkr1,254);

else
{
  analogWrite(tkr1,0);
   
  }
if(y_durum<120)
{
  analogWrite(tkr2,254);
  
else
{
  analogWrite(tkr2,0);
    
  }
Serial.println(y_durum);

}

0 yorum:

Yorum Gönder