Watermark arduino 3.3 headache



  • Hi all,

    I'm programming a watermark sensor and an arduino 3.3v. I tried a lot of sketches and connections and did not work.

    Anybody used this sensor? does anybody has docs or sketch or pictures connecting...?

    I'm desperate!!!

    thank's

    Eduard


  • Hero Member

    @ecabanas Reading from what is published on the watermark sensors it is "resistance" based. E.g. a couple of electrodes in a nice housing and corrosion resistant. Standard method of reading these sensors is determine resistance (Ohms law) by applying a (AC = reversing polarity) current and measuring the voltage over the sensor. Most of the moisture sketches are written this way. You need to know the "resistance / moisture curve" of the sensor.

    Can you show us what have and tried?



  • @AWI said in Watermark arduino 3.3 headache:

    how us

    Hi @AWI

    I tryied this hardware as a watermark: WATERMARK 200SS from http://www.irrometer.com/sensors.html

    My logger is a Sodag One based on arduino:
    http://support.sodaq.com/sodaq-one/

    I followed this schema to wire it because the One is working at 3.3V

    0_1491590848328_upload-39c6ebc4-f302-4310-9652-c23bc66734b4

    and this sketch

    I don't know if you need more info about it.

    Thank's

    Eduard

    //Tabular Serial Printing  of Leaf Sensor Signal Data - AgrHouse.com
    
    const int LeafSensor1=0;  //Leaf Sensor on Analog Pin 0
    
    void setup()
    {
      Serial.begin(9600); //Start Serial Port with Baud = 9600
    }
    
    void loop()
    {
      Serial.println("Leaf Sensor Arduino Data Logger");  // AgriHouse.com 
      Serial.println("\nAnalog Pin #\tRaw Value\tPercent");
      Serial.println("------------------------------------------");
      for (int i = 0; i < 10; i++)
      {
        int val = analogRead(LeafSensor1);           //Read Leaf Sensor Pin A0
        
        int per = map(val, 0, 1023, 0, 100); //Convert to Percentage
      
        Serial.print("A0\t\t");
        Serial.print(val);
        Serial.print("\t\t");     
        Serial.print(per);           //Print Percentage Analog Value
        Serial.println("%");         //Print % Sign and Newline
        delay(1000);                 //Wait 1 second, then repeat
      }  
    }```

  • Hero Member

    @ecabanas Your sketch and circuit look fine to me. I don't know the Sodaq One, but should the line
    const int LeafSensor1=0; //Leaf Sensor on Analog Pin 0 not refer to pin "A0"...
    const int LeafSensor1=A0; //Leaf Sensor on Analog Pin 0 ?



  • Hello,
    I hope your are still around about this topic.

    I very very oft read that we need to take twice the measure by inversing the polarity. As say the doc

    A special circuit is needed to measure the electrical resistance of the Watermark sensor. DC currents
    must not be allowed to flow through the wet part of the circuit, or else irreversible reactions
    will occur and spoil the readings. AC excitation avoids these problems, by reversing the polarity
    of the current many times per second, so that no net reaction takes place at either electrode
    

    In your above sketch, you do not inverse the polarity and it's look like you read 10 time with the same polarity.

    However, in the above schema, it look like you power (3.3 at the sensor) once the WATERMAK, and then 3.3 at the resistance.

    Could you explian me your sketch code? And what does the capacitor?

    Thank a lot..


 

381
Online

7.7k
Users

8.6k
Topics

92.3k
Posts