Ir al contenido principal

Cómo hacer un sensor de nivel de agua con ESP32 y un solo cable (sensor touch casero)

Hola a todos 😄

Hoy les traigo una forma curiosa, sencilla (y claro, barata) de detectar si hay agua en un recipiente, usando solo un cable y un ESP32. No necesitas sensores capacitivos, ni módulos caros, ni nada complicado. Solo aprovechamos una función poco conocida del ESP32: su capacidad de detectar toques… y sí, el agua cuenta como "toque".


¿Cómo funciona un sensor de nivel de agua con ESP32?

El ESP32 tiene pines especiales llamados "touch" que detectan cambios en la capacitancia. Normalmente se usan para sensores táctiles, como botones, pero también pueden servir para detectar agua, porque el agua conduce electricidad y altera la capacitancia.

Conectando un cable a uno de esos pines touch y sumergiendo la punta en el agua, el ESP32 detecta ese cambio como si estuvieras tocando el pin con el dedo. Así, puedes crear un sensor de agua casero sin componentes extra. Solo se necesita el ESP32, un cable y agua. Si colocas el cable a cierta altura, puedes detectar niveles de llenado de un recipiente.


Materiales necesarios

  • Un ESP32 (cualquier modelo con pines touch)
  • Un solo cable (puede ser de jumper, cobre, o lo que tengas a la mano)
  • Un vaso o recipiente con agua
  • (Opcional) Cinta para fijar el cable a una altura específica

Conexión del "sensor"

Solo conecta el cable a un pin touch del ESP32. Yo usé el T0, que es el GPIO4.


La otra punta del cable va dentro del recipiente. Si lo quieres usar como sensor de nivel, colócalo a la altura que quieras detectar para que solo toque el agua cuando haya suficiente.


Código en Arduino IDE

const int sensPin = 4;
const int ledPin = 2;
const int umbral = 45; //Este valor se obtiene haciendo pruebas de funcionamiento

void setup() {
  Serial.begin(115200);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int sensRead = touchRead(sensPin);
  Serial.println(sensRead);
  
  if(sensRead < umbral) digitalWrite(ledPin, HIGH);
  else digitalWrite(ledPin, LOW);
  
  delay(250);
}

🔧 Nota: El valor de detección (45) depende del ambiente, tipo de cable, calidad del agua, etc. Si siempre detecta agua aunque no haya, sube el número. Si nunca detecta, bájalo. Se ajusta fácilmente haciendo pruebas.


¿Y si quiero medir varios niveles?

¡También se puede! Solo necesitas más cables y más pines touch. Cada uno actúa como un "sensor de altura". Por ejemplo:

  • Cable 1 (nivel mínimo) -> T4
  • Cable 2 (nivel medio) -> T5
  • Cable 3 (nivel alto) -> T6

Así puedes saber si el recipiente está medio lleno, casi vacío o hasta el tope.


¿Para qué sirve este sensor de agua casero?

  • Detectar si hay agua en un tinaco o cisterna

  • Evitar que una bomba se queme por falta de agua

  • Automatizar un sistema de riego casero

  • Proyectos de ciencia o tecnología con niños o estudiantes

  • Ahorrar dinero usando materiales comunes


Conclusión

Este proyecto es ideal si estás buscando una solución barata y efectiva para detectar agua con un ESP32. No necesitas sensores costosos ni complicaciones electrónicas. Solo un cable, agua y tu creatividad.

Además, te abre la puerta a automatizar tareas caseras con cosas que ya tienes. Fácil de probar, ideal para aprender.


Descarga el programa

Comentarios

Entradas más populares de este blog

Sensor de pulso cardíaco DIY

Hola a todos hoy veremos un circuito por demás interesante, y es que podemos ver nuestro pulso cardiaco con tan sólo un emisor y receptor infrarrojo, claro con su respectiva configuración de amplificadores operacionales y elementos pasivos. El principio de funcionamiento es el siguiente: Se hace pasar luz infrarroja a través de la piel, para ser captada por un receptor del otro lado y posteriormente ser procesada. El lugar idóneo para hacer esto es un dedo de la mano. El circuito es el siguiente: Lista de materiales: B1 = Batería de 3V a 15V (5V si se usa con un microcontrolador) IC1 = TL072/LM358 Q1 = Fototransistor D1 = LED infrarrojo (se puede conseguir en controles de TV viejos) D2 = LED rojo (no es importante el color) R4 = 100 ohms R3, R5 = 10k ohms R2, R6 = 1k ohm R1 = 100k ohms VR1 = Preset 100k ohms C1, C2 = 1uF electrolíticos ...

Dimmer AC por PWM

A la hora de controlar dispositivos de corriente alterna solemos recurrir a los útiles tiristores (SRC o TRIAC) pues con la correcta configuración se puede controlar el ángulo de disparo de éstos con un potenciómetro (de manera manual). Control de potencia por medio del ángulo de disparo (cortesía wikipedia) Desafortunadamente ante la necesidad de automatizar este control de potencia con un microcontrolador se dificulta enormemente la configuración a utilizar puesto que debemos estar al pendiente todo el tiempo del cruce por cero de la corriente alterna (si les interesa el H11AA1 es el indicado para esa tarea) para activar nuestro SCR o TRIAC en el momento adecuado lo que nos impide realizar otras tareas/rutinas como la recepción y envío de datos, control de actuadores o lectura de entradas. Precaución: El siguiente circuito se encuentra conectado directamente a la red eléctrica, el mal manejo de ésta puede provocar heridas graves. Por otro lado tenemos el siguiente circuit...