Lampone Pi

Come misurare la distanza con Raspberry Pi

Come misurare la distanza con Raspberry Pi
Puoi misurare la distanza utilizzando il sensore a ultrasuoni HC-SR04 con Raspberry Pi. Il sensore HC-SR04 può misurare la distanza da 2 mm (.02 m) a 400 cm (4 m). Invia 8 raffiche di segnali a 40 KHz e poi aspetta che colpisca un oggetto e venga riflesso indietro. Il tempo impiegato dall'onda sonora ultrasonica a 40 KHz per viaggiare avanti e indietro viene utilizzato per calcolare la distanza tra il sensore e l'oggetto sulla sua strada. Fondamentalmente è così che funziona il sensore HC-SR04.

In questo articolo, ti mostrerò come utilizzare un sensore a ultrasuoni HC-SR04 per misurare la distanza tra il tuo sensore e un oggetto a suo modo utilizzando Raspberry Pi. Iniziamo.

Componenti di cui hai bisogno:

Per misurare correttamente la distanza con il sensore Raspberry Pi e HC-SR04, è necessario,

Ho scritto un articolo dedicato sull'installazione di Raspbian su Raspberry Pi, che puoi controllare su https://linuxhint.com/install_raspbian_raspberry_pi/ se necessario.

Piedinatura HC-SR04:

L'HC-SR04 ha 4 pin. VCC, TRIGGER, ECHO, GROUD.

Fig1: Piedinatura HC-SR04 (https://www.mouser.com/ds/2/813/HCSR04-1022824.PDF)

Il pin VCC deve essere collegato al pin +5V del Raspberry Pi, che è il pin 2. Il pin GROUND deve essere collegato al pin GND del Raspberry Pi, che è il pin 4.

I pin TRIGGER ed ECHO devono essere collegati ai pin GPIO del Raspberry Pi. Mentre il pin TRIGGER può essere collegato direttamente a uno dei pin GPIO del Raspberry Pi, il pin ECHO necessita di un circuito divisore di tensione.

Schema elettrico:

Collega il sensore a ultrasuoni HC-SR04 al tuo Raspberry Pi come segue:

Fig2: sensore a ultrasuoni HC-SR04 collegato a Raspberry Pi.

Una volta che tutto è collegato, ecco come appare:

Fig3: sensore a ultrasuoni HC-SR04 collegato a Raspberry Pi su breadboard.

Fig4: sensore a ultrasuoni HC-SR04 collegato a Raspberry Pi su breadboard.

Scrivere un programma Python per misurare la distanza con HC-SR04:

Innanzitutto, connettiti al tuo Raspberry Pi usando VNC o SSH. Quindi, apri un nuovo file (diciamo distanza.pi) e digitare le seguenti righe di codici:

Qui, la riga 1 importa la libreria GPIO di raspberry pi.

La riga 2 importa la libreria dei tempi.

Dentro il provare blocco, viene scritto il codice effettivo per misurare la distanza utilizzando HC-SR04.

Il finalmente blocco viene utilizzato per ripulire i pin GPIO con GPIO.ripulire() metodo all'uscita del programma.

Dentro il provare blocco, sulla linea 5, GPIO.setmode(GPIO.TAVOLA) è usato per rendere più facile la definizione dei pin. Ora puoi fare riferimento ai pin con i numeri fisici così com'è sulla scheda Raspberry Pi.

Sulla linea 7 e 8, pinTrigger è impostato per 7 e pinEcho è impostato per 11. Il TRIGGER il pin di HC-SR04 è collegato al pin 7, e ECO pin di HC-SR04 è collegato al pin 11 del Rapsberry Pi. Entrambi sono pin GPIO.

In linea 10, pinTrigger è configurato per OUTPUT utilizzando GPIO.impostare() metodo.

Sulla linea 11, pinEcho è configurato per INPUT usando GPIO.impostare() metodo.

Le righe 13-17 sono utilizzate per il ripristino pinTrigger (impostandolo a logico 0) e impostando il pinTrigger alla logica 1 per 10ms e poi alla logica 0. In 10 ms, il sensore HC-SR04 invia 8 impulsi da 40 KHz.

Le linee 19-24 vengono utilizzate per misurare il tempo necessario affinché gli impulsi a 40 KHz vengano riflessi su un oggetto e tornano al sensore HC-SR04.

Sulla riga 25, la distanza viene misurata utilizzando la formula,

Distanza = delta tempo * velocità (340M/S) / 2

=> Distanza = delta tempo * (170M/S)

Ho calcolato la distanza in centimetri invece che in metri, giusto per essere precisi. Anche la distanza calcolata è arrotondata a 2 decimali.

Alla fine, alla riga 27, viene stampato il risultato. Ecco, molto semplice.

Ora, esegui lo script Python con il seguente comando:

$ python3 distanza.pi

Come puoi vedere, la distanza misurata è 8.40 cm.

Fig5: oggetto posto a circa 8.40 cm di distanza dal sensore.

Mi sono spostato sull'oggetto un po' più lontano, la distanza misurata è 21.81 cm. Quindi, funziona come previsto.

Fig6: oggetto posto a circa 21.81 cm di distanza dal sensore.

Ecco come misurare la distanza con Raspberry Pi utilizzando il sensore a ultrasuoni HC-SR04.  Vedi il codice per la distanza.pi sotto:

import RPi.GPIO come GPIO
tempo di importazione
provare:
GPIO.setmode(GPIO.TAVOLA)
pinTrigger = 7
pinEcho = 11
 
GPIO.setup(pinTrigger, GPIO.SU)
GPIO.setup (pinEcho, GPIO.NEL)
 
GPIO.uscita (pinTrigger, GPIO.BASSO)
GPIO.uscita (pinTrigger, GPIO.ALTA)
 
tempo.dormire (0.00001)
GPIO.uscita (pinTrigger, GPIO.BASSO)
 
mentre GPIO.input(pinEcho)==0:
pulseStartTime = tempo.tempo()
mentre GPIO.input(pinEcho)==1:
pulseEndTime = tempo.tempo()
 
pulseDuration = pulseEndTime - pulseStartTime
distanza = round (pulseDuration * 17150, 2)
 
print("Distanza: %.2f cm" % (distanza))
finalmente:
GPIO.ripulire()
I 5 migliori mouse per computer ergonomici per Linux
L'uso prolungato del computer provoca dolore al polso o alle dita?? Soffri di rigidità articolare e devi continuamente stringerti la mano? Senti un do...
Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...
Rimappa i pulsanti del mouse in modo diverso per software diversi con X-Mouse Button Control
Forse hai bisogno di uno strumento che possa cambiare il controllo del tuo mouse con ogni applicazione che utilizzi. In questo caso, puoi provare un'a...