Communication Arduino vers Raspberry  [RESOLU]

Python est le langage de prédilection du Raspberry Pi

Modérateurs : Francois, Manfraid

Répondre
yuripa
Messages : 7
Enregistré le : sam. 25 août 2018 14:59

Communication Arduino vers Raspberry

Message par yuripa » mer. 13 mai 2020 17:41

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

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: Communication Arduino vers Raspberry  [RESOLU]

Message par Bud Spencer » mer. 13 mai 2020 18:10

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) )
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

yuripa
Messages : 7
Enregistré le : sam. 25 août 2018 14:59

Re: Communication Arduino vers Raspberry

Message par yuripa » jeu. 14 mai 2020 09:54

Super,

merci beaucoup pour cette réponse qui fonctionne parfaitement bien.

Encore Merci

Répondre

Retourner vers « Python »