Nota

Ciao, benvenuto nella Community di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati.

Perché unirti a noi?

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

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

  • Anteprime Esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e alle anteprime.

  • Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni e Concorsi Festivi: Partecipa a concorsi e promozioni durante le festività.

👉 Pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!

lesson 71: Permettere al Thread di Completare il Compito Prima della Terminazione

Questo tutorial spiega come terminare in modo ordinato un programma multithread sul Raspberry Pi Pico W:

  • Configurazione dei Collegamenti:

    • Collega il filo di controllo del servo al pin GPIO 17, il filo di alimentazione al pin fisico 40 e il filo di massa al pin fisico 38.

    • Collega un pulsante al pin GPIO 16 e alla massa.

  • Implementazione del Codice:

    • Importa le librerie necessarie (machine, time, _thread, Servo).

    • Configura i pin per il pulsante e il servo.

    • Implementa un interruttore a levetta per il pulsante per controllare il movimento del servo.

    • Definisci un ciclo principale per rilevare le pressioni del pulsante e alternare il servo tra 0 e 180 gradi.

    • Utilizza il threading per gestire il movimento del servo su un core separato, consentendo uscite pulite del programma.

  • Gestione della Terminazione Pulita:

    • Utilizza una variabile globale running per controllare l’esecuzione del ciclo.

    • Implementa un blocco (lock) per garantire che solo una parte del programma venga eseguita alla volta durante le sezioni critiche.

    • Attendi che il movimento del servo sia completato prima di terminare il programma.

  • Compito:

    • Modifica il programma per gestire componenti o sensori aggiuntivi, garantendo una terminazione pulita in tutti gli scenari.

Video