Introducción
El módulo Higrow es un módulo de control de humedad y temperatura para
plantas que por su bajo costo y alta integración puede ser muy útil.
El problema de este módulo es que su documentación deja mucho que desear, y
que además tiene algunos defectos de integración. Pero , con un poco de paciencia
se le puede sacar mucho partido.
Como no hay documentación ni páginas que den acceso sencillo a este módulo
para sacarle más partido, he decidido realizar esta entrada en el blog.
Se le puede conseguir por poco dinero, y da una funcionalidad perfecta para
integrar el control de riego del jardín en un solo módulo.
Una de las mejores características es integrar el cargador y el soporte de
una batería li-ion, por lo que añadiéndole un panel solar nos permitirá tener
un equipo totalmente autónomo que
podremos además conectar a un SIM800L o a un router 3G mediante wifi para
comunicar con un sistema central.
Specificaciones
Chipset
|
ESPRESSIF-ESP32 240 MHz Xtensa®-/dual-core de 32-bit LX6 Microprocesador
|
FLASH
|
QSPI/flash/SRAM hasta 4x16, 4x18 MB
|
SRAM
|
SRAM de 520 kB
|
Clave
|
Bota y restablecer
|
Interruptor
|
Sistema de interruptor de potencia
|
Indicador de potencia de la lámpara
|
Rojo
|
USB a TTL
|
CP2102
|
Interfaz modular
|
Tarjeta SD 、 UART 、 SPI 、 SDIO 、 LED PWM 、 TV PWM 、 I2S 、 I2C 、 IRGPIO 、 sensor táctil 、 ADC 、 DACLNA de amplificador-
|
-Chip sensor
|
Sensor Hall 、 sensor de humedad de
temperatura
|
En-reloj
|
40 MHz oscilador de cristal
|
Tensión de trabajo
|
2,3 V-3,6 V
|
Corriente de trabajo
|
De 130mA
|
Rango de temperatura de trabajo
|
-40℃ ~ + 85℃
|
Medio ambiente Rango de temperatura
|
Temperatura normal.
|
Tamaño
|
193mm * 29,5mm * 10,65mm
|
Fuente de alimentación de las especificaciones
|
|
Fuente de alimentación
|
USB 5 V/1A
|
Fuente de alimentación
|
18650 batería
|
WIFI
|
Descripción
|
Estándar
|
FCC/CE TELEC/KCC/SRRC/NCC
|
Protocolo
|
802,11 b/g/n/e/(802.11n acelerar to150Mbps) a-MPDU y A-MSDU
polimerización, admite Intervalo de protección de 0,4 μS
|
Rango de frecuencia de
|
2,4 GHz ~ 2,5 GHz (2400 M ~ 2483,5 M)
|
Potencia de transmisión
|
22dBm
|
Distancia de comunicación
|
300 m
|
Bluetooth
|
Descripción
|
Protocolo
|
Cumple con bluetooth v4.2BR/EDR y BLE estándar
|
Frecuencia de radio
|
Con-98dBm sensibilidad NZIF receptor clase-1, clase-2 y emisor de clase-3
AFH
|
Frecuencia de audio
|
CVSD y SBC de frecuencia de audio
|
Software de especificación
|
Descripción
|
Wifi
|
Estación/SoftAP + estación/P2P
|
Mecanismo de seguridad
|
WPA/WPA2/WPA2-Enterprise/WPS
|
Tipo de cifrado
|
AES/RSA/ECC/SHA
|
Actualización del firmware
|
Descarga UART/OTA (a través de red/host para descargar y escribir
firmware)
|
Desarrollo de Software
|
Admite el desarrollo del servidor de nube/SDK para el desarrollo del
firmware del usuario
|
Protocolo de red
|
IPv4 、 IPv6 、 SSL 、 TCP/UDP/HTTP/FTP/MQTT
|
Configuración de usuario
|
En + set de instrucciones, servidor de nube, android/iOSapp
|
OS
|
FreeRTOS
|
Lleva incorporado un DH11 para medir humedad y temperatura ambiente y un
clon del soil
moisture sensor en su parte inferior para controlar la humedad
del suelo.
Además, lleva los del ESP32 accesibles, por lo
que es fácil ampliar mediante una tarjeta las funciones, tales como lectura de
caudalímetros, sensores de presión, y el control de vávulas motorizadas para el
riego.
Tutorial
Requirements
- Hardware
- Un módulo
HiGrow
- Jumper
Cable x1
- Software
- Arduino
IDE Click to Download Arduino IDE
Pines preconectados
De todos
los pines del ESP32 algunos ya están conectados y usados para elementos
incorporados en la placa. Estos son el DHT11, el Sensor de humedad y el led
Azul.
//Definición
Pines HiGrow
#define
LED_BUILTIN 16
#define
DHTPIN 22
#define
Humity 32
Sensor de humedad
Esquema
Este es el esquema del soil
moisture sensor, por lo que el conector representado no existe, y la señal
de salda va directamente conectada al pin 32 del ESP32.
Programación
Para programar el módulo se puede seleccionar como
tarjeta en Arduino NodeMCU-32s, y para que se pueda volcar el programa se
deberá realizar un puente entre el pin 0 y masa antes de conectar la tarjeta al
usb. Una vez puesto el puente y conectado al usb, se podrá volcar el código.
Cuando
acabe la descarga se soltará del usb y se soltará el puente.
Código de calibración
Para calibra el sensor, basta colocar este
código en Arduino y volcarlo al Higrow.
En el monitor serie, a 115200 baud, aparecerá
la medida y el estado según los valores límites que prefijemos. Para obtener
los valores límites basta ver el valor en seco, y el valor sumergiendo el
sensor en agua.
Luego se substituirán en el código por los
valores aire y agua.
#define
HUMITY_PIN 32
const
int AirValue = 3250; //you need to
replace this value with Value_1
const
int WaterValue = 1500; //you need to
replace this value with Value_2
int
intervals = (AirValue - WaterValue)/3;
int
Value = 0;
void
setup() {
Serial.begin(115200); // open serial port,
set the baud rate to 9600 bps
}
void
loop() {
Value
= analogRead(HUMITY_PIN); //put Sensor
insert into soil
Serial.println(Value);
if(Value
> WaterValue && Value < (WaterValue + intervals))
{
Serial.println("Very Wet");
}
else
if(Value > (WaterValue + intervals) && Value < (AirValue -
intervals))
{
Serial.println("Wet");
}
else
if(Value < AirValue && Value > (AirValue - intervals))
{
Serial.println("Dry");
}
delay(100);
}
Conclusión
Dado que el DHT11
se controla con un código estándar, una vez conocido su pin, no hace falta
añadir ahora el ejemplo.
Con esto ya
estamos listos para programar el módulo con nuestro código, y añadir la placa
especial para el control del resto de los elementos.
En las siguientes
entradas , realizaré con este módulo un control integral de riego, para ello,
realizaré una tarjeta de interface para montar en el HiGrow, desde la que podré
medir la presión del agua de red, leer el caudal mediante un caudalímetro de
efecto hall de bajo coste, y accionar el riego mediante una válvula motorizada
de bajo coste.
Estos elementos junto
con los sensores de humedad y ambiente, me permitirán realizar un control total
del riego,:
- Controlar la presión que enviamos al sistema de goteo, cerrando la válvula de salida parcialmente evitando roturas por excesiva presión de la red.
- Controlar el riego mediante caudal, pudiendo detener el riego no por tiempo, sino por m3 de agua enviados.
- Hacer el riego solo si la humedad es poca, e incluso variar la cantidad de agua enviada, según la humedad del momento y la temperatura ambiente.
- Incluso podremos regar en horas sin sol, y fuera de heladas, combinando la temperatura, la humedad y la tensión dada por el panel solar, como sensor de iluminación.
- Comunicarnos mediante Telegram, para conocer los valores límite y variar los valores de control.