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.
Componenti necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
Kit Raphael |
337 |
Puoi anche acquistarli separatamente dai link qui sotto.
INTRODUZIONE AI COMPONENTI |
LINK DI ACQUISTO |
|---|---|
Schema elettrico
T-Board Name |
physical |
wiringPi |
BCM |
GPIO17 |
Pin 11 |
0 |
17 |
GPIO27 |
Pin 13 |
2 |
27 |
GPIO22 |
Pin 15 |
3 |
22 |
Procedure sperimentali
Passo 1: Costruisci il circuito.
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.