Placer des mesures dans un graphiques automatiquement
Bonjour,
Je suis à la recherche d'une solution pour mon TPE.
J'ai programmé un raspberry pi et un capteur à ultra-sons mais je n'arrive pas à placer les mesures obtenues par le capteur directement dans un tableau puis automatiquement tracé le graphique des droites obtenue suite à ces différentes mesures.
Voici le programme initiale:
Code:
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 45 46
|
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
TRIG = 23
ECHO = 24
print ("Mesure de la distance en cours")
GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)
def distance():
GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)
pulse_start = time.time()
pulse_end = time.time()
while GPIO.input(ECHO) == 0:
pulse_start = time.time()
while GPIO.input(ECHO) == 1:
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
distance = pulse_duration * 17150
distance = round(distance, 3)
return distance
if __name__ == '__main__':
try:
while True:
dist = distance()
print ("Distance mesurée = %.1f cm" % dist)
time.sleep(1)
except KeyboardInterrupt:
print("Mesure arrêtée par l'utilisateur")
GPIO.cleanup() |
Puis cela me donne des valeurs que je suis obligé de retaper à la main dans ce programme pour obtenir le graphique
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import matplotlib.pyplot as plt
plt.title("Graphique")
plt.grid(True)
plt.plot([abscisse], [ordonnée], label="Sans ultra-sons")
plt.plot([abscisse], [ordonnée], label="Avec ultra-sons")
plt.xlabel('Emplacement (en cm)')
plt.ylabel('Mesure (en cm)')
plt.legend()
plt.show() |
Donc j'aimerais avoir une solution pour pouvoir "fusionner" ces programmes et tout automatisé dans un seul programme
Merci d'avance pour vos réponses
Cordialement