Skip to main content

Grove - ORP Sensor Kit (501Z)

pir

pir

An Oxidation Reduction Potential (ORP) Sensor measures the activity of oxidizers and reducers in an aqueous solution, it measures the ability of a lake or river to cleanse itself or break down waste products. The Grove OPR sensor works for both 3.3V and 5V system, the Grove connector and BNC probe interface make it easy to use and very suitable for Arduino and Raspberry Pi project

note
This product is non-RoHS certified.

Feature

  • Work efficiently under 3.3V and 5V.
  • Support with both Arduino and Rasberry Pi .
  • Compact size for easy deployment.

Specification

ItemsValues
Electrode potential245-270mv(15-30℃)
RangeReference electrode internal resistance≤10k
Resolution Electrode stability±8mv/24
Indicator electrodeGood continuity
Work voltage3.3V/5V
Work temperature5℃-70℃

Platform Supported

ArduinoRaspberry Pi

pir

pir

Getting Started

Materials Requied

Seeeduino LotusGrove-ORP Sensor kit

pir

pir

Get ONE NowGet ONE Now

Hardware Connection

pir

Software

note
    If this is the first time you work with Arduino, we strongly recommend you to see [Getting Started with Arduino](https://wiki.seeedstudio.com/Getting_Started_with_Arduino/) before the start.
  • Step 1. Plug Grove-ORP Sensor into Interface A2 of Seeeduino Lotus board with a Grove Cable and connect Seeeduino Lotus to PC via a USB cable.
tip
Please plug the USB cable, Grove-ORP Sensor Interface into Seeeduino Lotus board Interface gently, otherwise you may damage the port.
  • Step 2. Download the Demo code and copy the whole ORPSensorSample file and paste it into your Arduino IDE library file.

  • Step 3. Open the ORPSensorSample.ino file with your Arduino IDE and upload the demo. If you do not know how to upload the code, please check How to upload code.

Software Code

#define VOLTAGE 5.00    //system voltage
#define OFFSET 0 //zero drift voltage
#define LED 13 //operating instructions

double orpValue;

#define ArrayLenth 40 //times of collection
#define orpPin 2 //orp meter output,connect to Arduino controller ADC pin

int orpArray[ArrayLenth];
int orpArrayIndex=0;

double avergearray(int* arr, int number){
int i;
int max,min;
double avg;
long amount=0;
if(number<=0){
printf("Error number for the array to avraging!/n");
return 0;
}
if(number<5){ //less than 5, calculated directly statistics
for(i=0;i<number;i++){
amount+=arr[i];
}
avg = amount/number;
return avg;
}else{
if(arr[0]<arr[1]){
min = arr[0];max=arr[1];
}
else{
min=arr[1];max=arr[0];
}
for(i=2;i<number;i++){
if(arr[i]<min){
amount+=min; //arr<min
min=arr[i];
}else {
if(arr[i]>max){
amount+=max; //arr>max
max=arr[i];
}else{
amount+=arr[i]; //min<=arr<=max
}
}//if
}//for
avg = (double)amount/(number-2);
}//if
return avg;
}


void setup(void) {
Serial.begin(9600);
pinMode(LED,OUTPUT);
}

void loop(void) {
static unsigned long orpTimer=millis(); //analog sampling interval
static unsigned long printTime=millis();
if(millis() >= orpTimer)
{
orpTimer=millis()+20;
orpArray[orpArrayIndex++]=analogRead(orpPin); //read an analog value every 20ms
if (orpArrayIndex==ArrayLenth) {
orpArrayIndex=0;
}
orpValue=((30*(double)VOLTAGE*1000)-(75*avergearray(orpArray, ArrayLenth)*VOLTAGE*1000/1024))/75-OFFSET; //convert the analog value to orp according the circuit
}
if(millis() >= printTime) //Every 800 milliseconds, print a numerical, convert the state of the LED indicator
{
printTime=millis()+800;
Serial.print("ORP: ");
Serial.print((int)orpValue);
Serial.println("mV");
digitalWrite(LED,1-digitalRead(LED));
}
}
note
 - When measuring the electrode, the test part of the electrode (including platinum wire and reference junction) must be submerged at the same time.

- The electrode standard solution-quinone hydroquinone saturated solution, the storage time is 48h. (Attachment: Preparation of quinone hydroquinone saturated solution: add excess quinone hydroquinone to the pH 4.00 buffer to make it saturated).
- Method to prepare hydroquinone solution:adding 10g of quinhydrone to 1L of pH 4 or pH 7 buffer solution (ASTM D1498). The solutions are mixed on a magnetic mixing plate for a minimum of 15 minutes to create a saturated solution with undissolved crystals remaining. Quinhydrone solutions are usable for 8 hrs from the time of mixing.

- If the platinum wire of the electrode is stained with grease, it can be scrubbed with absorbent cotton and acetone or alcohol. And if it is dipped by insoluble inorganic substance, 30-50% hydrochloric acid works as well. Besides, it can also be cleaned by senior toilet paper once every day

- The probe **MUST NOT** be dipped in any solution for a long time.
  • Step 4. Take off the interface of probe cable and continuously press the Black Button on the sensor to reset.

pir

- **Step 5.** From the chart above, we can figure out that the error is -11 mv, therefore the data of offset can be modified to -11 on **Line 2** in Demo Code.
  • Step 6. After resetting the sensor, we can put it into a pointed calibration liquid with the specification of 204mv to figure out if it could work well.

pir

- **Step 7.** Finally, you are free to detect your own liquid.

Schematic Online Viewer

Resources

Tech Support & Product Discussion

Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.

Loading Comments...