.. note::
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 [|link_sf_facebook|] 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
-------------
.. image:: ../img/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.
.. image:: ../img/image305.png
.. image:: ../img/image306.png
Procedure Sperimentali
--------------------------
**Passo 1:** Costruisci il circuito.
.. image:: ../img/image161.png
**Passo 2**: Vai alla cartella del codice.
.. raw:: html
.. code-block::
cd ~/davinci-kit-for-raspberry-pi/nodejs/
**Passo 3**: Esegui il codice.
.. raw:: html
.. code-block::
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**
.. code-block:: js
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**
.. code-block:: js
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.
.. code-block:: js
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
------------------------
.. image:: ../img/image162.jpeg