5.2 KiB
Medir a humidade do solo - Raspberry Pi
Nesta parte da lição, vais adicionar um sensor capacitivo de humidade do solo ao teu Raspberry Pi e ler os valores obtidos.
Hardware
O Raspberry Pi necessita de um sensor capacitivo de humidade do solo.
O sensor que vais utilizar é um Sensor Capacitivo de Humidade do Solo, que mede a humidade do solo ao detetar a capacitância do mesmo, uma propriedade que muda conforme a humidade do solo varia. À medida que a humidade do solo aumenta, a voltagem diminui.
Este é um sensor analógico, por isso utiliza um pino analógico e o ADC de 10 bits no Grove Base Hat do Pi para converter a voltagem num sinal digital entre 1 e 1.023. Este sinal é então enviado via I2C através dos pinos GPIO do Pi.
Ligar o sensor de humidade do solo
O sensor de humidade do solo Grove pode ser ligado ao Raspberry Pi.
Tarefa - ligar o sensor de humidade do solo
Liga o sensor de humidade do solo.
-
Insere uma extremidade de um cabo Grove na entrada do sensor de humidade do solo. Só encaixará de uma forma.
-
Com o Raspberry Pi desligado, liga a outra extremidade do cabo Grove à entrada analógica marcada como A0 no Grove Base Hat ligado ao Pi. Esta entrada é a segunda da direita, na fila de entradas ao lado dos pinos GPIO.
- Insere o sensor de humidade do solo na terra. O sensor tem uma 'linha de posição máxima' - uma linha branca ao longo do sensor. Insere o sensor até essa linha, mas não ultrapasses.
Programar o sensor de humidade do solo
O Raspberry Pi pode agora ser programado para utilizar o sensor de humidade do solo ligado.
Tarefa - programar o sensor de humidade do solo
Programa o dispositivo.
-
Liga o Pi e espera que ele arranque.
-
Abre o VS Code, diretamente no Pi ou através da extensão Remote SSH.
⚠️ Podes consultar as instruções para configurar e abrir o VS Code no nightlight - lição 1, se necessário.
-
No terminal, cria uma nova pasta no diretório home do utilizador
pichamadasoil-moisture-sensor. Cria um ficheiro nesta pasta chamadoapp.py. -
Abre esta pasta no VS Code.
-
Adiciona o seguinte código ao ficheiro
app.pypara importar algumas bibliotecas necessárias:import time from grove.adc import ADCA instrução
import timeimporta o módulotime, que será utilizado mais tarde nesta tarefa.A instrução
from grove.adc import ADCimporta oADCdas bibliotecas Python do Grove. Esta biblioteca contém código para interagir com o conversor analógico-digital no Base Hat do Pi e ler voltagens de sensores analógicos. -
Adiciona o seguinte código abaixo para criar uma instância da classe
ADC:adc = ADC() -
Adiciona um loop infinito que lê este ADC no pino A0 e escreve o resultado na consola. Este loop pode então aguardar 10 segundos entre leituras.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10) -
Executa a aplicação Python. Vais ver as medições de humidade do solo escritas na consola. Adiciona água à terra ou remove o sensor da terra e observa a mudança nos valores.
pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py Soil moisture: 615 Soil moisture: 612 Soil moisture: 498 Soil moisture: 493 Soil moisture: 490 Soil Moisture: 388No exemplo de saída acima, podes ver a voltagem a diminuir à medida que a água é adicionada.
💁 Podes encontrar este código na pasta code/pi.
😀 O programa do sensor de humidade do solo foi um sucesso!
Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, é importante notar que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.


