-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f81c8e4
commit 5591c72
Showing
9 changed files
with
51 additions
and
92 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,10 +8,9 @@ Add the ability to measure ORP to your hardware application with a fully digital | |
#### Summary ℹ️ | ||
|
||
* mV range of -2.23 to 2.23 | ||
* Accuracy ±0.001 mV | ||
* Resolution 0.001 mV units | ||
* I²C, UART, and USB interfaces | ||
* 1-Wire interface for DS18B20 temperature sensor | ||
* Accuracy ±0.1 mV | ||
* Resolution 0.1 mV units | ||
* I²C interface | ||
* 25x15 mm for castellated or DIP mounting | ||
* Single point calibration | ||
|
||
|
@@ -32,22 +31,14 @@ Adding a module to your own design is straightforward. You'll need: | |
2. clean, preferably isolated, power supply | ||
3. probe connection (U.FL, BNC, terminal block) | ||
|
||
Some resources to get started: | ||
|
||
* [Schematic of the Isolated Dev Board](https://ufire.co/files/isolated_qwiic_dev_board_schematic.pdf) | ||
* Design Incorporation section of the [Datasheet](https://docs.google.com/document/d/1nhQdt0k4pQb8jUJF8Eyrj9TyxYFNImvvaVTNkO53OXs/export?format=pdf) | ||
|
||
> [Request a custom board](https://docs.google.com/forms/d/e/1FAIpQLSfiCyjnq35GVyaRjVw6HphhNFNmoyi723qlqVLjUhc-TrmvfQ/viewform) | ||
* * * | ||
|
||
#### Ask a question 🤙 | ||
### Ask a question 🤙 | ||
|
||
* [Support Request](https://docs.google.com/forms/d/e/1FAIpQLSekGsS88VkVGCOdW58-MLXKEMpZ8m3PTjGt28sdiWZpEqDXPg/viewform) | ||
* [Discord](https://discord.gg/rAnZPdW) | ||
* [[email protected]](mailto:[email protected]) | ||
|
||
* * * | ||
### Buy One | ||
[Mod-ORP](https://ufire.co/buy/) | ||
|
||
[Isolated Dev Board](https://ufire.co/buy/) - all the components needed to use the module | ||
### Website | ||
[microfire.co](https://microfire.co) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,21 @@ | ||
/*! | ||
ufire.dev for links to documentation, examples, and libraries | ||
microfire.co for links to documentation, examples, and libraries | ||
github.com/u-fire for feature requests, bug reports, and questions | ||
[email protected] to get in touch with someone | ||
Mod-ORP hardware version 1, firmware 1 | ||
Mod-ORP hardware version 2, firmware 1 | ||
*/ | ||
|
||
#include <uFire_Mod-ORP.h> | ||
uFire::Mod_ORP::i2c orp; | ||
#include <Microfire_Mod-ORP.h> | ||
Microfire::Mod_ORP::i2c orp; | ||
|
||
void setup() | ||
{ | ||
// start Serial and I2C | ||
Serial.begin(9600); | ||
Wire.begin(); | ||
|
||
// start the sensor after Wire.begin() | ||
// start the sensor | ||
orp.begin(); | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,13 @@ | ||
/*! | ||
ufire.dev for links to documentation, examples, and libraries | ||
microfire.co for links to documentation, examples, and libraries | ||
github.com/u-fire for feature requests, bug reports, and questions | ||
[email protected] to get in touch with someone | ||
Mod-ORP hardware version 1, firmware 1 | ||
Mod-ORP hardware version 2, firmware 1 | ||
*/ | ||
|
||
#include <uFire_Mod-ORP.h> | ||
uFire::Mod_ORP::i2c orp; | ||
#include <Microfire_Mod-ORP.h> | ||
Microfire::Mod_ORP::i2c orp; | ||
|
||
void setup() | ||
{ | ||
|
@@ -23,21 +23,6 @@ void setup() | |
|
||
void loop() | ||
{ | ||
// get the temperature of the solution | ||
orp.measureTemp(); | ||
|
||
// check for errors | ||
if (orp.status) | ||
{ | ||
Serial.println("Error:"); | ||
switch (orp.status) | ||
{ | ||
case orp.STATUS_SYSTEM_ERROR: | ||
Serial.println(" temperature sensor not connected"); | ||
break; | ||
} | ||
} | ||
|
||
// take a pH measurement | ||
orp.measureORP(); | ||
switch (orp.status) | ||
|
@@ -46,9 +31,8 @@ void loop() | |
Serial.println(" Error: Module not functioning properly"); | ||
break; | ||
case orp.STATUS_NO_ERROR: | ||
Serial.print(orp.mV, 3); | ||
Serial.print(orp.mV); | ||
Serial.println((String)" mV @ " + orp.tempC + "°C"); | ||
Serial.println(); | ||
break; | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,39 @@ | ||
/* | ||
microfire.co for links to documentation, examples, and libraries | ||
github.com/u-fire for feature requests, bug reports, and questions | ||
[email protected] to get in touch with someone | ||
Mod-ORP hardware version 2, firmware 1 | ||
This allows you to run various functions in a command-line like interface. | ||
Enter: | ||
`config` to see the configuration of the device. | ||
'reset' to reset all the configuration stored in the device | ||
Measure ORP: | ||
`orp` | ||
Single Point Calibration: | ||
sin <calibration solution in pH> <solution temp [25]> | ||
`sin 60.0 t` - Calibrate at 600.0 mV | ||
sin <calibration solution in mV> | ||
`sin 600` - Calibrate at 600.0 mV | ||
Measure Temperature: | ||
temp | ||
Change the I2C address: | ||
i2c 0x0F | ||
*/ | ||
|
||
#include <Arduino.h> | ||
#include <Wire.h> | ||
#include "uFire_Mod-ORP.h" | ||
#include "Microfire_Mod-ORP.h" | ||
|
||
uFire::Mod_ORP::i2c orp; | ||
Microfire::Mod_ORP::i2c orp; | ||
|
||
String buffer, cmd, p1, p2; | ||
const int fw_compatible = 1; | ||
const int hw_compatible = 1; | ||
const int hw_compatible = 2; | ||
|
||
void config() | ||
{ | ||
orp.getDeviceInfo(); | ||
Serial.println((String) "uFire Mod-ORP Sensor: " + (orp.connected() ? "connected" : "*disconnected*")); | ||
Serial.println((String) "Microfire Mod-ORP Sensor: " + (orp.connected() ? "connected" : "*disconnected*")); | ||
if (!orp.connected()) return; | ||
if ((orp.fwVersion != fw_compatible) || (orp.hwVersion != hw_compatible)) | ||
{ | ||
|
@@ -52,23 +54,6 @@ void config_reset() | |
config(); | ||
} | ||
|
||
void temperature() | ||
{ | ||
orp.measureTemp(); | ||
switch (orp.status) | ||
{ | ||
case orp.STATUS_SYSTEM_ERROR: | ||
Serial.println("Error: no temperature sensor connected"); | ||
break; | ||
case orp.STATUS_NO_ERROR: | ||
Serial.print("C|F: "); | ||
Serial.print(orp.tempC); | ||
Serial.print(" | "); | ||
Serial.println(orp.tempF); | ||
break; | ||
} | ||
} | ||
|
||
void i2c() | ||
{ | ||
uint8_t i2c_address; | ||
|
@@ -104,7 +89,7 @@ void measure_orp() | |
Serial.println("Error: Module not functioning properly"); | ||
break; | ||
case orp.STATUS_NO_ERROR: | ||
Serial.print(orp.mV, 3); | ||
Serial.print(orp.mV); | ||
Serial.println((String)" mV"); | ||
break; | ||
} | ||
|
@@ -128,20 +113,18 @@ void single() | |
|
||
void help() | ||
{ | ||
Serial.println(F("List of available commands, parameters separated by spaces, `low 4.0 22.1`, bracketed numbers are defaults if none provided")); | ||
Serial.println(F("List of available commands, parameters separated by spaces")); | ||
Serial.println(F("config -or- c : no parameters : Displays all configuration and system information.")); | ||
Serial.println(F("orp : no parameters : Starts an ORP measurement.")); | ||
Serial.println(F("i2c : I2C_address : Changes the module's I2C address.")); | ||
Serial.println(F("reset -or- r : no parameters : Returns all configuration information to default values.")); | ||
Serial.println(F("sin : calibration_mV : Single-point calibration.")); | ||
Serial.println(F("temp -or- t : no parameters : Starts a temperature measurement")); | ||
} | ||
|
||
void cmd_run() | ||
{ | ||
if ((cmd == "conf") || (cmd == "config") || (cmd == "c")) config(); | ||
if ((cmd == "reset") || (cmd == "r")) config_reset(); | ||
if ((cmd == "temp") || (cmd == "t")) temperature(); | ||
if (cmd == "sin") single(); | ||
if (cmd == "i2c") i2c(); | ||
if (cmd == "orp") measure_orp(); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,11 +10,11 @@ | |
{ | ||
"name": "Microfire LLC", | ||
"email": "[email protected]", | ||
"url": "https://ufire.co", | ||
"url": "https://microfire.co", | ||
"maintainer": true | ||
} | ||
], | ||
"version": "1.0.0", | ||
"version": "2.0.0", | ||
"frameworks": "arduino", | ||
"platforms": "*" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
name=Microfire_Mod-ORP | ||
version=1.0.0 | ||
version=2.0.0 | ||
author=Microfire LLC | ||
maintainer=contact@ufire.co | ||
maintainer=contact@microfire.co | ||
sentence=Add the ability to measure ORP to your hardware application with a fully digital interface. | ||
paragraph=I2C, UART, and USB interfaces, mV range of -2.23 to 2.23, Accuracy ±0.001 mV, Resolution 0.001 mV units | ||
paragraph=I2C interface, mV range of -2.23 to 2.23, Accuracy ±0.1 mV, Resolution 0.1 mV units | ||
category=Sensors | ||
url=https://ufire.co | ||
url=https://microfire.co | ||
architectures=* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters