Nota

Ciao, benvenuto nella Comunità di appassionati di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Immergiti ancora di più nel mondo di Raspberry Pi, Arduino e ESP32 insieme ad altri entusiasti.

Perché unirsi?

  • Supporto esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra comunità e del nostro team.

  • Impara & Condividi: Scambia consigli e tutorial per migliorare le tue competenze.

  • Anteprime esclusive: Ottieni accesso anticipato a nuovi annunci di prodotti e anteprime.

  • Sconti speciali: Goditi sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni festive e giveaway: Partecipa a giveaway e promozioni festive.

👉 Pronto a esplorare e creare con noi? Clicca [qui] e unisciti oggi!

Lezione 02: Modulo di Misurazione dell’Umidità del Suolo

In questa lezione, imparerai a utilizzare il Raspberry Pi Pico W per misurare i livelli di umidità del suolo usando un sensore capacitivo e un ADC (Convertitore Analogico-Digitale). Questo progetto, adatto ai principianti, ti introdurrà alla gestione dei segnali analogici in MicroPython.

Componenti necessari

Per questo progetto, abbiamo bisogno dei seguenti componenti.

È sicuramente conveniente acquistare un kit completo, ecco il link:

Nome

ELEMENTI IN QUESTO KIT

LINK

Kit Sensori Universali per Maker

94

Universal Maker Sensor Kit

Puoi anche acquistarli separatamente dai link sottostanti.

Introduzione ai Componenti

Link per l’acquisto

Raspberry Pi Pico W

ACQUISTA

Capacitive Soil Moisture Module

ACQUISTA

Breadboard

ACQUISTA

Cablaggio

../_images/Lesson_02_Capacitive_Soil_Moisture_Module_bb.png

Codice

from machine import ADC
import time

# Inizializza un oggetto ADC sul pin GPIO 26.
# Questo viene solitamente utilizzato per la lettura di segnali analogici.
sensor_AO = ADC(26)

# Continua a leggere e stampare i dati del sensore.
while True:
    value = sensor_AO.read_u16()  # Leggi e converti il valore analogico in un intero a 16 bit
    print("AO:", value)  # Stampa il valore analogico

    time.sleep_ms(200)  # Attendere 200 millisecondi prima della prossima lettura

Analisi del Codice

  1. Importazione delle Biblioteche:

    from machine import ADC
    import time
    
  2. Configurazione ADC:

    sensor_AO = ADC(26)
    

    Questo codice inizializza un oggetto ADC sul pin GPIO 26. L’ADC viene utilizzato per convertire segnali analogici (da sensori analogici) in dati digitali che il microcontrollore può elaborare.

  3. Lettura dei Dati del Sensore in un Ciclo:

    while True:
        value = sensor_AO.read_u16()
        print("AO:", value)
        time.sleep_ms(200)
    

    Il ciclo while True continua indefinitamente, leggendo costantemente i dati dal sensore. Il metodo read_u16() legge il valore analogico e lo converte in un intero senza segno a 16 bit. L’istruzione print visualizza questo valore. Il time.sleep_ms(200) fa sì che il ciclo attenda 200 millisecondi prima di leggere nuovamente il valore del sensore, evitando letture di dati e output sulla console eccessivi.