Nota

Ciao, benvenuto nella community SunFounder dedicata agli appassionati di Raspberry Pi, Arduino ed ESP32 su Facebook! Approfondisci il mondo di Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché unirsi?

  • Supporto esperto: Risolvi problemi post-vendita e affronta sfide tecniche grazie all’aiuto della nostra community e del nostro team.

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

  • Anteprime esclusive: Ottieni l’accesso anticipato alle novità sui prodotti e agli sneak peek.

  • Sconti speciali: Approfitta di sconti esclusivi sui nostri ultimi prodotti.

  • Promozioni festive e giveaway: Partecipa a concorsi e promozioni durante le festività.

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

Lezione 30: Modulo Relè

In questa lezione imparerai a controllare un modulo relè utilizzando il Raspberry Pi Pico W. Imposteremo un circuito base collegando il relè al Pico e scriveremo uno script in MicroPython per accenderlo e spegnerlo ad intervalli di un secondo. Questo progetto ti introdurrà al controllo di dispositivi esterni come i relè e ti mostrerà operazioni di output pratiche utilizzando i pin GPIO del Raspberry Pi Pico W. Perfetta per chi è interessato alla domotica o al controllo di dispositivi ad alta potenza, questa lezione offre una comprensione essenziale di come i microcontrollori possano interagire e controllare hardware esterni.

Componenti Necessari

In questo progetto avremo bisogno dei seguenti componenti.

È sicuramente comodo acquistare un kit completo. Ecco il link:

Nome

COMPONENTI INCLUSI NEL KIT

LINK

Universal Maker Sensor Kit

94

Universal Maker Sensor Kit

Puoi anche acquistare i componenti singolarmente dai link sottostanti.

Descrizione del Componente

Link per l’acquisto

Raspberry Pi Pico W

ACQUISTA

Modulo Relè 5V

-

Modulo LED RGB

-

Breadboard

ACQUISTA

Collegamenti

../_images/Lesson_30_Relay_Module_pico_bb.png

Codice

from machine import Pin
import time

# Sostituisci questo numero con il pin GPIO a cui è collegato il relè
relay_pin = Pin(16, Pin.OUT)

def relay_on():
    relay_pin.value(1)  # Attiva il relè

def relay_off():
    relay_pin.value(0)  # Disattiva il relè

try:
    while True:
        relay_on()
        print("on....")
        time.sleep(1)  # Attendi 1 secondo
        relay_off()
        print("off....")
        time.sleep(1)  # Attendi 1 secondo
except:
    relay_off()  # Assicurati che il relè sia spento in caso di eccezione
    print("Program interrupted, relay turned off.")

Analisi del Codice

  1. Importazione delle librerie

    Le librerie machine e time vengono importate per interagire con i pin GPIO e gestire le funzioni temporali.

    from machine import Pin
    import time
    
  2. Inizializzazione del Pin del Relè

    Un pin GPIO è configurato come output per controllare il relè. La variabile relay_pin rappresenta il pin GPIO collegato al relè.

    relay_pin = Pin(16, Pin.OUT)
    
  3. Definizione delle Funzioni di Controllo del Relè

    Due funzioni, relay_on e relay_off, sono definite per accendere e spegnere il relè. Queste modificano il valore del pin GPIO a 1 (alto) o 0 (basso).

    def relay_on():
        relay_pin.value(1)  # Set relay to ON state
    
    def relay_off():
        relay_pin.value(0)  # Set relay to OFF state
    
  4. Ciclo Principale e Gestione delle Eccezioni

    Un ciclo while True viene utilizzato per far funzionare continuamente il codice. All’interno del ciclo, il relè viene acceso e spento con una pausa di 1 secondo tra ogni stato. In caso di interruzione (come Ctrl+C), il relè viene spento per sicurezza e viene mostrato un messaggio.

    try:
        while True:
            relay_on()
            print("on....")
            time.sleep(1)  # Wait for 1 second
            relay_off()
            print("off....")
            time.sleep(1)  # Wait for 1 second
    except:
        relay_off()
        print("Program interrupted, relay turned off.")