Safe Sprinkler
Master/slave irrigation system (ESP-NOW + LoRaWAN)
Loading...
Searching...
No Matches
soil_sensor.h
Go to the documentation of this file.
1#ifndef SOIL_SENSOR_H
2#define SOIL_SENSOR_H
3
4#include "driver/gpio.h"
5#include "esp_err.h"
6#include "general/adc.h"
7
8#define SOIL_CALIB_DRY_MV 2700 // air
9#define SOIL_CALIB_WET_MV 1100 // water
10#define ADC_SAMPLE_NUM 10 // set higher lower depending on prio (current draw vs smooth values)
11
12typedef struct
13{
14 adc_channel_t channel_pin;
15 gpio_num_t power_pin;
16 uint8_t percentage; // output goes here
17
18 adc_sensor _adc; // set by init
20
29esp_err_t soil_sensor_init(soil_sensor* sensor);
30
39esp_err_t soil_sensor_read(soil_sensor* sensor);
40
41#endif
int soil_sensor_read(soil_sensor *sensor)
Read soil moisture percentage.
int soil_sensor_init(soil_sensor *sensor)
Initialize the soil moisture sensor.
Definition adc.h:12
Definition soil_sensor.h:13
adc_sensor _adc
Definition soil_sensor.h:18
int power_pin
Definition soil_sensor.h:15
uint8_t percentage
Definition soil_sensor.h:16
int channel_pin
Definition soil_sensor.h:14