D'accord, je suis donc positif que mon circuit arduino est correct et le code pour cela. Je le sais parce que lorsque j'utilise le moniteur série intégré à l'IDE Arduino et que j'envoie "H 'une LED s'allume, lorsque j'envoie" L' que le voyant s'éteint.
Maintenant, j'ai fait un programme Python P> < Pré> xxx pré>
Lorsque j'exécute le code, le voyant clignote sur une seconde puis remonte. Cependant, lorsque je fais chacune de ces lignes séparément dans la coquille, cela fonctionne comme il est censé. P>
Des idées? P> P>
4 Réponses :
J'ai eu le même problème et cela fonctionne si j'ajoute un délai d'environ 2 secondes d'ouverture de la connexion série à l'écriture, 1 seconde n'était pas suffisante. P>
Un délai de 2 secondes avant que l'écriture a résolu ce problème pour moi aussi.
Lorsque vous ouvrez le port série, cela provoque la réinitialisation de l'Arduino. Étant donné que l'Arduino prend un peu de temps pour démarrer, toute l'entrée va au bitbucket (ou probablement au chargeur de démarrage qui sait que Dieu sait quoi avec elle). Si vous insérez un sommeil, vous attendez que l'Arduino mette de sorte que votre code série. C'est pourquoi cela fonctionne de manière interactive; Vous attendiez les 1,5 secondes nécessaires pour que le logiciel vienne. p>
J'ai confirmé que l'ouverture du port série réinitialise mon Arduino Uno ; J'ai flashé un programme qui clignotera le voyant de la configuration de la configuration de code> routine - appelant
Ouvrir ("/ dev / tttyacm0") code> était suffisant pour déclencher la réinitialisation. Ceci est imho une ride confuse et sans papiers dans le support série. P>
Voir ARDUINO Playground pour une explication.
Juste pour en faire un peu plus clair Je modifierai le code afin que tout le monde puisse voir ce qui doit être ajouté!
import serial import time ser = serial.Serial("COM4",9600) time.sleep(3) ser.write("H")
Le port USB et le bus Serial UNO exposé sur des broches Voici un exemple I trouvé sur Internet où quelqu'un avait affluant Problèmes de bus. P> 1 code> et
0 code> partagent le même
rx / tx code> lignes. Je suggère d'obtenir une carte USB à ttl comme Celui ici afin que vous puissiez communiquer à l'Arduino sans utiliser le port USB. L'IDE Arduino a sa propre méthode de désengagement du pilote USB de sorte qu'un port série virtuel puisse être créé. Avoir votre ARDUNIO Utilisez
logicielwaresérial code> à la place. P>
Pourrait-il être lié à l'objet série étant recueilli des ordures?