int rev = 12;
int ledGr1 = 5;
int ledGr2 = 13;
int ledGr3 = 11;
int ledG1 = 6;
int ledG2 = 9;
int ledRo = 3;
int ledBl = 10;
int ledAll = 8;
unsigned long duration;
unsigned long rpm;
void setup(){
Serial.begin(19200);
pinMode(8, OUTPUT);
pinMode(rev, INPUT);
}
void loop(){
Serial.print("Drehzahl: ");
Serial.println(rpm);
duration = pulseIn(rev, HIGH);
rpm = 30000000 / duration;
if (rpm > 6800 && rpm < 10000) {
digitalWrite(ledAll, HIGH);
delay(5);
digitalWrite(ledAll, LOW);
delay(80);
}
if (rpm > 5200) analogWrite(ledGr1, 5);
if (rpm < 5150 || rpm > 6800) analogWrite(ledGr1, 0);
if (rpm > 5600) analogWrite(ledGr2, 5);
if (rpm < 5550 || rpm > 6800) analogWrite(ledGr2, 0);
if (rpm > 6000) analogWrite(ledGr3, 5);
if (rpm < 5950 || rpm > 6800) analogWrite(ledGr3, 0);
if (rpm > 6250) analogWrite(ledG1, 7);
if (rpm < 6200 || rpm > 6800) analogWrite(ledG1, 0);
if (rpm > 6250) analogWrite(ledG2, 20);
if (rpm < 6200 || rpm > 6800) analogWrite(ledG2, 0);
if (rpm > 6450) analogWrite(ledRo, 10);
if (rpm < 6400 || rpm > 6800) analogWrite(ledRo, 0);
if (rpm > 6600) analogWrite(ledBl, 5);
if (rpm < 6550 || rpm > 6800) analogWrite(ledBl, 0);
delay(50);
}