Cheaper alternative to Atlas Scientific?
I just threw together a sensor using the dfrobot v2 ph kit (3.3v) and bought their 'pro' sensor. Using an ESP32, ADC1115 and esphome, it was easier than expected. I currently have it in my res with my pump and there is no drift. I just put it in, so I will keep you guys updated on how accurate it is over time. With that said, so far it's been surprisingly accurate.
That looks nice! Good work and keep us posted.
Want to Support the Site?
Use this Amazon referral link and any purchase you make within 24 hrs will earn LEDgardener a commission at no cost to you!
Use this Amazon referral link and any purchase you make within 24 hrs will earn LEDgardener a commission at no cost to you!
-
- LED-Curious
- Reactions:
- Posts: 18
- Joined: Wed Sep 02, 2020 3:48 am
I'd be interested in a cheaper E.C. and temp alternative. Atlas has really nice stuff but, I don't need .001 accuracy for temp and ec. Their PH board is one of the best. You can use probes from other companies. Industrial usually means it holds more liquid so, stays calibrated longer. Bigger is better for PH probes.
Hello, I saw the LEDg video and started up my home assistance and hydroponic. Suddenly I ordered the DFROBOT SEN0169-V2 (industrial) probe for PH reading. I am trying now to create code for integration to hass/ESPHOME, but it looks difficult for now.
I found an example code for Arduino. I am checking now is there is a way to translate the code to yaml. It will take a while to read and understand ESPhome.
It run at the moment with the following code:
I need to see how to use the calibration function.
How did you set it up?
Thanks a lot
B
I found an example code for Arduino. I am checking now is there is a way to translate the code to yaml. It will take a while to read and understand ESPhome.
Code: Select all
#include "DFRobot_ESP_PH.h"
#include <EEPROM.h>
DFRobot_ESP_PH ph;
#define ESPADC 4096.0 //the esp Analog Digital Convertion value
#define ESPVOLTAGE 3300 //the esp voltage supply value
#define PH_PIN 35 //the esp gpio data pin number
float voltage, phValue, temperature = 25;
void setup()
{
Serial.begin(115200);
EEPROM.begin(32);//needed to permit storage of calibration value in eeprom
ph.begin();
}
void loop()
{
static unsigned long timepoint = millis();
if (millis() - timepoint > 1000U) //time interval: 1s
{
timepoint = millis();
//voltage = rawPinValue / esp32ADC * esp32Vin
voltage = analogRead(PH_PIN) / ESPADC * ESPVOLTAGE; // read the voltage
Serial.print("voltage:");
Serial.println(voltage, 4);
//temperature = readTemperature(); // read your temperature sensor to execute temperature compensation
Serial.print("temperature:");
Serial.print(temperature, 1);
Serial.println("^C");
phValue = ph.readPH(voltage, temperature); // convert voltage to pH with temperature compensation
Serial.print("pH:");
Serial.println(phValue, 4);
}
ph.calibration(voltage, temperature); // calibration process by Serail CMD
}
float readTemperature()
{
//add your code here to get the temperature from your temperature sensor
}
It run at the moment with the following code:
Code: Select all
sensor:
- platform: adc
pin: GPIO34
name: "PH"
update_interval: 1s
How did you set it up?
Thanks a lot
B
Perhaps you could create a custom sensor in ESPhome?Baylos wrote: ↑Sat Nov 07, 2020 12:01 pmHello, I saw the LEDg video and started up my home assistance and hydroponic. Suddenly I ordered the DFROBOT SEN0169-V2 (industrial) probe for PH reading. I am trying now to create code for integration to hass/ESPHOME, but it looks difficult for now.
I found an example code for Arduino. I am checking now is there is a way to translate the code to yaml. It will take a while to read and understand ESPhome.Code: Select all
#include "DFRobot_ESP_PH.h" #include <EEPROM.h> DFRobot_ESP_PH ph; #define ESPADC 4096.0 //the esp Analog Digital Convertion value #define ESPVOLTAGE 3300 //the esp voltage supply value #define PH_PIN 35 //the esp gpio data pin number float voltage, phValue, temperature = 25; void setup() { Serial.begin(115200); EEPROM.begin(32);//needed to permit storage of calibration value in eeprom ph.begin(); } void loop() { static unsigned long timepoint = millis(); if (millis() - timepoint > 1000U) //time interval: 1s { timepoint = millis(); //voltage = rawPinValue / esp32ADC * esp32Vin voltage = analogRead(PH_PIN) / ESPADC * ESPVOLTAGE; // read the voltage Serial.print("voltage:"); Serial.println(voltage, 4); //temperature = readTemperature(); // read your temperature sensor to execute temperature compensation Serial.print("temperature:"); Serial.print(temperature, 1); Serial.println("^C"); phValue = ph.readPH(voltage, temperature); // convert voltage to pH with temperature compensation Serial.print("pH:"); Serial.println(phValue, 4); } ph.calibration(voltage, temperature); // calibration process by Serail CMD } float readTemperature() { //add your code here to get the temperature from your temperature sensor }
It run at the moment with the following code:I need to see how to use the calibration function.Code: Select all
sensor: - platform: adc pin: GPIO34 name: "PH" update_interval: 1s
How did you set it up?
Thanks a lot
B
https://esphome.io/components/sensor/custom.html
Want to Support the Site?
Use this Amazon referral link and any purchase you make within 24 hrs will earn LEDgardener a commission at no cost to you!
Use this Amazon referral link and any purchase you make within 24 hrs will earn LEDgardener a commission at no cost to you!
Hi LEDG,
Thanks. I checked my options with current components and faced that the ADC from the ESP32 is not sufficient for the ph sensor. Therefore I purchased ADS1115. I hope to find some time on the weekend to further solder and put everything together again.
Best Regards
B
Thanks. I checked my options with current components and faced that the ADC from the ESP32 is not sufficient for the ph sensor. Therefore I purchased ADS1115. I hope to find some time on the weekend to further solder and put everything together again.
Best Regards
B