Ana Sayfa Gömülü Sistemler Arduino ARDUİNO KULLANARAK DİJİTAL TAKOMETRE YAPIMI

ARDUİNO KULLANARAK DİJİTAL TAKOMETRE YAPIMI

0

Kısaca özetlersek takometre; herhangi bir cihazın dönme hızını ölçmek için kullanılan bir cihazdır.Genellikle 1 dakikadaki devir adedini gösteren analog bir göstergedir ancak dijital göstergeler de yaygınlaşmaktadır.Özellikle yarış otomobillerinde, çok vitesli büyük ticari taşıtlarda ve motordan en yüksek verimi elde etmek isteyen amatör sürücülerin otomobillerinde gereklidir.Bizde arduinonun analog okuma özelliğini kullanarak evimizde kolaylıkla yapabiliriz.

Çalışma prensibine değinecek olursak;öncelikle yapmamız gereken ilk iş,dönüş hızını ardunionun okuyabilieceği bir forma dönüştürmek olmalıdır.Daha sonra bilidiğiniz gibi eğer motora gerilim verilirse motor verilen gerilimle orantılı bir hızda dönecektir.Ancak tam tersi durumda yani motoru kendimiz çevirdiğimizde motorun çıkış terminallerinden gerilim elde edebiliriz.Yani motoru generatör olarak kullanıyoruz.Üretilen bu gerilim ardunioyu besleyebilir ve ardunio kendisini besleyen gerilim miktarına bağlı olarak motorun dönüş hızını hesaplayabilir.

 

Devre diyagramı-1;

 

 

 

 

 

 

Devre diyagramı-2;

 

 

 

 

 

 

 

 

 

KOD;

intval=0;

intbinVal;

void setup()

{

Serial.begin(9600);

pinMode(3,OUTPUT);

pinMode(4,OUTPUT);

pinMode(5,OUTPUT);

pinMode(6,OUTPUT);

pinMode(A2,INPUT);

}


void loop()

{

val = analogRead(A2);

Serial.println(val);

binVal=val/1024*9;

switch(binVal){

case 0:

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

break;

case 1:

digitalWrite(3,HIGH);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

break;

case 2:

digitalWrite(3,LOW);

digitalWrite(4,HIGH);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

break;

case 3:

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

break;

case 4:

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

break;

case 5:

digitalWrite(3,HIGH);

digitalWrite(4,LOW);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

break;

case 6:

digitalWrite(3,LOW);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

break;

case 7:

digitalWrite(3,HIGH);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

digitalWrite(6,LOW);

break;

case 8:

digitalWrite(3,LOW);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,HIGH);

break;

case 9:

digitalWrite(3,HIGH);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

digitalWrite(6,HIGH);

break;

default:

break;

  }


}

 

YORUM YOK

CEVAP VER

Please enter your comment!
Please enter your name here

Exit mobile version