Damals war aber die Angabe "bis zu mehreren MHz". Die bei deinem Sensor angegebenen 460kHz in freier Luft sind aber auch recht hoch. Die Frage wäre allerdings, wie hoch ist die Frequenz in trockener Erde, also was mußt du im realen Betrieb erkennen?
Besser ist natürlich wenn du, wie im Originalcode auf Giess-o-mat – Mikrocontroller.net beschrieben, den Hardwarezähler verwendest, anstatt der Interrupts wie im obigen Beispiel.
Alles in Allem finde ich das das Projekt Giess-o-mat sehr gut dokumentiert ist. Insofern verstehe ich deine Frage nicht.
Da es sich um einen kapazitiven Sensor handelt,ergibt sich die Frequenz aus der Permeabilität des umliegenden Erdreichs.
Kleine Kapazität -> hohe Frequenz
Beim Rasby kann ich z.b. nur bis etwa 30khz messen.
Hat jemand schonmal einen frequenzteiler realisiert?
Da der Aufbau sehr überschaubar und diskret erfolgt, ist es nicht möglich durch tauschen von Bauteilen die Frequenz herab zu setzen? Hier ist natürlich ein Frequenzzähler erforderlich.
Nethacks:
Hat jemand eine Idee, wie ich die Sensoren an einem Arduino oder Rasby betreiben kann?
Nethacks:
Beim Rasby kann ich z.b. nur bis etwa 30khz messen.
Wie schon geschrieben: In Giess-o-mat – Mikrocontroller.net ist sehr detailliert beschrieben, wie man das auf einem AVR / Arduino umsetzen kann. Ob das mit dem Raspy geht oder nicht, ist mir hier im Arduino Forum wurscht.
Was ich so weiss ist beim Arduino auch irgendwo bei 50khz Schluss.
Vielleicht wenn man den Eingang auf einen Timer auslegt.
Aber über einen normalen Pin kann ich mir das schwer vorstellen.
Ich hatte für einen ähnlichen Fall mal diese Library benutzt. --> Link
Soweit ich noch in Erinnerung habe funktioniert die bis zu 1/4 der Taktfrequenz des verwendeten Arduinos.
Bei 16MHz Takt also bis 4 Mhz.
Habe mir gerade den Link angesehen.
Wie ich vermutet habe, wird der Timer genutzt um hochzuzählen.
Da müsste sogar mehr als Takt/4 drinnen sein.
Leider bin ich aber dann an den Pin gebunden.
Möchte da aber variabel sein.
Dann verwende einen "Frequenz zu Spannung" Konverter.
Und dann analog auswerten.
Den TimerPortPin verwenden:
Einen Multiplexer, um die ganzen Sensoren nacheinander auf den Pin zu legen.
Oder:
Jedem Sensor also einen ATMega zu verpassen (vielleicht geht auch ein Tiny85)
Und die ganzen ATMegas kannst du dann vom Raspberry per I2C auslesen.