You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/pt/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md

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.

Um sensor Grove de humidade do solo

  1. Insere uma extremidade de um cabo Grove na entrada do sensor de humidade do solo. Só encaixará de uma forma.

  2. 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.

O sensor Grove de humidade do solo ligado à entrada A0

  1. 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.

O sensor Grove de humidade do solo na terra

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.

  1. Liga o Pi e espera que ele arranque.

  2. 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.

  3. No terminal, cria uma nova pasta no diretório home do utilizador pi chamada soil-moisture-sensor. Cria um ficheiro nesta pasta chamado app.py.

  4. Abre esta pasta no VS Code.

  5. Adiciona o seguinte código ao ficheiro app.py para importar algumas bibliotecas necessárias:

    import time
    from grove.adc import ADC
    

    A instrução import time importa o módulo time, que será utilizado mais tarde nesta tarefa.

    A instrução from grove.adc import ADC importa o ADC das 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.

  6. Adiciona o seguinte código abaixo para criar uma instância da classe ADC:

    adc = ADC()
    
  7. 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)
    
  8. 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: 388
    

    No 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.