Radzähler
Pinbelegung:
- VCC and 5V
- GND an GND (Ground)
- OUT an einen analogen Eingang (A0 bis A15) oder Pin 13 (Foto)
Beispielcode:
oder:
int speichenleser = A3;
int anz_speichen_pro_umdrehung = 4; // Variabel, muss für jedes benutzte Rad neu eingegeben werden!
int anz_gezaehlter_speichen = 0;
int anz_umdrehungen = 0;
boolean zustand = false; // false -> keine Speiche, kein Signal; true -> Speiche, Singal kommt
void setup()
{
Serial.begin(9600);
}
void loop()
{
//Serial.println(analogRead(speichenleser));
if (analogRead(speichenleser) < 500) //Signal kommt -> Nun in der Speiche
{
zustand = true;
}
else // Kein Signal
{
if (zustand == true) // Kein Signal kommt und vorher war eine Speiche -> Speiche "überwunden", wird hochgezählt
{
anz_gezaehlter_speichen = anz_gezaehlter_speichen + 1;
Serial.print("Speichen: ");
Serial.println(anz_gezaehlter_speichen);
}
zustand = false;
}
if (anz_gezaehlter_speichen == anz_speichen_pro_umdrehung)
{
anz_umdrehungen = anz_umdrehungen + 1;
anz_gezaehlter_speichen = 0;
Serial.print("Umdrehungen: ");
Serial.println(anz_umdrehungen);
}
}