Merhaba arkadaşlar arduinoda Infrared alıcı-verici led ile 30 000 rpm e kadar ölçüm alabiliyor muyuz?
saniyede 500 kez tetik alman lazım olur gibi duruyor.
Ama bu tetik almayı Tachometre başlığı altında yazdığım kodlarla sağlayamam sanırım. internette aşağıdaki kodları buldum.Düşük hızlarda iyi durumda ama yüksek hızlarda çok değişken değerler veriyor.Tetik değeri burdaki intervale mi karşılık geliyor? int sensorvalue; int state1=HIGH; int state2; float rps; float rpm; long prevMillis=0; long interval=500; long currentTime; long prevTime=1; long diffTime; int sensorthreshold=959; void setup() {Serial.begin(9600); pinMode(52,OUTPUT); } void loop() { sensorvalue=analogRead(0); // Serial.print("sensorvalue: "); // Serial.println(sensorvalue); if(sensorvalue>sensorthreshold) { state1=HIGH;} else state1=LOW; digitalWrite(52,state1); if(state2!=state1) { if(state2interval)
{
prevMillis=currentMillis;
Serial.print("rpm: ");
Serial.println(rpm);
}
prevTime=currentTime;
}
state2=state1;
}
}
arduinonun adc hızı saniyede 180-200bini geçmez, çünkü içinde adc için ölçülecek karşılaştırılacak voltajın kondansatöre dolmasını beklemesi gerek. intervalde sayarak yapmıyor pervanenin boşuklarının süresini hesaplayarak dk. da şu kadar diyor.
Peki saniyedeki tetik sayısını programda nasılk ifade edebilirim?Bu kısmı tam olarak anlamadım.
http://www.instructables.com/id/Measure-RPM-DIY-Portable-Digital-Tachometer/?ALLSTEPS bu linkten yararlanarak yaptığım tachometreden 8000 rpm e kadar ölçüm aldım.20 000-30 000 için henüz ölçüm yapamadım.Yaptığımda onu da eklerim.