Grove - ORP Sensor Kit (501Z)
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
Items | Values |
---|---|
Electrode potential | 245-270mv(15-30℃) |
RangeReference electrode internal resistance | ≤10k |
Resolution Electrode stability | ±8mv/24 |
Indicator electrode | Good continuity |
Work voltage | 3.3V/5V |
Work temperature | 5℃-70℃ |
Platform Supported
Arduino | Raspberry Pi |
---|---|
Getting Started
Materials Requied
Seeeduino Lotus | Grove-ORP Sensor kit |
---|---|
Get ONE Now | Get ONE Now |
Hardware Connection
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.
- 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.
Schematic Online Viewer
Resources
- [ZIP] Demo Code library
Tech Support
Please do not hesitate to submit the issue into our forum.