Saudações a todos os leitores de Habr! Hoje, quero compartilhar com você meu novo projeto - um sensor de umidade do solo sem fio, construído com base no conhecido módulo de umidade do solo com aliexpress. O novo sensor é uma continuação lógica do meu primeiro projeto de bricolage sobre este tópico. Mas na nova implementação, esse não é mais um módulo do arduino, mas um dispositivo completo com seu próprio gabinete. Então, mingau do machado, parte dois! :)
O módulo chinês de medição de umidade do solo é construído em um timer 555. O método de medição é capacitivo. Para o meu projeto, eu precisava de uma versão do módulo com o regulador de tensão XC6206P332 instalado em 3.3V, que no futuro terá que ser removido da placa do módulo. O fato é que nessas versões usamos uma modificação do temporizador TLC555 com um limiar mais baixo para a fonte de alimentação de 2V. Nas versões sem estabilizador, os temporizadores NE555 são usados com um limiar de potência mais baixo de 5V. Mas, em qualquer caso, o que é mais fácil comprar para repetir esse projeto é o negócio de um repetidor. Na primeira opção, soldamos o regulador de tensão; na segunda, alteramos o temporizador, por exemplo, para um assim - LMC555 ( datasheet)) trabalhando mesmo a partir de 1.5V. Para o módulo sem fio do sensor de umidade do solo chinês, escolhi um módulo de rádio da EBYTE E73C no qual o chip nRF52840 está instalado. O argumento foi o preço do módulo e a quantidade disponível desses módulos em minhas reservas.
O módulo sem fio acabou sendo muito simples, LED RGB, alguns botões, um transistor de efeito de campo, uma bateria. Até a solda iniciante mais inexperiente pode montar esse dispositivo. No sensor de umidade, além de remover o estabilizador de tensão, também é necessário dessoldar o conector e soldar o plugue macho 3P em seu lugar, etapa 2,54 mm.As dimensões da placa foram um pouco menores do que no primeiro projeto - 42x29mm, determinadas pelo tamanho do suporte da bateria.
O estojo foi impresso na minha impressora SLA ANYCUBIC doméstica. O tempo de impressão de peças é da ordem de algumas horas. O pós-processamento subsequente levou cerca de meia hora. O custo da resina polimérica gasta é de ~ 100r.Consumo no modo de suspensão - 4,7mA, no modo de transmissão 8mA. O intervalo de medição é variável, passo 1 minuto. Tempo de medição 50ms (5 medições no programa de teste), consumo durante a medição ~ 1 mA. Também mede a temperatura do chip, mede o nível da bateria. Transferência de dados para o controlador UD através da rede Mysensors, transferência de dados para o controlador UD através da rede Zigbee.O código dos programas de teste está no meu Github.Exemplo de trabalho na rede Mysensors e no Mazhordomo UD
Exemplo de trabalho na rede ZigBee e no Mazhordomo UD
O código de configuração do conversor no módulo zigbee2mqtt para o sensor de umidade (ainda não tenho certeza de que esta é a solução certa).{
zigbeeModel: ['nrf52840.ru_PWS'],
model: 'nrf52840.ru_PWS',
vendor: 'nrf52840.ru',
description: 'Plant watering sensor',
supports: 'humidity',
fromZigbee: [fz.humidity2, fz.battery_PWS],
toZigbee: [],
meta: {configureKey: 1},
configure: async (device, coordinatorEndpoint) => {
const endpoint = device.getEndpoint(10);
await bind(endpoint, coordinatorEndpoint, ['msRelativeHumidity', 'genPowerCfg']);
await configureReporting.humidity(endpoint);
await configureReporting.batteryVoltage(endpoint);
},
},
O firmware do teste foi escrito por um dos participantes da nossa comunidade de bricolage - Lenz, aqui está o seu GIthub .O custo dos componentes que precisaram ser adicionados ao medidor de umidade chinês foi de cerca de 400 a 500 rublos. Na minha opinião, não é nada mau.Vídeo de operação do sensorPlanos adicionais para este projeto. Gostaria de substituir o MK por algo mais simples, por exemplo, com nRF52810 ou nRF52811, mas tudo dependerá do preço, provavelmente você terá que abandonar os módulos de rádio e apenas fazê-lo em um chip. Talvez eu pense em adicionar uma campainha, é muito provável que seja o estabilizador de energia, já que agora você precisa levar em consideração a tensão de alimentação ao medir. Coloque a versão Zigbee em um estado estável, faça a versão BLE, faça um aplicativo de exibição móvel. Em geral, definitivamente haverá algo mais.Github deste projeto .Se você estiver interessado neste projeto, proponho ir ao grupo de telegrama, sempre haverá assistência no domínio dos protocolos Maysensors, Zigbee, BLE no nRF5, eles ajudarão a dominar a programação do nRF52 no Arduino IDE e não apenas nele.Chat no carrinho - @DIY Devices.Chat no carrinho - @MySensors .