Methode simple pour des valeurs de variables données par serial


Je suis débutant avec Arduino et je souhaite contrôler mon Arduino Leonardo avec ma Raspberry Pi.
Celle-ci faisant tourner un programme python qui envoie en boucle une variable du style 0110, 1010, 1001, etc ...

J'aimerais que mon Arduino récupère chaque chiffre dans 4 variable booléens ( True / False) .
Cela semble simple mais je galère beaucoup sachant que je suis débutant en langage Arduino ( propriétaire donc peu de tutos ... d'ailleurs si vous en connaissez un bon ... ).

Mon code en python 3 est pour le moment on ne peut plus basique:

import serial    #bibliothèque permettant la connection avec arduino
ser = serial.Serial('/dev/ttyACM0', 9600)    #initialisation de la connection
while True:    #boucle infinie
    ser.write(b'1111')    #envoie du message "1111" en binaire a l'arduino

Quand à mon code Arduino j'ai pas trop d'idées d'où ce topic :wink:

Merci d'avance pour toute aide.

Arduino Leonardo programmée sous Windows 8, python 3.5 exécuté sous Debian pour Raspberry.

Take a look at the bitRead function. It's exactly what you need. To receive data, check for Serial.available, and use to get the data if it's available.

[...] langage Arduino ( propriétaire donc peu de tutos ... )

That's a misconception: the Arduino language is probably the most widely used language for programming microcontrollers. Also, it is open-source, and based on C++. There's a whole lot of good documentation available. This site is a great starting point (see the learning section).

Some time ago, I wrote A Beginner's guide to Arduino, where I cover a lot of the basic principles. E.g. receiving serial data is covered in step 10.

My French is very poor. Please use English or ask the Moderator to move this Thread to the French language section.

This Python - Arduino demo may be helpful. It may need a little modification for Python 3 as it was written with 2.7

Also Have a look at the examples in Serial Input Basics - simple reliable ways to receive data. There is also a parse example.


Thank you for your answers, I wrote my program and it works :slight_smile:

My French is very poor. Please use English...

Sorry i didn't know that there are a french section :wink:

Thanks a lot :slight_smile: Have a nice day !