Bonjour,
en tournant mon programme j'ai l'erreur suivante :
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Traceback (most recent call last): File "testultrason.py", line 44, in <module> etat_entre = ultrason(20,24) File "testultrason.py", line 38, in ultrason distance = round((finImpulsion - debutImpulsion ) * 340 * 100 / 2, 1) ## Vitesse du son = 340 m/s UnboundLocalError: local variable 'debutImpulsion' referenced before assignment
l'erreur semble provenir de la variable debutImpulsion , pourtant elle n'est définit nulle part ailleurs donc je comprends pas bien l'erreur j'execute le programme avec python3.5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 import time import subprocess from picamera import PiCamera import serial import RPi.GPIO as GPIO from adafruit_servokit import ServoKit from time import sleep import time GPIO.cleanup() kit = ServoKit(channels=16) GPIO.setmode(GPIO.BCM) def ultrason(trig,echo): GPIO.setmode(GPIO.BCM) Trig = trig # Entree Trig du HC-SR04 branchee au GPIO 23 Echo = echo # Sortie Echo du HC-SR04 branchee au GPIO 24 GPIO.setup(Trig,GPIO.OUT) GPIO.setup(Echo,GPIO.IN) GPIO.output(Trig, False) time.sleep(0.00001) GPIO.output(Trig, True) time.sleep(0.00001) GPIO.output(Trig, False) while GPIO.input(Echo)==0: ## Emission de l'ultrason debutImpulsion = time.time() while GPIO.input(Echo)==1: ## Retour de l'Echo finImpulsion = time.time() distance = round((finImpulsion - debutImpulsion ) * 340 * 100 / 2, 1) ## Vitesse du son = 340 m/s return distance etat_entre = ultrason(20,24)
Merci bien
Partager