GPIO input - Windsensor

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo liebe Community,

    habe mir vor längerer Zeit ein Rpi gekauft um ein bisschen zu lernen, sei es den Umgang mit Linux (da ich Windowsuser bin) oder das auslesen von Sensoren. Hatte allerdings längere Zeit nichts weiter mit dem Rpi gemacht.Der kleine Computer wurde dann als Netzwerkplayer für meinen Sohn missbraucht, lässt sich ja einfach mit einem Handy steuern. Jetzt hab ich mir ein neues Projekt überlegt, denn ich möchte mir eine kleine mobile Wetterstation bauen. Das auslesen eines DHT22 sensors sowie eines Luftdrucksensors hat gut geklappt. Jetzt würde ich noch gern einen Windsensor anschliessen, und zwar sollte der Kabelgebunden sein. Bei der bekannten Auktionsplattform gibt es einen sensor der ein Gepulstes Signal liefert von 1 Impuls/s pro 20Km/h . Jetzt ist meine frage, wie lese ich dieses Signal ein? Hab da was von Interrupts gelesen, das aber wohl nicht so gut sein soll, gibt es nicht eine andere möglichkeit den GPIo pin zu "überwachen". Hat jemand wohl eine Idee wie ich das angehen kann - vielleicht auch etwas Code.


    Vielen Dank

    Cairon

  • Dir bleibt nur der Interrupt als Möglichkeit den GPIO "lastarm" zu überwachen. Haken bei der Sache ist, dass alle Messungen, die auf Zeitintervallen beruhen wegen dem Multihreading von Linux recht ungenau werden könnte. ein paar Impulsen pro Sekunde dürfte dieser Effekt aber in den Griff zu bekommen sein.

  • Hallihallo,

    wenn der Sensor Impulse/20km/h liefert, dann sehe ich die Welt anders herum. Ein Interrupt ist hier eher fehl am Platz und würde wohl auch das Sytem nicht stressen. Nehmen wir mal an, es herrscht Sturm - so mit 100km/h. Dann bekämst Du 5 Interrupts/s. Das ist schier nix. Also macht man es anders herum. Du mißt die Zeit, die zwischen 2 Änderungen vergeht. D.h. Du pollst einen GPIO Eingang alle 10ms (100Hz = 2000km/h Windgeschwindigkeitsauflösung - das sollte wohl reichen als Obergrenze :-)) und bei einer Änderung bildest Du die Differenz zum vorangegangenen Wert.
    Auf die GPIO's kannst Du mit wiringPi zugreifen.

    Schöne Grüße

    Anja

  • Danke euch für eure mühen, die gpios zu überwachen also zu pollen habe ich auch schon in betracht gezogen nur stehe ich gerade am anfang des Programmierens. Werde noch ein bisschen lesen müssen um was hinzubekommen.

    Vielden Dank nochmal

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!