Bonjour à tous,

Pour commencer je suis nouvelle sur le forum donc je ne sais pas si j'ai poster cela au bonne endroit ...

voila mon projet :

J'aimerais tracer une courbe "interactif" avec des données que je récupère via le port série (c'est données viennent d'un capteur de force branché à une Arduino Nano).
j'ai trouver un tutoriel a ce sujet ici :https://www.tubefr.com/tracage-des-d...atplotlib.html.
J'ai donc lancer ce code, mais j'ai du mal a comprendre comment rentrer le numéro de mon port sur le programme ? Je suis moi en COM13.

le code :
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import sys, serial, argparse
import numpy as np
from time import sleep
from collections import deque
 
import matplotlib.pyplot as plt 
import matplotlib.animation as animation
 
 
# plot class
class AnalogPlot:
  # constr
  def __init__(self, strPort, maxLen):
      # open serial port
      self.ser = serial.Serial(strPort, 9600)
 
      self.ax = deque([0.0]*maxLen)
      self.ay = deque([0.0]*maxLen)
      self.maxLen = maxLen
 
  # add to buffer
  def addToBuf(self, buf, val):
      if len(buf) < self.maxLen:
          buf.append(val)
      else:
          buf.pop()
          buf.appendleft(val)
 
  # add data
  def add(self, data):
      assert(len(data) == 2)
      self.addToBuf(self.ax, data[0])
      self.addToBuf(self.ay, data[1])
 
  # update plot
  def update(self, frameNum, a0, a1):
      try:
          line = self.ser.readline()
          data = [float(val) for val in line.split()]
          # print data
          if(len(data) == 2):
              self.add(data)
              a0.set_data(range(self.maxLen), self.ax)
              a1.set_data(range(self.maxLen), self.ay)
      except KeyboardInterrupt:
          print('exiting')
 
      return a0, 
 
  # clean up
  def close(self):
      # close serial
      self.ser.flush()
      self.ser.close()    
 
# main() function
def main():
  # create parser
  parser = argparse.ArgumentParser(description="LDR serial")
  # add expected arguments
  parser.add_argument('--port', dest='port', required=True)
 
  # parse args
  args = parser.parse_args()
 
  #strPort = '/dev/tty.usbserial-A7006Yqh'
  strPort = args.port
 
  print('reading from serial port %s...' % strPort)
 
  # plot parameters
  analogPlot = AnalogPlot(strPort, 100)
 
  print('plotting data...')
 
  # set up animation
  fig = plt.figure()
  ax = plt.axes(xlim=(0, 100), ylim=(0, 1023))
  a0, = ax.plot([], [])
  a1, = ax.plot([], [])
  anim = animation.FuncAnimation(fig, analogPlot.update, 
                                 fargs=(a0, a1), 
                                 interval=50)
 
  # show plot
  plt.show()
 
  # clean up
  analogPlot.close()
 
  print('exiting.')
 
 
# call main
if __name__ == '__main__':
main()
Si quelqu'un a déjà fait cela, ça me serais d'une grande aide !

Merci d'avance pour votre aide