Regenmengenmesser mit Reedkontakt
Zitat von Harry05 am 29/08/2021, 18:25 UhrHallo
Bitte um Hilfe an die Profis, wie kann ich einen Counter oder ähnliches erstellen der die Regenmenge mittels Regenmengenmesser mit Wippe und Reedkontakt misst? 1x Wippen sind 0.2794 mm Ich habe mir einen Regenmengenmesser https://imgaz.staticbg.com/images/oaupload/banggood/images/91/B1/76249e83-85e3-4a5e-afe4-b9cfe55b7b57.jpeg gekauft da ich mir eine Wetterstation bauen möchte. Ich habe eine Anleitung bzw. einen Sketch gefunden der bei mir nur Fehlermeldungen anzeigt. Sketch https://github.com/Jodaille/LyceeDesAndaines/blob/master/JaugePluieInterruption/JaugePluieInterruption.ino
Dieser RG11 im Sketch ist ein Regensensor den hab ich nicht.
Vielleicht kann mir irgendjemand dabei helfen. Danke im voraus
Hallo
Bitte um Hilfe an die Profis, wie kann ich einen Counter oder ähnliches erstellen der die Regenmenge mittels Regenmengenmesser mit Wippe und Reedkontakt misst? 1x Wippen sind 0.2794 mm Ich habe mir einen Regenmengenmesser https://imgaz.staticbg.com/images/oaupload/banggood/images/91/B1/76249e83-85e3-4a5e-afe4-b9cfe55b7b57.jpeg gekauft da ich mir eine Wetterstation bauen möchte. Ich habe eine Anleitung bzw. einen Sketch gefunden der bei mir nur Fehlermeldungen anzeigt. Sketch https://github.com/Jodaille/LyceeDesAndaines/blob/master/JaugePluieInterruption/JaugePluieInterruption.ino
Dieser RG11 im Sketch ist ein Regensensor den hab ich nicht.
Vielleicht kann mir irgendjemand dabei helfen. Danke im voraus
Zitat von Edi am 30/08/2021, 22:06 UhrHallo Harry05, ich habe dir einen kurzen Sketch zusammengestellt, der jedes mal wenn der Reedkontakt einen Input gibt, den Counter um eins erhöht und die Wassermenge addiert und in den Serial Monitor ausgibt.
Ich habe bei meinem Test einen Taster verwendet mit einem PULL-DOWN Widerstand (1 kOhm). Der Eingang vom Taster (deinem Sensor) habe ich auf einem NodeMCU auf D1 gelegt (GPIO 5)
Siehe dazu die Zeichnung.
const float Bucket_Size = 0.2794;
const int sensorPin = 5; // der Input Pin D1, wo der Sensor angehängt ist
int sensorState = 0;
int lastSensorState = 0;
long lastMsg = 0;
int wippZaehler = 0;
float Regenmenge = 0;void setup() {
Serial.begin(9600);
pinMode(sensorPin, INPUT);
}void loop() {
sensorState = digitalRead(sensorPin);
if (sensorState != lastSensorState) {
if (sensorState == HIGH) {
wippZaehler++;
Regenmenge = wippZaehler * Bucket_Size;
Serial.print("Wippe Zähler ");
Serial.println(wippZaehler);
Serial.print("Regenmenge ");
Serial.print(Regenmenge);
Serial.println(" mm");} else {
Serial.println("Wippe zurück in Startposition");
}
// Kurze Pause zum entprellen
delay(100);
}
lastSensorState = sensorState;
}
Hallo Harry05, ich habe dir einen kurzen Sketch zusammengestellt, der jedes mal wenn der Reedkontakt einen Input gibt, den Counter um eins erhöht und die Wassermenge addiert und in den Serial Monitor ausgibt.
Ich habe bei meinem Test einen Taster verwendet mit einem PULL-DOWN Widerstand (1 kOhm). Der Eingang vom Taster (deinem Sensor) habe ich auf einem NodeMCU auf D1 gelegt (GPIO 5)
Siehe dazu die Zeichnung.
const float Bucket_Size = 0.2794;
const int sensorPin = 5; // der Input Pin D1, wo der Sensor angehängt ist
int sensorState = 0;
int lastSensorState = 0;
long lastMsg = 0;
int wippZaehler = 0;
float Regenmenge = 0;
void setup() {
Serial.begin(9600);
pinMode(sensorPin, INPUT);
}
void loop() {
sensorState = digitalRead(sensorPin);
if (sensorState != lastSensorState) {
if (sensorState == HIGH) {
wippZaehler++;
Regenmenge = wippZaehler * Bucket_Size;
Serial.print("Wippe Zähler ");
Serial.println(wippZaehler);
Serial.print("Regenmenge ");
Serial.print(Regenmenge);
Serial.println(" mm");
} else {
Serial.println("Wippe zurück in Startposition");
}
// Kurze Pause zum entprellen
delay(100);
}
lastSensorState = sensorState;
}
Zitat von Harry05 am 31/08/2021, 14:47 UhrVielen Dank für die ausführliche Anleitung und den Sketch der macht genau das was ich wollte 🙂 , jetzt noch eine frage dazu wie kann man den gezählten Wert mittels eines Timers alle 24 h auf 0 setzen? Ich habe gelesen es soll mittels NTP Timer funktionieren oder mit einem normalen Timer. Ich habe jetzt schon viel probiert bin aber noch nicht auf einen grünen Zweig gekommen.
vielen Dank im voraus
Vielen Dank für die ausführliche Anleitung und den Sketch der macht genau das was ich wollte 🙂 , jetzt noch eine frage dazu wie kann man den gezählten Wert mittels eines Timers alle 24 h auf 0 setzen? Ich habe gelesen es soll mittels NTP Timer funktionieren oder mit einem normalen Timer. Ich habe jetzt schon viel probiert bin aber noch nicht auf einen grünen Zweig gekommen.
vielen Dank im voraus
Zitat von Hubert am 26/11/2021, 17:30 UhrHallo Harry,
hier eine Timer-Programmierung. Es hoffe es hilft dir.
//------------------------------------------------------
//- Multitasking Timer -
//------------------------------------------------------
unsigned long WaitTimer; // Time: Timer mit Namen definieren
long Wait = 86400000; // Time: Timer Wartezeit (24Std in ms)void Setup()
{
.
.
.
WaitTime = millis; // Timer: Startzeit übergeben
}void loop()
{
if((millis() - WaitTimer >= Wait) // Wenn 24 Std. abgelaufen
{
>> Wert auf 0 setzen<< // Gewünschten Wert zurücksetzen
WaitTimer = millis; // Neue Startzeit übergeben
}.
.
}Viel Erfolg Hubert
Hallo Harry,
hier eine Timer-Programmierung. Es hoffe es hilft dir.
//------------------------------------------------------
//- Multitasking Timer -
//------------------------------------------------------
unsigned long WaitTimer; // Time: Timer mit Namen definieren
long Wait = 86400000; // Time: Timer Wartezeit (24Std in ms)
void Setup()
{
.
.
.
WaitTime = millis; // Timer: Startzeit übergeben
}
void loop()
{
if((millis() - WaitTimer >= Wait) // Wenn 24 Std. abgelaufen
{
>> Wert auf 0 setzen<< // Gewünschten Wert zurücksetzen
WaitTimer = millis; // Neue Startzeit übergeben
}
.
.
}
Viel Erfolg Hubert
Zitat von mclore am 16/04/2023, 11:32 UhrKlingt sehr interessant.
Kann jemand einen blueprint für esp in home assistant erstellen?
Es gibt bestimmt einige die es auch einsetzen würden
Klingt sehr interessant.
Kann jemand einen blueprint für esp in home assistant erstellen?
Es gibt bestimmt einige die es auch einsetzen würden