.. note:: Ciao, benvenuto nella Community SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati. **Perché Unirsi a Noi?** - **Supporto Esperto**: Risolvi problemi post-vendita e sfide tecniche con l'aiuto della nostra community e del nostro team. - **Impara e Condividi**: Scambia suggerimenti e tutorial per migliorare le tue competenze. - **Anteprime Esclusive**: Accedi in anteprima agli annunci di nuovi prodotti e alle anticipazioni esclusive. - **Sconti Speciali**: Approfitta di sconti esclusivi sui nostri prodotti più recenti. - **Promozioni Festive e Giveaway**: Partecipa a giveaway e promozioni festive. 👉 Sei pronto a esplorare e creare con noi? Clicca su [|link_sf_facebook|] e unisciti oggi stesso! .. _per_water_tank: 2.6 Serbatoio d'Acqua Intelligente ====================================== In questo progetto, utilizziamo un modulo sensore di livello dell'acqua e un servo per simulare un serbatoio d'acqua intelligente. Il sensore di livello dell'acqua è fissato all'interno del serbatoio per misurare il livello dell'acqua e, quando il livello è al di sotto di una soglia, la valvola controllata dal servo si apre per consentire l'ingresso dell'acqua. **Componenti Necessari** In questo progetto, abbiamo bisogno dei seguenti componenti. È sicuramente conveniente acquistare un kit completo, ecco il link: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nome - ELEMENTI IN QUESTO KIT - LINK * - Kepler Kit - 450+ - |link_kepler_kit| Puoi anche acquistarli separatamente dai link qui sotto. .. list-table:: :widths: 5 20 5 20 :header-rows: 1 * - SN - COMPONENTE - QUANTITÀ - LINK * - 1 - :ref:`cpn_pico_w` - 1 - |link_picow_buy| * - 2 - Cavo Micro USB - 1 - * - 3 - :ref:`cpn_breadboard` - 1 - |link_breadboard_buy| * - 4 - :ref:`cpn_wire` - Diversi - |link_wires_buy| * - 5 - :ref:`cpn_servo` - 1 - |link_servo_buy| * - 6 - :ref:`cpn_water_level` - 1 - **Cablaggio** |pin_adc| Il Pico W ha tre pin GPIO che possono utilizzare l'ingresso analogico: GP26, GP27, GP28, ovvero i canali analogici 0, 1 e 2. Inoltre, esiste un quarto canale analogico, collegato al sensore di temperatura integrato, che non verrà introdotto qui. |water_tank0| * Il pin S del sensore di livello dell'acqua è collegato a GP26 (A0), il pin + a VBUS e il pin - a GND. * Il filo arancione (segnale) del servo è collegato a GP15, il filo rosso (alimentazione) è collegato a VBUS e il filo marrone (terra) è collegato a GND. **Codice** .. note:: * Puoi fare riferimento all'immagine sottostante per scrivere il codice trascinando e rilasciando i blocchi. * Importa ``2.6_water_tank.png`` dal percorso ``kepler-kit-main\piper``. Per tutorial dettagliati, fai riferimento a :ref:`import_code_piper`. |water_tank| Dopo aver collegato Pico W, fai clic sul pulsante **Start** e il codice inizierà a funzionare. Quando il livello dell'acqua è inferiore a 1/3 del sensore di livello dell'acqua, il servo ruota a 180 gradi per simulare l'apertura dell'ingresso; quando il livello dell'acqua è superiore a 1/3 del sensore di livello dell'acqua, il servo ruota a 0 gradi per imitare la chiusura dell'ingresso. **Come Funziona?** |water_tank1| Imposta la velocità di rotazione del pin15 (servo) al 15%. * [servo pin() set speed to ()%]: Utilizzato per impostare la velocità di rotazione del servo, l'intervallo è 0%~100%. |water_tank2| Legge il valore del pin A0 e lo memorizza nella variabile [water_level]. * [set (water_level) to]: Utilizzato per impostare il valore della variabile, è necessario creare la variabile dal menu **Variables**. * [read voltage from pin ()]: Utilizzato per leggere la tensione dei pin analogici (A0~A2), l'intervallo è 0 ~ 3.3V. |water_tank3| Imposta la soglia di tensione su 1. Quando la tensione del sensore di livello dell'acqua è inferiore a 1, lascia che il servo ruoti alla posizione di 180°, altrimenti ruota alla posizione di 0°. * [servo pin () set angle to ()]: Imposta l'angolo del pin del servo, l'intervallo è 0 ~ 180°.