Nota

Ciao, benvenuto nella SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 con altri appassionati.

Perché Unirsi?

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

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

  • Anteprime Esclusive: Accedi in anteprima agli annunci dei nuovi prodotti.

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

  • Promozioni Festive e Omaggi: Partecipa a omaggi e promozioni speciali per le festività.

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

2.1.2 Interruttore a Scorrimento

Introduzione

In questo progetto, impareremo come utilizzare un interruttore a scorrimento. Di solito, l’interruttore a scorrimento è saldato su un PCB come interruttore di alimentazione; qui, invece, lo inseriremo in una breadboard per mostrare il suo funzionamento.

Componenti

../_images/list_2.1.2_slide_switch.png

Schema a Blocchi

Collega il pin centrale dell’interruttore a scorrimento a GPIO17 e due LED ai pin GPIO22 e GPIO27, rispettivamente. Spostando l’interruttore, vedrai accendersi i due LED alternativamente.

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

Procedure Sperimentali

Passo 1: Costruisci il circuito.

../_images/image161.png

Passo 2: Vai alla cartella del codice.

cd ~/davinci-kit-for-raspberry-pi/nodejs/

Passo 3: Esegui il codice.

sudo node slide_switch.js

Durante l’esecuzione del codice, sposta l’interruttore verso sinistra: il LED giallo si accenderà; spostalo verso destra, e si accenderà la luce rossa.

Codice

const Gpio = require('pigpio').Gpio;

const led1 = new Gpio(22, {mode: Gpio.OUTPUT});
const led2 = new Gpio(27, {mode: Gpio.OUTPUT});

const slideSwitch = new Gpio(17, {
    mode: Gpio.INPUT,
    pullUpDown: Gpio.PUD_DOWN,
    edge: Gpio.EITHER_EDGE
});

slideSwitch.on('interrupt', (level) => {
    led1.digitalWrite(level);
    led2.digitalWrite(!level);
});

Spiegazione del Codice

const Gpio = require('pigpio').Gpio;

const led1 = new Gpio(22, {mode: Gpio.OUTPUT});
const led2 = new Gpio(27, {mode: Gpio.OUTPUT});

const slideSwitch = new Gpio(17, {
    mode: Gpio.INPUT,
    pullUpDown: Gpio.PUD_DOWN,
    edge: Gpio.EITHER_EDGE
});

Importa il modulo pigpio e crea tre oggetti: led1, led2, e slideSwitch, per controllare l’accensione e lo spegnimento di led1 e led2 in base al livello del pin dell’interruttore a scorrimento.

slideSwitch.on('interrupt', (level) => {
    led1.digitalWrite(level);
    led2.digitalWrite(!level);
});

Quando cambia il livello del pin dell’interruttore, lo stesso livello viene scritto su led1 e il livello opposto su led2.

Immagine del Fenomeno

../_images/image162.jpeg