waterdetect3  2.1.0.0
Main Page

Water Detect 3 click

Water Detect 3 Click is a compact add-on board that detects water and other electroconductive liquids. This board features the MCP606, a micropower CMOS operational amplifier from Microchip. In the same package, the Water Detect 3 Click comes with a separate PCB with an electroconductive water detection area connected to a Click boardâ„¢ with wires.

click Product page


Click library

  • Author : Stefan Ilic
  • Date : Aug 2023.
  • Type : GPIO type

Software Support

We provide a library for the Water Detect 3 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Library Description

This library contains API for Water Detect 3 Click driver.

Standard key functions :

Example key functions :

Example Description

This example demonstrates the use of the Water Detect 3 Click board by

detecting if water is present on the sensor part of the click.

The demo application is composed of two sections :

Application Init

Initializes the driver and configures hardware for the detection.

void application_init ( void )
{
log_cfg_t log_cfg;
waterdetect3_cfg_t waterdetect3_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
waterdetect3_cfg_setup( &waterdetect3_cfg );
WATERDETECT3_MAP_MIKROBUS( waterdetect3_cfg, MIKROBUS_1 );
if ( DIGITAL_OUT_UNSUPPORTED_PIN == waterdetect3_init( &waterdetect3, &waterdetect3_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
log_printf( &logger, " Turn potentiometer VR1 all the way to the right.\r\n" );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
log_printf( &logger, " Place a few drops of water onto the sensor.\r\n" );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
log_printf( &logger, " Turn potentiometer VR1 to the left until the detect LED turns off.\r\n" );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
Delay_ms ( 1000 );
while ( WATERDETECT3_PIN_STATE_HIGH == waterdetect3_get_int( &waterdetect3 ) );
log_printf( &logger, " Device is ready.\r\n" );
log_info( &logger, " Application Task " );
}

Application Task

Detects if any water is present on the sensor part.

void application_task ( void )
{
{
log_printf( &logger, " Water detected.\r\n" );
Delay_ms ( 1000 );
}
}

The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Other Mikroe Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.WaterDetect3

Additional notes and informations

Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.


application_task
void application_task(void)
Definition: main.c:81
waterdetect3_t
Water Detect 3 Click context object.
Definition: waterdetect3.h:97
WATERDETECT3_PIN_STATE_HIGH
#define WATERDETECT3_PIN_STATE_HIGH
Water Detect 3 description setting.
Definition: waterdetect3.h:67
WATERDETECT3_MAP_MIKROBUS
#define WATERDETECT3_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: waterdetect3.h:86
application_init
void application_init(void)
Definition: main.c:28
waterdetect3_init
err_t waterdetect3_init(waterdetect3_t *ctx, waterdetect3_cfg_t *cfg)
Water Detect 3 initialization function.
waterdetect3_cfg_t
Water Detect 3 Click configuration object.
Definition: waterdetect3.h:107
waterdetect3_cfg_setup
void waterdetect3_cfg_setup(waterdetect3_cfg_t *cfg)
Water Detect 3 configuration object setup function.
waterdetect3_get_int
uint8_t waterdetect3_get_int(waterdetect3_t *ctx)
Water Detect 3 interrupt pin reading function.