Comment laisser un Arduino et un Raspberry Pi communiquer entre eux

Comment laisser un Arduino et un Raspberry Pi communiquer entre
Comment laisser un Arduino et un Raspberry Pi communiquer entre

J’ai déjà décrit dans un article précédent comment fonctionne l’Arduino et quels modèles existent. Il y a beaucoup d’articles sur l’Arduino lui-même, mais peu en rapport avec le Raspberry Pi, mais cette combinaison offre de nombreuses possibilités.

Puisque je veux en savoir plus sur l’Arduino en conjonction avec le Raspberry Pi, je commencerai par montrer la communication directe des deux.

Vous n’avez besoin de rien de plus qu’un Raspberry PI, un câble USB et un Arduino (par ex. Uno ou Nano).

Préparation

Pour que l’Arduino puisse communiquer plus tard avec le Raspberry Pi, le code correspondant doit d’abord être chargé dessus. La façon la plus simple de le faire est via le PC / Mac. J’ai déjà montré ici comment cela fonctionne.

Ceci est juste un petit exemple de la façon d’utiliser le composant série. Bien sûr, vous pouvez également répondre aux entrées en démarrant des fonctions, en configurant ou en lisant les E / S, etc.

Mise en service sur le Raspberry Pi

Sur le Pi, des bibliothèques supplémentaires sont nécessaires, nous les installons d’abord:

sudo apt-get install minicom python-serial

Vous devez déconnecter l’Arduino du Pi si vous l’avez connecté, car nous devons trouver le nom du port. Pour ce faire, procédez comme suit deux fois: une fois sans et une fois avec Arduino connecté via USB.

ls /dev/tty*

Vous remarquerez qu’à la fin de la liste un nouveau nom a été ajouté (pour moi c’est/dev/ttyUSB0). Avec ce nom, vous pouvez adresser l’Arduino via le port série. Parce que la bibliothèque de connexion série a été installée sous Python, nous pouvons facilement y accéder.

Pour cela nous créons un nouveau fichier

sudo nano serialTest.py

avec le contenu suivant:

et exécutez:

sudo python serialTest.py

La sortie ressemble à ceci (Ctrl + C vous permet de l’arrêter):

pi@raspberrypi ~ $ sudo python serialTest.py
The following char was received: 116
The following char was received: 101
The following char was received: 115
The following char was received: 116

La sortie des caractères lus a lieu dans ASCII format (DEC pour décimal, HEX pour le code hexadécimal). Bien sûr, vous pouvez également émettre le personnage directement ou y réagir.

Comment cela m’aide-t-il?

D’une part, l’Arduino offre plusieurs fonctionnalités qui peuvent être utiles, selon le modèle. De plus, l’Arduino possède également de nombreuses broches d’E / S numériques et analogiques qui peuvent être facilement contrôlées. Il pourrait également être utilisé comme un expanseur GPIO, ce qui est beaucoup plus facile à contrôler. En outre, vous pouvez facilement communiquer avec les bibliothèques / programmes Arduino si vous ne souhaitez pas les exécuter sur le Pi.