Nota

Ciao, benvenuto nella community di SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed 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 suggerimenti e tutorial per migliorare le tue competenze.

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

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

  • Promozioni Festive e Giveaway: Partecipa a concorsi e promozioni festive.

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

2.1.4 Interruttore a Scorrimento

Introduzione

In questo progetto, impareremo a utilizzare un interruttore a scorrimento. Solitamente, l’interruttore a scorrimento è saldato su PCB come interruttore di alimentazione, ma qui lo inseriremo nella breadboard, quindi potrebbe non essere fissato saldamente. Lo useremo sulla breadboard per mostrarne la funzione.

Componenti Necessari

In questo progetto, abbiamo bisogno dei seguenti componenti.

../_images/list_2.1.2_slide_switch.png

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

Nome

COMPONENTI IN QUESTO KIT

LINK

Raphael Kit

337

Raphael Kit

Puoi anche acquistarli separatamente dai link seguenti.

INTRODUZIONE AI COMPONENTI

LINK PER L’ACQUISTO

Scheda di estensione GPIO

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Resistore

ACQUISTA

LED

ACQUISTA

Interruttore a Scorrimento

ACQUISTA

Condensatore

ACQUISTA

Schema Elettrico

Collega il pin centrale dell’interruttore a scorrimento a GPIO17, e due LED ai pin GPIO22 e GPIO27 rispettivamente. Quindi, quando sposti l’interruttore, puoi vedere i due LED accendersi alternativamente.

../_images/image305.png ../_images/image306.png

Procedure Sperimentali

Passo 1: Costruisci il circuito.

../_images/image161.png

Passo 2: Accedi alla cartella del codice.

cd ~/raphael-kit/c/2.1.4

Passo 3: Compila.

gcc 2.1.4_Slider.c -lwiringPi

Passo 4: Esegui il file eseguibile.

sudo ./a.out

Mentre il codice è in esecuzione, collega l’interruttore verso sinistra e il LED giallo si accenderà; verso destra, il LED rosso si accenderà.

Nota

Se non funziona dopo l’esecuzione o viene visualizzato un errore come: "wiringPi.h: No such file or directory", fai riferimento a Installa e Controlla wiringPi.

Codice

#include <wiringPi.h>
#include <stdio.h>
#define slidePin        0
#define led1            3
#define led2            2

int main(void)
{
    // Se l'inizializzazione di wiring fallisce, stampa il messaggio a schermo
    if(wiringPiSetup() == -1){
        printf("setup wiringPi failed !");
        return 1;
    }
    pinMode(slidePin, INPUT);
    pinMode(led1, OUTPUT);
    pinMode(led2, OUTPUT);
    while(1){
        // interruttore a scorrimento alto, led1 acceso
        if(digitalRead(slidePin) == 1){
            digitalWrite(led1, LOW);
            digitalWrite(led2, HIGH);
            printf("LED1 on\n");
        }
        // interruttore a scorrimento basso, led2 acceso
        if(digitalRead(slidePin) == 0){
            digitalWrite(led2, LOW);
            digitalWrite(led1, HIGH);
            printf(".....LED2 on\n");
        }
    }
    return 0;
}

Spiegazione del Codice

if(digitalRead(slidePin) == 1){
            digitalWrite(led1, LOW);
            digitalWrite(led2, HIGH);
            printf("LED1 on\n");
    }

Quando l’interruttore è spostato a destra, il pin centrale e quello destro sono collegati; il Raspberry Pi legge un livello alto sul pin centrale, quindi il LED1 è acceso e il LED2 è spento.

if(digitalRead(slidePin) == 0){
            digitalWrite(led2, LOW);
            digitalWrite(led1, HIGH);
            printf(".....LED2 on\n");
        }

Quando l’interruttore è spostato a sinistra, il pin centrale e quello sinistro sono collegati; il Raspberry Pi legge un livello basso, quindi il LED2 è acceso e il LED1 è spento.

Immagine del Fenomeno

../_images/image162.jpeg