Nota

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

Perché unirti a noi?

  • Supporto esperto: Risolvi i problemi post-vendita e le 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 esclusive.

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

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

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

2.2.4 Modulo Interruttore Reed

Introduzione

In questo progetto, impareremo a conoscere l’interruttore Reed, un interruttore elettrico che funziona tramite l’applicazione di un campo magnetico.

../_images/2.2.4reed_switch.png

Componenti necessari

In questo progetto, abbiamo bisogno dei seguenti componenti.

../_images/2.2.4component.png

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

Nome

ELEMENTI IN QUESTO KIT

LINK

Kit Raphael

337

Raphael Kit

Puoi anche acquistarli separatamente dai link qui sotto.

INTRODUZIONE AI COMPONENTI

LINK DI ACQUISTO

Scheda di estensione GPIO

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Resistore

ACQUISTA

LED

ACQUISTA

Modulo Interruttore Reed

ACQUISTA

Schema elettrico

T-Board Name

physical

wiringPi

BCM

GPIO17

Pin 11

0

17

GPIO27

Pin 13

2

27

GPIO22

Pin 15

3

22

../_images/reed_schematic.png ../_images/reed_schematic2.png

Procedure sperimentali

Passo 1: Costruisci il circuito.

../_images/2.2.4fritzing.png

Passo 2: Vai alla cartella del codice.

cd ~/raphael-kit/nodejs/

Passo 3: Esegui il codice.

sudo node reed_switch_module.js

Il LED verde si accenderà quando il codice viene eseguito. Se un magnete viene avvicinato al modulo interruttore Reed, il LED rosso si accenderà; allontana il magnete e il LED verde si accenderà di nuovo.

Codice

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

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

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

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

Spiegazione del codice

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

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

Importa il modulo pigpio, crea un oggetto ReedPin per controllare la porta IO, imposta la modalità input, il pull down (inizialmente a livello basso) e configura un interrupt.

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

Crea due oggetti led1 e led2 per controllare le porte IO Gpio22 e Gpio27, impostandole in modalità output.

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

Quando l’interrupt viene attivato, scrivi lo stesso livello a led1 e il livello opposto a led2.

Immagine del fenomeno

../_images/2.2.4reed_switch.JPG