Bonjour,

Avec une carte Arduino, je réalise un programme très simple : compter de un en un.....

Je souhaite récupérer les 50 premières valeurs (donc les nombres de 1 à 50) avec Python 3.7 en utilisant la bibliothèque pyserial, les données étant exportées ensuite dans un fichier texte.

J'utilise le code suivant et le résultat est correct.

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
import serial
 
try:
    arduino=serial.Serial("COM5", 9600)
except:
    print("Vérifier le port série")
 
file = open("Mesures.txt", "w+")
 
compteur=0
 
while compteur<51:   
 
     valeurs=str(arduino.readline())
     valeurs_propres1=valeurs[2:]
     valeurs_propres2=valeurs_propres1[:-5]
 
     print(valeurs_propres2)
     file.write(valeurs_propres2)
     file.write("\n")
     compteur=compteur+1
 
 
file.close()
Mon problème:

Si je relance le programme à partir de l'IDE de Python une deuxième fois,....étant donné que le programme ne s'est pas arrêté dans Arduino, j'ai une suite de 50 autres valeurs, mais pas de 1 à 50.
Le bouton "reset" de la carte Arduino, ne fonctionne pas lorsque le port série est utilisé par l'IDE python.....

Donc, je voulais savoir:
Existe-t-il une instruction en Python qui permette de se déconnecter du port série, pour que la touche "reset" de la carte Arduino fonctionne de nouveau ?
Sinon, quel conseil avez-vous à me donner pour résoudre ce problème et réinitialiser le programme ?
Pour le moment, je suis obligé de quitter l'IDE de Python, et le ré-ouvrir pour relancer le programme, ce qui n'est pas une solution commode. Merci.

Cordialement,