Nota

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

Perché unirti a noi?

  • Supporto Tecnico Esperto: Risolvi i problemi post-vendita e le 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 Festive e Giveaway: Partecipa a giveaway e promozioni durante le festività.

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

2.1.2 Micro Interruttore

Introduzione

In questo progetto, impareremo come utilizzare un Micro Interruttore. Un Micro Interruttore è un piccolo e molto sensibile interruttore che richiede una compressione minima per attivarsi. Poiché sono affidabili e sensibili, i micro interruttori vengono spesso utilizzati come dispositivi di sicurezza.

Sono utilizzati per evitare che le porte si chiudano se qualcosa o qualcuno è di mezzo e in altre applicazioni simili.

Componenti Necessari

Per questo progetto, avremo bisogno dei seguenti componenti.

../_images/2.1.2_micro_switch_list.png

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

Nome

COMPONENTI NEL KIT

LINK

Raphael Kit

337

Raphael Kit

Puoi anche acquistarli separatamente dai link sottostanti.

INTRODUZIONE AI COMPONENTI

LINK D’ACQUISTO

Scheda di estensione GPIO

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Resistore

ACQUISTA

LED

ACQUISTA

Micro Switch

-

Condensatore

ACQUISTA

Schema Elettrico

Collega il pin sinistro del Micro Interruttore al GPIO17 e due LED rispettivamente ai pin GPIO22 e GPIO27. Poi, quando premi e rilasci il braccio mobile del Micro Interruttore, vedrai i due LED accendersi alternativamente.

../_images/2.1.2_micro_switch_schematic_1.png ../_images/2.1.2_micro_switch_schematic_2.png

Procedure Sperimentali

Passo 1: Costruisci il circuito.

../_images/2.1.2_micro_switch_circuit.png

Passo 2: Vai nella cartella del codice.

cd ~/raphael-kit/python-pi5

Passo 3: Esegui.

sudo python3 2.1.2_MicroSwitch_zero.py

Mentre il codice è in esecuzione, premi il braccio mobile, il LED giallo si accenderà; rilascia il braccio mobile, il LED rosso si accenderà.

Avvertimento

Se viene visualizzato l’errore RuntimeError: Cannot determine SOC peripheral base address, fare riferimento a If gpiozero doesn’t work..

Code

Nota

Puoi Modificare/Resettare/Copiare/Eseguire/Fermare il codice qui sotto. Ma prima, devi andare nella directory del codice come raphael-kit/python-pi5. Dopo aver modificato il codice, puoi eseguirlo direttamente per vedere l’effetto.

#!/usr/bin/env python3
from gpiozero import LED, Button  # Importa le classi LED e Button da gpiozero
from time import sleep  # Importa la funzione sleep per i ritardi

# Inizializza il micro interruttore sul pin GPIO 17 con il pull-up disabilitato
micro_switch = Button(17, pull_up=False)
# Inizializza il LED1 collegato al pin GPIO 22
led1 = LED(22)
# Inizializza il LED2 collegato al pin GPIO 27
led2 = LED(27)

try:
    # Controlla continuamente lo stato del micro interruttore e gestisce i LED di conseguenza
    while True:
        if micro_switch.is_pressed:  # Se il micro interruttore è premuto
            print('LED1 ON')  # Stampa un messaggio sulla console
            led1.on()       # Accendi il LED1
            led2.off()      # Spegni il LED2
        else:  # Se il micro interruttore non è premuto
            print('    LED2 ON')  # Stampa un messaggio sulla console
            led1.off()      # Spegni il LED1
            led2.on()       # Accendi il LED2

        sleep(0.5)  # Pausa di 0.5 secondi prima di controllare nuovamente l'interruttore

except KeyboardInterrupt:
    # Gestisci un KeyboardInterrupt (Ctrl+C) per uscire dal ciclo in modo corretto
    pass

Spiegazione del Codice

  1. Questa linea imposta lo script per essere eseguito con Python 3. Importa LED e Button da gpiozero per il controllo dei dispositivi GPIO, e sleep da time per i ritardi.

    #!/usr/bin/env python3
    from gpiozero import LED, Button  # Importa le classi LED e Button da gpiozero
    from time import sleep  # Importa la funzione sleep per i ritardi
    
  2. Inizializza un micro interruttore collegato al pin GPIO 17 con il pull-up disabilitato, e due LED collegati ai pin GPIO 22 e 27.

    # Inizializza il micro interruttore sul pin GPIO 17 con il pull-up disabilitato
    micro_switch = Button(17, pull_up=False)
    # Inizializza il LED1 collegato al pin GPIO 22
    led1 = LED(22)
    # Inizializza il LED2 collegato al pin GPIO 27
    led2 = LED(27)
    
  3. Nel ciclo principale, controlla lo stato del micro interruttore. Se premuto, il LED1 si accende e il LED2 si spegne. Se non premuto, il LED1 si spegne e il LED2 si accende. Il ciclo si ripete ogni 0.5 secondi. Gestisce un KeyboardInterrupt (come Ctrl+C) per permettere una chiusura corretta dello script.

    try:
        # Controlla continuamente lo stato del micro interruttore e gestisce i LED di conseguenza
        while True:
            if micro_switch.is_pressed:  # Se il micro interruttore è premuto
                print('LED1 ON')  # Stampa un messaggio sulla console
                led1.on()       # Accendi il LED1
                led2.off()      # Spegni il LED2
            else:  # Se il micro interruttore non è premuto
                print('    LED2 ON')  # Stampa un messaggio sulla console
                led1.off()      # Spegni il LED1
                led2.on()       # Accendi il LED2
    
            sleep(0.5)  # Pausa di 0.5 secondi prima di controllare nuovamente l'interruttore
    
    except KeyboardInterrupt:
        # Gestisci un KeyboardInterrupt (Ctrl+C) per uscire dal ciclo in modo corretto
        pass