Can anyone help me I am currently using GSR sensor it's a sensor that using two electrode and attached to finger this sensor allowing us to detect stress
I bought it and turn out the output it's analog ,Can you guys help me to convert this analog data to Resistance or microsiemens
I have seen other forums but I can't seem to understand the equation I have Vo , Vin but I don't have the Rref to convert to Rskin , please help me thank you guys
Thank you so much for the response john ,but this still dont answer what I am asking about how to convert the output or explaining the equation in my question
The equation provided by namhkim on that other topic is for a simple circuit comprising of a potential divider comprising of a reference resistor and the resistance of your finger.
The actual circuit of your sensor is much more complicated, and so that equation does not apply. (especially when there is a sensitivity control that can be set to any random/arbitrary position).
Your response really make me more understand of this sensor because I am new
to it and I thanks you for that , so the conclusion is this equation doesn't apply on GSR sensor because of the difference complexity of circuit which is include potentiometer that can setting the output , therefore I still have the problem about the output john, I am only able to convert it to Voltage and I need to convert volt to Resistance , can you help me out here john
I've just spotted that there is a formula given in that wiki that I posted a link to in post #2
Read the instructions there on how to adjust the variable resistor, before taking a measurement.
Here's the formula they give you:
Human Resistance = ((1024+2Serial_Port_Reading) 10000)/(512-Serial_Port_Reading), unit is ohm, Serial_Port_Reading is the value display on Serial Port(between 0~1023)
dazzbones,
If the variable resistor is placed in a random/arbitary position, then yes the equation is invalid.
However there is a rudimentary 'calibration procedure' detailed in the wiki that I linked to in posts #2 and #6.
From the Grove wiki website, here it is:
Step 1. Copy the code into Arduino IDE and upload.
const int GSR=A0;
int sensorValue=0;
int gsr_average=0;
void setup(){
Serial.begin(9600);
}
void loop(){
long sum=0;
for(int i=0;i<10;i++) //Average the 10 measurements to remove the glitch
{
sensorValue=analogRead(GSR);
sum += sensorValue;
delay(5);
}
gsr_average = sum/10;
Serial.println(gsr_average);
}
Step 2. Do not Wear the GSR sensor.
Step 3. Click the Tools-> Serial Plotter from Arduino IDE
Step 4. Use the screw driver to adjust resistor until the serial output as 512.
Step 5. Wear the GSR sensor.
Step 6. We will see the below graph. Please deep breath and see the trends.
Human Resistance = ((1024+2*Serial_Port_Reading)*10000)/(512-Serial_Port_Reading), unit is ohm, Serial_Port_Reading is the value display on Serial Port(between 0~1023)
After performing this procedure then I believe that the equation may be correct/valid.
So I've been using the new equation and turn out the output it's minus , but if I do the calculation with the equation the output should be 100K+ by using 400 for gsr_average
Which is common skin resistance is 100k ohm , maybe I should adjust the potentiometer if It didn't work idk what else could work