Ankündigung

Einklappen
Keine Ankündigung bisher.

Arduino Wasserstandsmessung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Arduino Wasserstandsmessung

    Hi,

    ich habe nach einer Lösung gesucht den Wasserstand unseres Regenwasserbehälter zu messen. Nachdem mich Thorsten Gehrig zum Arduino bekehrt hat :-) kam ein Arduino mit Ultraschallsensor dabei raus. Der Sensor mißt den Freiraum im Behälter und schickt den Wert alle 60sec auf den Bus wenn es eine Änderung gibt. Der Code muss noch überarbeitet werden. Da hat mir Thorsten auch schon eine Vorlage geliefert. Muss ich nur noch dazu kommen.
    Mit dem Wert wird dann im Edomi der Wasserstand/Wassermenge berechnet. Bei überschreiten einer def. Füllmenge wird eine Meldung über Sonos ausgegeben.

    Bauteile:
    Siemens BCU 5WG1117-2AB12 26,70€ - Voltus
    Arduino Pro Mirco 5V ca. 4€ eBay
    HW1.2 ca. 3€
    4-Pin Ultraschall- Modul HC-SR04 Abstand Messung Wandler Sensor 6€ (5er Pack)

    Zusammen unter 40€

    Noch mehr Informationen zum Arduino am KNX gibt es hier https://knx-user-forum.de/forum/öffe...arduino-am-knx


    Code:
    // Library from: https://bitbucket.org/thorstengehrig/arduino-tpuart-knx-user-forum
    
    //Initialize the KNX TP-UART library on the Serial1 port of Arduino Mega
    // 1,1,3 ist die Source-Adresse
    #include <KnxTpUart.h>
    KnxTpUart knx(&Serial1, "1.1.203");
    
    int trigPin = 8;
    int echoPin = 9;
    
    unsigned int duration, cm, cmo; //int 100cm, float 100.09cm, unsigned int 100cm
    
    
    void setup() {
        pinMode(trigPin, OUTPUT);
        pinMode(echoPin, INPUT);
    
        // Set KNX Serial to Even parity
        Serial1.begin(19200);
        UCSR1C = UCSR1C | B00100000; // Even Parity
    
        knx.uartReset();
    }
     
    void loop() {
        digitalWrite(trigPin, LOW);
            delayMicroseconds(5);
        digitalWrite(trigPin, HIGH);
            delayMicroseconds(10);
        digitalWrite(trigPin, LOW);
     
        pinMode(echoPin, INPUT);
        duration = pulseIn(echoPin, HIGH);
     
        cm = (duration/2) / 29.1;
     
         // Sendet wenn der neue Wert(cm) ungleich dem alten Wert (cmo) ist
     
        if (cm > cmo) bool success = knx.groupWrite2ByteInt("7/4/1",cm);
        if (cm < cmo) bool success = knx.groupWrite2ByteInt("7/4/1",cm);
    
        // Schreib den neuen Wert in cmo
        cmo = cm;  
     
        delay(60000);   //ms
    }
    IMG_1154.JPG
    Angehängte Dateien
    Zuletzt geändert von LynnBayer; 14.05.2016, 16:27.

    #2
    Wow - super Idee!

    Danke fürs Vorstellen und Teilen :-)

    Wie sieht es denn mit der Genauigkeit aus - hast Du da Erfahrungen?
    Viele Grüße,
    Stefan

    DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

    Kommentar


      #3
      Hi Dreamy,

      ich hab das gerade auf die schnelle mit 3 Sensoren getestet.

      Abstand 20cm 83cm 200cm
      Sensor 1 18cm 81cm 197cm
      Sensor 2 18cm 82cm 197cm
      Sensor 3 19cm 83cm 199cm

      Wenn man es besonders genau will dann könnte man den Sensor genau testen und dann in der Logik den Fehler raus rechnen lassen. Für meine Zwecke reicht die Genauigkeit erstmal aus.

      Hast du schon ne Idee was du damit machen willst?

      Viele Grüße
      Lynn

      Kommentar


        #4
        Wie lange darf dann das Kabel zwischen Sensor und Platine werden?

        Kommentar


          #5
          Danke fürs Testen...Idee habe ich aber aktuell noch keine, wo ich das einsetze.
          Viele Grüße,
          Stefan

          DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

          Kommentar


            #6
            @ heckmannja
            Ich kann dir nicht genau sagen wie viele Meter da noch drauf sind aber ich denke im Normalfall sollte es langen :-)
            Hab es mit einem Sensor getestet und konnte keine Unterschiede feststellen.
            You do not have permission to view this gallery.
            This gallery has 1 photos.

            Kommentar


              #7
              Zitat von dreamy1 Beitrag anzeigen
              Danke fürs Testen...Idee habe ich aber aktuell noch keine, wo ich das einsetze.
              Echt nicht? Mir fallen einige ein:
              • Ist bzw. welcher Garagenstellplatz ist (vom Auto) besetzt?
              • Welche Mülltonne(n) ist/sind rausgestellt, bzw. nicht am Stellort?
              • Briefkasten/Paketkasten leer?
              • ...

              Allein die Tatsache, dass die Leitungslänge scheinbar keine (große Rolle) spielt ist genial! So kann der Arduino im Haus bleiben und ggf. gleichzeitig mehrere Sensoren ansprechen!

              Bin begeistert - Danke für die Vorstellung!

              Kommentar


                #8
                Garagenstellplatz ist eine super Idee - gefällt mir!
                Viele Grüße,
                Stefan

                DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

                Kommentar


                  #9
                  bis zu welcher Distanz kann der Sensor messen und hast du Details welche Teile du genau verwendest (wie "koppelst" du den Arduino mit dem Bus, mit welcher Siemens BCU)?

                  EDIT: ich habs glaub ich gerade selbst gefunden, wenn es dieser Sensor ist http://wiki.iteadstudio.com/Ultrason...Module_HC-SR04

                  Zuletzt geändert von JMA; 13.05.2016, 23:17.

                  Kommentar


                    #10
                    Zitat von dreamy1 Beitrag anzeigen
                    Garagenstellplatz ist eine super Idee - gefällt mir!
                    Die Idee hatte ich schon vor einiger Zeit mal (vor Arduino & Co), da das damals in "erschwinglich" nicht zu realisieren war,
                    hab ich dann Mangels nutzen, ob das Auto jetzt an seinem Platz steht oder nicht, die Idee wieder verworfen.

                    Oder was machst du mit der Info, ob das Auto an seinem Stellplatz steht oder nicht?

                    LynnBayer da du doch meinen "Spieltrieb" geweckt hast, könntest mir sagen welche Arduino und welche Siemens BCU du genau verwendet hast (und in welcher Größenordnung die Kosten gesamt dafür sind)?

                    Kommentar


                      #11
                      Ich habe da eher an eine "Einparkampel" gedacht...es wird also der Abstand des Autos zur Wand gemessen und vor Ort angezeigt, zusätzlich hat man dann auch gleich die Info ob ein Auto anwesend ist oder nicht.
                      Viele Grüße,
                      Stefan

                      DIY-Bastelprojekte: || >> Smelly One << || >> BURLI << ||

                      Kommentar


                        #12
                        Abstand zur Wand wird bei mir eher nicht funktionieren, da sicher immer "irgendein Fahrgerät" der "kurzen Hausbewohner" davor steht,
                        ich hatte mal den Plan das auf die Decke zu montieren und von Oben auszuwerten, ob da ein Auto in der Garage steht oder eben nicht.
                        Aber ich habe bis jetzt keinen Nutzen für diese Information gefunden...........
                        Zuletzt geändert von JMA; 16.05.2016, 18:16.

                        Kommentar


                          #13
                          Ich habe oben mal die Preise (unter 40€) und noch ein Link zu dem Projekt von Thorsten ergänzt.

                          Kommentar


                            #14
                            Hi Lynn,

                            hast du zufällig bei deiner Recherche auch einen anderen Sensor gesehen, welche Länge Entfernung messen kann? gerne auch mit einer höheren Ungenauigkeit.

                            Suche etwas für den Füllstand meiner Zisterne und deine Ausarbeitung sieht echt klasse aus!

                            Dank dir

                            Kommentar


                              #15
                              lt. Datenblatt kann der Sensor bis zu 500cm messen

                              Kommentar

                              Lädt...
                              X