En esta lección, aprenderá a usar un módulo de sensor de detección de nivel de agua. Este módulo puede percibir la profundidad del agua y el componente central es un circuito amplificador que se compone de un transistor y varias rutas de PCB pectinadas. Cuando se colocan en el agua, estas rutas presentarán una resistencia que puede cambiar junto con el cambio de la profundidad del agua. Después, la señal de la profundidad del agua se convierte en señal eléctrica y podemos conocer el cambio de la profundidad del agua a través de la función ADC de UNO R3.
Imagen | Descripción |
---|---|
![]() |
Arduino Uno o equivalente. |
![]() |
Cables de conexión |
![]() |
Módulo sensor de detección de agua |
Este bloque está diseñado para la detección de agua, y puede ser ampliamente utilizado para detectar la lluvia, el nivel del agua e incluso la fuga de líquido. El bloque se compone principalmente de tres partes: un conector de bloque electrónica, una resistencia de 1 MΩ y varias líneas de conductores desnudos.
Este sensor tiene una serie de pistas expuestas conectadas a tierra, y alternadas entre las líneas de tierra están las pistas sensibles.
Las líneas del sensor tienen una resistencia pull-up de 1 MΩ. Esta resistencia pondrá el valor de la salida del sensor a HIGH hasta que el agua haga cortocircuito la pista del sensor con la pista conectada a tierra. Lo crea o no, este circuito funcionará con los pines de E/S digital de su placa UNO R3 o puede usarlo con los pines analógicos para detectar la cantidad de contacto inducido por agua entre las líneas del sensor y la conexión a tierra.
Tiene bajo consumo de energía y alta sensibilidad.
/*
* Proyecto nº: ARD036
* Fecha: 07/02/2022
* Descripción: Prueba del sensor detector de agua
* Nota:
*
*/
int adc_id = 0;
int HistoryValue = 0;
char printBuffer[128];
void setup()
{
Serial.begin(9600);
}
void loop()
{
int value = analogRead(adc_id);
if(((HistoryValue >= value) && ((HistoryValue - value) > 10)) || ((HistoryValue < value) && ((value - HistoryValue) > 10)))
{
sprintf(printBuffer,"ADC%d level is %d\n",adc_id, value);
Serial.print(printBuffer);
HistoryValue = value;
}
}