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.6 Modulo Sensore di Velocità

Introduzione

In questo progetto, impareremo a utilizzare il modulo sensore di velocità. Un modulo sensore di velocità è un tipo di tachimetro utilizzato per misurare la velocità di un oggetto rotante, come un motore.

Componenti necessari

In questo progetto, abbiamo bisogno dei seguenti componenti.

../_images/2.2.6component.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 Sensore di Velocità

-

Schema elettrico

../_images/2.2.6circuit.png

Procedure sperimentali

Passo 1: Costruisci il circuito.

../_images/2.2.6fritzing.png

Passo 2: Vai alla cartella del codice.

cd ~/raphael-kit/nodejs/

Passo 3: Esegui il codice.

sudo node speed_sensor_module.js

Dopo l’esecuzione del codice, il LED verde si accenderà. Se inserisci un ostacolo nel sensore di velocità, verrà stampato sullo schermo «light blocked» e si accenderà il LED rosso. Rimuovi l’ostacolo e il LED verde si riaccenderà.

Codice

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

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

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

speedPin.on('interrupt', (level) => {
    if (level) {
        console.log("Light was blocked");
    }
    Rpin.digitalWrite(level);
    Gpin.digitalWrite(!level);
});

process.on('SIGINT', function () {
    Rpin.digitalWrite(0);
    Gpin.digitalWrite(0);
    process.exit();
});

Spiegazione del codice

Il codice di questo esempio è quasi identico a 2.1.5 Interruttore a Inclinazione, quindi non è necessario ripeterlo.

Immagine del fenomeno

../_images/2.2.6photo_interrrupter.JPG