Bonjour à tous,
Je n'arrive pas traiter les informations provenant du port USB de mon RPi.
Je m'explique;
J'ai d'un coté mon arduino qui m'envoi sur le port série (en USB) une valeur de 0 à 1023.
De l'autre, mon raspberry récupère ce qui arrive sur le port USB.
Voici mon code RPi:
import serial
import RPi.GPIO as GPIO
LED = 17
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(LED,GPIO.OUT)
GPIO.output(LED, GPIO.LOW)
T = int
ser = serial.Serial('/dev/ttyACM0', 9600)
# Ecriture de chaque message recu
while True:
cc=str(ser.readline())
T = cc[2:][:-5]
print(T)
La valeur T varie bien de 0 à 1023 quand je fait varier l'arduino.
Ma question est simple, comment faire pour se servir de la valeur de T??
Si je met à la suite de mon code:
if T > 500:
GPIO.output(EV1, GPIO.HIGH)
j'ai l'erreur suivante:
Traceback (most recent call last):
File "/home/pi/Desktop/test.py", line 27, in <module>
if T > 500:
TypeError: '>' not supported between instances of 'str' and 'int'
Merci de votre aide
Communication Arduino vers Raspberry [RESOLU]
Modérateurs : Francois, Manfraid
-
- Raspinaute
- Messages : 1089
- Enregistré le : lun. 15 août 2016 21:38
Re: Communication Arduino vers Raspberry [RESOLU]
T = int ne sert à rien puisque T est typé en str par T=cc[2 :][ :-5]
Pour évaluer T en tant que valeur int il faut donc le caster en int. if int(T)>500:
Si tu tiens vraiment à typé T en tant que int, tu peux aussi faire
T=int(cc[2 :][ :-5])
et la ton if T > 500 va fonctionner, mais quand tu vas vouloir utiliser T dans une sortie print qui contient d'autres caractères, tu auras l'effet inverse tu devras de le caster en string ( str(T) )
Pour évaluer T en tant que valeur int il faut donc le caster en int. if int(T)>500:
Si tu tiens vraiment à typé T en tant que int, tu peux aussi faire
T=int(cc[2 :][ :-5])
et la ton if T > 500 va fonctionner, mais quand tu vas vouloir utiliser T dans une sortie print qui contient d'autres caractères, tu auras l'effet inverse tu devras de le caster en string ( str(T) )
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).
Re: Communication Arduino vers Raspberry
Super,
merci beaucoup pour cette réponse qui fonctionne parfaitement bien.
Encore Merci
merci beaucoup pour cette réponse qui fonctionne parfaitement bien.
Encore Merci