Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Water as touch surface

  1. Dec 8, 2016 #1
    an idea for my new project
    construction - a cubical bowl of tap water , 2 sheet electrodes for 1 pair (y-axis pair)of opposite face(square wave 10Hz 10vpp), 2 sheet electrodes for the other pair (x-axis pair)(similar square wave lags by half cycle )
    left hand touches adc pin. right hand touches water surface.10v drops linearly with normal distance from pulse electrode
    process adc input for realtime x-y coordinates of touch (maybe z also if added 3rd pair electrodes at surface and floor)
    so water surface can be used as touch pad .
    will this work?
     
  2. jcsd
  3. Dec 8, 2016 #2

    berkeman

    User Avatar

    Staff: Mentor

    The 2-D version could work. What is important about the water/liquid to make this work?
     
  4. Dec 9, 2016 #3

    Baluncore

    User Avatar
    Science Advisor

    With your system the body will pick up lots of interference and electrostatic discharge that will get into the ADC.

    There are similar 2D positioning systems that inject signal current or noise into a point on a resistive sheet. The edges of the sheet are tied to virtual earth with op-amps that convert each edge current to a voltage. Those four voltages are a function of the sheet x–y position where the current is being injected.
     
  5. Dec 9, 2016 #4
    will this work with water in place of resistive sheet
     
  6. Dec 9, 2016 #5

    Baluncore

    User Avatar
    Science Advisor

    Yes, but the water should be shallow.
    You may need to add some salt to the water to make it more conductive.
     
  7. Dec 10, 2016 #6
    adding salt to water will cause electrolysis , so it disrupts uniform composition of water.
    voltage drop will not vary linearly with normal distance from pulse electrode
    perhaps something else can increase the conductivity of the water
     
  8. Dec 10, 2016 #7

    Baluncore

    User Avatar
    Science Advisor

    Then use an AC probe signal, or maybe a DC voltage below the disassociation voltage of NaCl in H2O.
     
  9. Dec 10, 2016 #8
    yeah, at high frequency ac 1kHz salt water must behave more or less like resistor due to negligible capacitive reactance.
    but how can i sense ac voltage and convert it to digital?
     
  10. Dec 10, 2016 #9

    Baluncore

    User Avatar
    Science Advisor

    How you do it will depend on why you need to do it.
    What are you really trying to do ?
     
  11. Dec 10, 2016 #10
    what did you mean by
     
  12. Dec 10, 2016 #11

    Baluncore

    User Avatar
    Science Advisor

    Can you explain why you think capacitive reactance would be negligible.
    What is the dielectric constant of water ?

    Do you need to sense the voltage at a point on the sheet, or do you need to inject a current into the sheet at a point?

    How will you place electrodes at the edges of the sheet ?
    What will you do where they meet at the corners ?

    Unless you can write a specification you are only dreaming.
     
  13. Dec 14, 2016 #12
    80.4
     
  14. Dec 14, 2016 #13
    alright , it wont
     
  15. Dec 14, 2016 #14
    I need to sense the voltage at a point on the sheet.
    copper wires attached to sheet at its edge
    the sheets are separated at the corners
     
  16. Dec 14, 2016 #15

    Baluncore

    User Avatar
    Science Advisor

    That would suggest that capacitive reactance would be 80.4 times greater than with air between the electrodes.

    If you freeze the water it will be much less, IIRC about 3.5, but will the ice be conductive?
    See; Dielectric properties of brine-wetted snow on first-year sea ice.
    https://cartel.recherche.usherbrooke.ca/Documents/Langlois_Alex/Geldsetzer_etal_2009.pdf

    What conductive liquids are there that have low dielectric constant and are safe?
     
  17. Dec 9, 2017 at 10:14 PM #16
    I did it , I built a water touchpad sensor to track the position of my right index fingertip on a water surface! . Here's the Youtube video link -
     
  18. Dec 10, 2017 at 1:15 AM #17

    Tom.G

    User Avatar
    Science Advisor

    CONGRATULATIONS!

    While others were telling you why and what you couldn't do, you did it! A needed characteristic of a scientist.
    KEEP AT IT!
     
  19. Dec 10, 2017 at 6:58 AM #18
    Here's the Arduino c++ code for the project DIY Water Touchpad -
    Code (C):
    /* Project Title- DIY WATER TOUCHPAD
       Author- Sumit Aich
       Project Summary- The basic idea behind this sensor is the use of a parallelopiped water container
       as a water potentiometer device. It is similar to a 3-pin slide pot used in electronic circuits,
       with the 2 aluminium electrodes equivalent to the 2 end pins of a slide pot,
       and the right index fingertip is equivalent to the middle pin (voltage output) of a slide potentiometer.
       */


    #define ELECTRODE_0  2  //left water electrode
    #define ELECTRODE_1  3  //right water electrode
    #define SENSOR_ADC   0  //right index fingertip (Vout of water potentiometer)
    #define OFFSET_0     1  //left offset pin
    #define OFFSET_1     2  //right offset pin
    #define BAUDRATE 2000000

    long offset_0,  //voltage at left offset pin
         offset_1,  //voltage at right offset pin
         read_0,    //fingertip voltage
         m, m1; //horizontal displacement of fingertip from OFFSET_0 pin (range from 0 to 50000)

    void setup() {
      pinMode(ELECTRODE_0, OUTPUT);
      pinMode(ELECTRODE_1, OUTPUT);

      //set both water electrodes to +5V to pause electrolysis for a while
      digitalWrite(ELECTRODE_0, 1);
      digitalWrite(ELECTRODE_1, 1);
      Serial.begin(BAUDRATE);
      analogReference(DEFAULT);

    }

    void loop() {

      //Phase 1
      //swap polarity of voltage drop across water
      digitalWrite(ELECTRODE_0, 0);
      offset_0 = analogRead(OFFSET_0);
      offset_1 = analogRead(OFFSET_1);
      read_0 = analogRead(SENSOR_ADC);

      //check whether fingertip is inside or outside water
      digitalWrite(ELECTRODE_0, 1);
      if (analogRead(SENSOR_ADC) != 1023)
      {
        m = 51000;
      }
      else {
        m =  constrain((50000 * (read_0 - offset_0) / (offset_1 - offset_0)), 0, 50000);
      }
      Serial.print('$');//format requirement for SerialPortPlotter.exe
      Serial.print(m);//print horizontal displacement of fingertip from OFFSET_0 pin (range from 0 to 50000)
      Serial.println('\;');//format requirement for SerialPortPlotter.exe

      /*this delay is just a frequency restriction imposed by SerialPortPlotter.exe
        otherwise, it is not required if you are NOT using SerialPortPlotter.exe.
      */

      delay(10);

      //Phase 2
      //swap polarity of voltage drop across water
      digitalWrite(ELECTRODE_1, 0);
      offset_0 = analogRead(OFFSET_0);
      offset_1 = analogRead(OFFSET_1);
      read_0 = analogRead(SENSOR_ADC);

      //check whether fingertip is inside or outside water
      digitalWrite(ELECTRODE_1, 1);
      if (analogRead(SENSOR_ADC) != 1023)
      {
        m = 51000;
      }
      else {
        m1 = constrain((50000 * (offset_0 - read_0) / (offset_0 - offset_1)), 0, 50000);
      }
      Serial.print('$');//format requirement for SerialPortPlotter.exe
      Serial.print(m);//print horizontal displacement of fingertip from OFFSET_0 pin (range from 0 to 50000)
      Serial.println('\;');//format requirement for SerialPortPlotter.exe

      /*this delay is just a frequency restriction imposed by SerialPortPlotter.exe
        otherwise, it is not required if you are NOT using SerialPortPlotter.exe.
      */

      delay(10);

    }
     
     
  20. Dec 10, 2017 at 7:01 AM #19
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: Water as touch surface
Loading...