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
hc pi raspberry zero sr04 w

HC-SR04 raspberry pi zero w
#6
Alla fine sono riuscito a far funzionare tutto, sembrerebbe che la nuova libreria da te consigliata non funzioni sul mio raspi.

Adesso il mio codice fa una serie di misure e restituisce il valor medio, il problema è che talvolta fa una falsa misura.
Ad esempio su 10 misure è possibile che 1 o 2 al massimo siano falsate.

Vorrei fare in modo che date le 10 misure lui scarti quelle che si discostano entro un certo range dalle altre e faccia la media solo tra quelle corrette. Qualche consiglio su come potrei fare?

questo è il pezzo di codice incriminato:

Codice:
# Importazione librerie Python
from __future__ import print_function
import time
import RPi.GPIO as GPIO

# Referenze BCM GPIO anziche i numeri fisici dei pin.
GPIO.setmode(GPIO.BCM)

# Definizione dei  GPIO.
GPIO_TRIGGER = 18
GPIO_ECHO    = 17

# Velocita  del suono in cm/s con temperatura
temperature = 20
speedSound = 33100 + (0.6*temperature)

# Impostazione pin output e input
GPIO.setup(GPIO_TRIGGER,GPIO.OUT)  # Trigger
GPIO.setup(GPIO_ECHO,GPIO.IN)      # Echo
tot = 0          #inizializzazione somma delle misurazioni
for x in range(1):
# Set trigger to False (Low)
   GPIO.output(GPIO_TRIGGER, False)

# Attendi la stabilizzazione del sensore
   time.sleep(0.5)

# Invia un impulso di 10us al trigger
   GPIO.output(GPIO_TRIGGER, True)
# Aspetta 10us
   time.sleep(0.00001)
   GPIO.output(GPIO_TRIGGER, False)
   start = time.time()

   while GPIO.input(GPIO_ECHO)==0:
     start = time.time()

   while GPIO.input(GPIO_ECHO)==1:
     stop = time.time()

# Lunghezza impulso
   elapsed = stop-start

# La distanza percorsa dall'impulso va moltiplicata
# per la velopcita del suono(cm/s)
   distance = elapsed * speedSound

# Distanza effettiva(one-way)
   distance = distance / 2
   
   tot=tot+distance
   print(distance)
distance=tot/1
print("Distanza : {0:5.1f}".format(distance),"cm")

# Reset GPIO settings
GPIO.cleanup()

Grazie!
Risposta
  


Messaggi in questa discussione
HC-SR04 raspberry pi zero w - da darimos - 08/09/2017, 17:11
RE: HC-SR04 raspberry pi zero w - da Zzed - 08/09/2017, 18:16
RE: HC-SR04 raspberry pi zero w - da darimos - 08/09/2017, 18:37
RE: HC-SR04 raspberry pi zero w - da Zzed - 08/09/2017, 19:40
RE: HC-SR04 raspberry pi zero w - da darimos - 08/09/2017, 20:24
RE: HC-SR04 raspberry pi zero w - da darimos - 13/09/2017, 12:35
RE: HC-SR04 raspberry pi zero w - da Zzed - 13/09/2017, 17:31
RE: HC-SR04 raspberry pi zero w - da darimos - 13/09/2017, 21:42

Vai al forum:


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