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;

tachometer-circuita

 

 

 

 

 

 

Devre diyagramı-2;

tachometer-circuitb

 

 

 

 

 

 

 

 

 

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;

  }


}

 

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz