Measure it and check the time. Store the values.
Measure it and check the time again. Store the values someplace else.
Repeat a few times to get more data to work with.
Use millis to get the time.
I modified a piece of code from the tuorial. Here's what i did:
/*
ReadAnalogVoltage
Reads an analog input on pin 0, converts it to voltage, and prints the result to the serial monitor.
Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
This example code is in the public domain.
*/
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
float voltage;
float LastVoltage;
float rate;
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
LastVoltage = voltage;
Serial.print("Last voltage: ");
Serial.println(LastVoltage);
// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
float voltage = sensorValue * (5.0 / 1023.0);
// print out the value you read:
Serial.println(voltage);
// Calculate the rate of change in voltage, in V/s
rate = (voltage-LastVoltage);
Serial.print("dV: ");
Serial.println(rate);
}
However the LastVoltage is always 0, do you know why?
Thanks
Shirley