Bonjiour, j’ai acheter un kit arduino il y’a 1 semaine. J’ai fait pas mal de tuto (réussie avec succes) avec l’ide arduino et son langage. (allumer led, allumer moteur, récupérer température…)
Mais maintenant j’aimerais utiliser python qui est un langage plus complet pour réaliser une petite IHM avec des boutons qui vas interagir avec ma carte arduino. Python car je le connais bien et répond bien à mon besoin sans trop me prendre la tete, je vais faire une ihm avec kivy.
Mais mon probleme c’est que j’arrive pas à allumer une led par exemple avec pyserial, et j’insiste de suite : je suis sous python3 (3.6) (sur le net je trouve que du vieux code python2.7 et sa m’énerve :colere:) et je suis sous windows 10 pro 64bits
j’ai une led qui est branché sur la masse gnd et sur la sortie 13 de mon arduino (j’ai aussi une résistance pour paq griller la led)
je vous donne déja mon code arduino (qui marche)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | int led = 13; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } |
et voila mon code en python3 avec pyserial :
1 2 3 4 5 6 | import serial ser = serial.Serial('COM3', 9600, timeout=0) var="0" var = var.encode() while True: ser.write(var) |
mon code ne marche pas (rien se ne passe, par contre mon code communique bien avec la carte j’ai le petit voyant orange qui s’allume) c’est le code que je trouve sur tous les sites ou je suis allé (en l’ayant adapter en python3)
déja j’ai 3 questions :
1) Pyserial m’oblige de convertir mon string en byte (alors que sur les tutos en python2.7 ils balance directement la chaine de caractère dans le ser.write()), es ce normal, dois-je bien convertir en byte ?
2) dans mon code arduino j’ai int led = 13; pour dire à arduino balance le courant sur la sortie 13 mais en python je n’ai pas cela, es ce normal aussi ?
3) auriez vous un tuto en python3 à me donner ?
par avance merci pour votre aide.