Skip to content
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Hardware
  3. Water meter: Itron Aquadis+ with pulse sensor
  • Getting Started
  • Controller
  • Build
  • Hardware
  • Download/API
  • Forum
  • Store

Water meter: Itron Aquadis+ with pulse sensor

Scheduled Pinned Locked Moved Hardware
46 Posts 10 Posters 28.9k Views 9 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • YveauxY Yveaux

    @bisschopsr Thanks for sharing! :+1:
    Will you be able to make it to the MySensors meetup at July 30th in Breda?
    Would be very nice if you can show it there!

    bisschopsrB Offline
    bisschopsrB Offline
    bisschopsr
    wrote on last edited by
    #37

    Hi @Yveaux thanks for bringing the meetup to my attention. I will look at it (found the thread). As this is very close to my summer holiday I will have to see if I can be there. I will keep you posted.

    Thanks

    Ralph

    Domoticz, P1 meter interface, MySensors and more to come!

    1 Reply Last reply
    0
    • bisschopsrB Offline
      bisschopsrB Offline
      bisschopsr
      wrote on last edited by
      #38

      @hek : I'm in the process of converting my sketch to the 2.0.0 release of mySensors. As I work in Visual Studio (instead of the standard IDE) I noticed that there is an error generated for the following line:

      send(lastCounterMsg.set(pulseCount));
      

      This line is also in the original (converted) sketch at line 140. If I change the line in line with the other send commands so something like this:

      send(lastCounterMsg.set(pulseCount,3));
      

      the error is gone.

      So my questions are:
      What is the correct way to write the code line?
      Is the 2.0.0 release more critical to this?

      Note: The standard IDE compiles the code without an error.
      Thx in advance,

      Ralph

      Domoticz, P1 meter interface, MySensors and more to come!

      YveauxY 1 Reply Last reply
      0
      • hekH Offline
        hekH Offline
        hek
        Admin
        wrote on last edited by
        #39

        Using the following feels wrong. It isn't a float value you're transmitting.

        send(lastCounterMsg.set(pulseCount,3));

        1 Reply Last reply
        0
        • bisschopsrB bisschopsr

          @hek : I'm in the process of converting my sketch to the 2.0.0 release of mySensors. As I work in Visual Studio (instead of the standard IDE) I noticed that there is an error generated for the following line:

          send(lastCounterMsg.set(pulseCount));
          

          This line is also in the original (converted) sketch at line 140. If I change the line in line with the other send commands so something like this:

          send(lastCounterMsg.set(pulseCount,3));
          

          the error is gone.

          So my questions are:
          What is the correct way to write the code line?
          Is the 2.0.0 release more critical to this?

          Note: The standard IDE compiles the code without an error.
          Thx in advance,

          Ralph

          YveauxY Offline
          YveauxY Offline
          Yveaux
          Mod
          wrote on last edited by
          #40

          @bisschopsr can you post the error message? Maybe that will help in fixing the error...

          http://yveaux.blogspot.nl

          bisschopsrB 1 Reply Last reply
          0
          • YveauxY Yveaux

            @bisschopsr can you post the error message? Maybe that will help in fixing the error...

            bisschopsrB Offline
            bisschopsrB Offline
            bisschopsr
            wrote on last edited by
            #41

            @hek: I agree with you, its not a float. I tried it to see how the interperter of VS responds. I did not mention this eralier, but I use the Visual Micro plugin in VS.
            @Yveaux: I took a quick screenshot of the error message:
            0_1471890856999_upload-7568068c-c9b2-4431-b3a9-e3706238d4ba

            As I see it the interperter expects the function as it is, somehow it does report an error though.

            Regards,
            Ralph

            Domoticz, P1 meter interface, MySensors and more to come!

            YveauxY 1 Reply Last reply
            0
            • bisschopsrB bisschopsr

              @hek: I agree with you, its not a float. I tried it to see how the interperter of VS responds. I did not mention this eralier, but I use the Visual Micro plugin in VS.
              @Yveaux: I took a quick screenshot of the error message:
              0_1471890856999_upload-7568068c-c9b2-4431-b3a9-e3706238d4ba

              As I see it the interperter expects the function as it is, somehow it does report an error though.

              Regards,
              Ralph

              YveauxY Offline
              YveauxY Offline
              Yveaux
              Mod
              wrote on last edited by Yveaux
              #42

              @bisschopsr thanks for posting the actual error message; that helps a lot :smile:
              Apparently the type of pulseCount is volatile unsigned long.
              The MyMessage class has no set() - method directly taking this type as input, so the compiler starts looking for the next closest match. It finds 3: bool, uint8_t and int32_t and can't make a choice. That's why you get the error.
              To fix it, either change the type of pulseCount to one of the supported types, or cast it to one of these types just before calling the set() - method on the message.

              http://yveaux.blogspot.nl

              bisschopsrB 1 Reply Last reply
              1
              • YveauxY Yveaux

                @bisschopsr thanks for posting the actual error message; that helps a lot :smile:
                Apparently the type of pulseCount is volatile unsigned long.
                The MyMessage class has no set() - method directly taking this type as input, so the compiler starts looking for the next closest match. It finds 3: bool, uint8_t and int32_t and can't make a choice. That's why you get the error.
                To fix it, either change the type of pulseCount to one of the supported types, or cast it to one of these types just before calling the set() - method on the message.

                bisschopsrB Offline
                bisschopsrB Offline
                bisschopsr
                wrote on last edited by
                #43

                @Yveaux As you might have understood, I'm not that experienced in the language. But I think I get the explanation you gave. Indeed pulseCount is of type volatile unsigned long. So if I change it to for example int32_t, will the Arduino compiler still understand and use a similar type as unsigned long? On the other hand, I guess this is related to the libraries of mySensors, isn’t it? So should the library not support unsigned long as well?

                Thanks again,

                Ralph

                Domoticz, P1 meter interface, MySensors and more to come!

                YveauxY 1 Reply Last reply
                0
                • bisschopsrB bisschopsr

                  @Yveaux As you might have understood, I'm not that experienced in the language. But I think I get the explanation you gave. Indeed pulseCount is of type volatile unsigned long. So if I change it to for example int32_t, will the Arduino compiler still understand and use a similar type as unsigned long? On the other hand, I guess this is related to the libraries of mySensors, isn’t it? So should the library not support unsigned long as well?

                  Thanks again,

                  Ralph

                  YveauxY Offline
                  YveauxY Offline
                  Yveaux
                  Mod
                  wrote on last edited by
                  #44

                  @bisschopsr depends... Currently the library understands a lot of c++ types, but not all as you have seen.
                  Choosing a comparable type will simply fix your issues. The int32_t is identical to unsigned long on Arduino, except for the sign. If your values do not exceed 2^31 you can just as well store it in an int32_t, but keep the volatile: volatile uint32_t pulseCount
                  Maybe we can add some template trickery to the library to support all c++ types.

                  http://yveaux.blogspot.nl

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    Samuel Wieczorek
                    wrote on last edited by
                    #45

                    Hi

                    @bisschopsr : I try to put my TCRT5000 sensor on the Aquadis but I am not satisfied of the position/orientation. Would you send me a draw with the position of the two LEDS over the aquadis itron ?

                    thanks

                    bisschopsrB 1 Reply Last reply
                    0
                    • S Samuel Wieczorek

                      Hi

                      @bisschopsr : I try to put my TCRT5000 sensor on the Aquadis but I am not satisfied of the position/orientation. Would you send me a draw with the position of the two LEDS over the aquadis itron ?

                      thanks

                      bisschopsrB Offline
                      bisschopsrB Offline
                      bisschopsr
                      wrote on last edited by
                      #46

                      @samuel-wieczorek Hi Samuel. I positioned the sensor over the 1 liter wheel. I did not used the TCRT5000 module, but made a custom built PCB. Howver the principle is the same (in fact the schematics is 100% the same as the TCRT module.
                      If you go to https://www.openhardware.io/view/15/Itron-Aquadis-watermeter-sensor-V10 you can see pictures of the module. Some tips I can share with you:
                      Shield the sensor and the rotating disk area from incoming light. This influences the sensor. Use a piece of plastic tube for example. In NL we have electrical wire tubes that can be used (the grey ones)
                      Bring the sensor close to the disk. The reflection should do the rest. Setting up the TCRT is tricky as you have little room to manouver (considering reflection and the point where the schmit trigger swaps state)
                      Be aware that when the disk stops with the edge near the sensor you get false readings. That is why I swapped to a software driven solution using SW hysteresis on the arduino.
                      Hope this helps. If you can open it, I can share a DXF file with the sizes of the bottom plate I use. Let me know!

                      Ralph

                      Domoticz, P1 meter interface, MySensors and more to come!

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      15

                      Online

                      11.7k

                      Users

                      11.2k

                      Topics

                      113.0k

                      Posts


                      Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • OpenHardware.io
                      • Categories
                      • Recent
                      • Tags
                      • Popular