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.5 Sensore IR per l’Evitamento degli Ostacoli

Introduzione

In questo progetto, impareremo a conoscere il modulo sensore IR per l’evitamento degli ostacoli. Questo modulo sensore può essere utilizzato per rilevare ostacoli a brevi distanze, con bassa interferenza, facile da assemblare e da utilizzare. Può essere ampiamente impiegato in robot per evitare ostacoli, carrelli con evitamento ostacoli, conteggio su linee di assemblaggio, e molto altro.

../_images/2.2.5IR_Obstacle1.png

Componenti necessari

In questo progetto, abbiamo bisogno dei seguenti componenti.

../_images/2.2.5component.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

Modulo di evitamento ostacoli

ACQUISTA

Schema elettrico

../_images/IR_schematic.png

Procedure sperimentali

Passo 1: Costruisci il circuito

../_images/2.2.5fritzing.png

Passo 2: Vai alla cartella del codice.

cd ~/raphael-kit/nodejs/

Passo 3: Esegui il codice.

sudo node ir_obstacle.js

Dopo l’esecuzione del codice, quando metti la mano davanti alla sonda del modulo, l’indicatore di uscita sul modulo si accende e «Detected Barrier!» verrà stampato ripetutamente sullo schermo fino a quando non rimuovi la mano.

Codice

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

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

ir_ob.on('interrupt', () => {
   console.log('Detected Barrier!');
});

Spiegazione del codice

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

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

Importa il modulo pigpio, crea un oggetto per controllare la porta IO Gpio17, impostala in modalità input e configura un interrupt su bordo discendente.

ir_ob.on('interrupt', () => {
   console.log('Detected Barrier!');
});

Quando viene attivato un interrupt, ovvero viene rilevato un ostacolo, stampa «Detected Barrier!».

Immagine del fenomeno

../_images/2.2.5IR.JPG