Questo forum utilizza i cookies
Questo forum fa uso di cookie per migliorare l'esperienza utente. I cookie sono piccoli file di testo memorizzati sul tuo browser. I cookie impostati dal forum possono essere utilizzati solo su questo sito e non costituiscono rischio per la sicurezza, vengono utilizzati unicamente per memorizzare le tue preferenze. Navigando sul sito accetti che RaspberryItaly installi i cookie sul tuo browser.
Per maggiori informazioni consulta l'informativa sui Cookie di RasberryItaly

Un cookie verra memorizzato nel browser indipendentemente dalla scelta per evitare che questa domanda ti venga posta di nuovo. Sarai in grado di modificare le impostazioni dei cookie in qualsiasi momento utilizzando il link nel footer.
  • Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
ultrasuoni hc sensore raspi 2 e sr04

raspi 2 e sensore ultrasuoni HC-SR04
#1
ciao a tutti, sono alle prese con l'interfacciamento del sensore ultrasuoni HC-SR04 ed ho notato che la misura della distanza rilevata varia da misura a misura a parità di condizioni a contorno.
Ho usato un semplicissimo script python
Codice:
import RPi.GPIO as GPIO
import time

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)

TRIG = 24
ECHO = 4
print "Calibrazione in corso...."
GPIO.cleanup()

GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)

#Impostazione di TRIG a low e attesa di 2sec prima di iniziare la misura
GPIO.output(TRIG, False)
time.sleep(2)

#Invio dell'impulso da 10microsec su TRIG
GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)

# Check dello stato dell'ECHO
while GPIO.input(ECHO)==0:
   pulse_start = time.time()

while GPIO.input(ECHO)==1:
   pulse_end = time.time()

# Calcolo della distanza
pulse_duration = pulse_end - pulse_start
# distanza = (sound speed (343m/sec) * duranta impulso) / 2
distance = pulse_duration * 17150
distance = round(distance, 2)

# Print del risultato
if distance > 2 and distance < 400:
   print "Distanza:",distance,"cm"
else:
   print "Out Of Range"


secondo voi il problema sta nel sensore o nel fatto che il python non è attendibile per quanto riguarda il timing?

grazie


Allegati
.jpg   printscreen.jpg (Dimensione: 69.8 KB / Download: 25)
Risposta
#2
Fai una media delle misurazioni.
Se ti può essere utile, su MagPi 38 c'era uno speciale per la costruzione di un robot economico, che abbiamo tradotto in italiano, in cui viene usato anche un sensore a ultrasuoni, con Python, vedi qui :
http://www.raspberryitaly.com/magpi-in-i...i-con-70e/
Risposta
#3
(30/11/2015, 15:05)Zzed Ha scritto: Fai una media delle misurazioni.
Se ti può essere utile, su MagPi 38 c'era uno speciale per la costruzione di un robot economico, che abbiamo tradotto in italiano, in cui viene usato anche un sensore a ultrasuoni, con Python, vedi qui :
http://www.raspberryitaly.com/magpi-in-i...i-con-70e/
Grazie ho letto l'articolo in originale e proprio da quello ho preso spunto.
Il mio problema peró è che voglio usare il sensore su un quad e quindi mi serve la misura (quasi) in real-time e che sia il più possibile affidabile.
Continuo a testare
Risposta
#4
Metti un tempo di misura più breve, a fai la media
Risposta
#5
beh prima di decidere qual è il tempo della misura vorrei capire se la misura è attendibile, poi deciderò qual è il tempo di misura
Risposta
  


Vai al forum:


Navigazione:
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect