Skip to content
  • MySensors
  • 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

Water meter: Itron Aquadis+ with pulse sensor

Scheduled Pinned Locked Moved Hardware
46 Posts 10 Posters 29.0k 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.
  • bisschopsrB Offline
    bisschopsrB Offline
    bisschopsr
    wrote on last edited by
    #35

    Hi All,

    The sensor is finally in production on my home water meter. I just uploaded the latest version of the pcb documents to OpenHardware.io. Not bad only one small error in the PCB design. Easily fixed so no need for ordering new boards.

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

    YveauxY 1 Reply Last reply
    0
    • bisschopsrB bisschopsr

      Hi All,

      The sensor is finally in production on my home water meter. I just uploaded the latest version of the pcb documents to OpenHardware.io. Not bad only one small error in the PCB design. Easily fixed so no need for ordering new boards.

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

      @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!

      http://yveaux.blogspot.nl

      bisschopsrB 1 Reply Last reply
      0
      • 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


                          12

                          Online

                          11.7k

                          Users

                          11.2k

                          Topics

                          113.1k

                          Posts


                          Copyright 2025 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
                          • MySensors
                          • OpenHardware.io
                          • Categories
                          • Recent
                          • Tags
                          • Popular