Ré-démarrer un programme Arduino avec la bibliothèque pyserial de python
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:
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,
Ca a l'air de fonctionner....
Bonjour,
en suivant votre idée, j'ai rajouté la ligne :
à la fin du code.
J'ai obtenu le résultat que je souhaitais..... je peux désormais exécuter autant de fois que je veux le programme à partir de l'IDE Python....le programme est réininitialisé. Même pas besoin de "reset".
Je peux également modifier le code arduino et le basculer vers la carte sans fermer l'IDE Python.
Super ! Le problème semble résolu....
Merci beaucoup.
A chaque redémarrage