Banner Ausblenden
Kleines Logo

Willkommen auf PSI-Online

Radzähler

Pinbelegung:

Foto0145.jpg

Beispielcode:

Radzaehler

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);
    }
  }

Erstellt: Benedikt Schneider (19.02.2013) Letzte Änderung: Lukas Zwicker (27.03.2014)