6 nolu pine bağlı butona her basışta dc motor hızı artmakta; 7 nolu pindeki butona her basışta hız azalmaktadır.Tabii ki dikkat edilmesi gereken bazı ayrıntılar var. Örneğin sayı 255 i aştığında 0 a düşecektir.Böylece motor duracaktır. Bunu basit bir if kontrol komutuyla düzeltmek mümkün ancak burada hız kontrol mantığı anlatılmaya çalışılmıştır. Bu uygulamada Ardumoto shield kullanılmıştır. Arduino unolarla uyumlu kendi tasarımımız olan motor sürücü kartımız çok yakında sizlere sunulacaktır. Rahatlıkla robotlarınızda kullanabileceksiniz.

// ardumoto shield kullanılmıştır.

// 01.11.2014

// www.robotkursu.com

 

const byte PWMA = 3;

const byte DIRA = 12;

const int buton_1 = 6;  // buton_1  6 nolu pine takılacak

const int buton_2 = 7;  // buton_2  7 nolu pine takılacak

int hiz=5; // 255 maksimum değer

int buton1=1;

int buton2=1;

int yon=0; // 0 ise ileri, 1 ise geri

void setup()

{

pinMode(PWMA, OUTPUT);

pinMode(DIRA, OUTPUT);

pinMode(buton_1, INPUT);

pinMode(buton_2, INPUT);

digitalWrite(PWMA, LOW);

digitalWrite(DIRA, LOW);

}

void loop()

{

digitalWrite(DIRA,yon);

analogWrite(PWMA,hiz);

buton1 = digitalRead(buton_1);

buton2 = digitalRead(buton_2);

delay(5); // butona basınca oluşan arkı engellemek için

if (buton1==0) hiz=hiz+1; // buton1 e basılmışsa hızı 1 artacak

if (buton2==0) hiz=hiz-1; // buton2 ye basılmışsa hızı 1 azalacak

 

}

Screenshot_1