Sensor de turbidez en ESP32

Buenas gente estoy haciendo un proyecto de monitoreo de la calidad del agua inalambrico y tengo un gran problema , resulta que tengo un sensor de turbidez KIE-TS-300B y copie un codigo de un video de internet para poder hacer mediciones y va muy mal este es el codigo:

* ==================================================================================================================

   WR Kits e Usina Info

   Sensor de Turbidez com Arduino

   Autor: Eng. Wagner Rambo

   Data: Agosto de 2018


   A turbidez pode ser entendida como a medida do espalhamento 
   de luz produzido pela presença de partículas em suspensão ou coloidais, 
   sendo expressa como Unidade Nefelométrica de Turbidez 
   (NTU – Nephelometric Turbidity Unity).

   Fonte: https://2engenheiros.com/2017/12/12/turbidez-da-agua/ 

   Nefelometria:
   Processo de medida da concentração de uma emulsão por comparação 
   de sua transparência com a de uma preparação padrão.


   Cálculo para o sensor de Turbidez

   https://www.dfrobot.com/wiki/index.php/File:Relationship_diagram.jpg


   Hardware:

   Arduino     Sensor de Turbidez

   5V          V
   GND         G
   A0          A


================================================================================================================== */


// ==================================================================================================================
// --- Protótipo das Funções ---
double calc_NTU(double volt);


// ==================================================================================================================
// --- Variáveis Globais ---
double NTU = 0.0;


// ==================================================================================================================
// --- Configurações Iniciais ---
void setup() 
{
  Serial.begin(115200);

  
} //end setup


// ==================================================================================================================
// --- Loop Infinito ---
void loop() 
{
  int sensorValue = analogRead(36); 
  float voltage = sensorValue * (3.3 / 4096.0);  

  NTU = calc_NTU(voltage);
  
  Serial.print(voltage);  
  Serial.print(" | ");
  Serial.println(NTU);

  
  delay(741);
  
} //end loop


// ==================================================================================================================
// --- Função para conversão de tensão para Turbidez em NTU ---
//
// Equação que relaciona tensão com NTU: NTU = -1120,4*volt*volt + 5742,3*volt - 4352,9
//
double calc_NTU(double volt)
{

  double NTU_val;

  NTU_val = -(1120.4*volt*volt)+(5742.3*volt)-4352.9;

  return NTU_val;
  
} //end calc_NTU

image
esta es mi salida sin tener ningun contacto con el sensor 0.67 volts y -991 de ntu , alguien sabe como puedo corregir mi codigo y medir de la manera correcta? al parecer tampoco se puede calibrar fisicamente por que tiene este recubrimiento

He trasladado su tema de una categoría de idioma inglés del foro a la categoría International > Español @yosoygior.

En adelante por favor usar la categoría apropiada a la lengua en que queráis publicar. Esto es importante para el uso responsable del foro, y esta explicado aquí la guía "How to get the best out of this forum".
Este guía contiene mucha información útil. Por favor leer.

De antemano, muchas gracias por cooperar.

Moderador:
Por favor, lee las Normas del foro
Si posteas en el foro en inglés usa idioma inglés para expresarte, eso incluye los comentarios de tu código. Si un código tiene comentarios en español también moverán tu hilo a esta sección en Español.
Si escribes en español debes usar el foro Arduino en español

Primero debes tener cuidado con lo que lees y luego adaptas.
Lo que leo es que la formula fue hecha para un ADC de 5V y tu usas un ESP32 a 3.3V
Ahi tenemos ya un problema de offset o sea.. con 0 tensión que mide el sensor?

Ese es un problema del sensor. Porque arroja 0.67V es algo que debes determinar tu mismo.
Mira tutoriales como se calibra el sensor.
Ejemplo: Debe indicar algo determinado en presencia de agua limpia, Tantos NTU
También si el agua esta completamente opaca o turbia deberia indicar otro NTU que se sirve como referencia. Con los dos puntos tienes todos los intermedios.
Uno con limpieza y otro con total turbidez.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.