|

7 façons de connecter des capteurs Arduino au Raspberry Pi

J’avais l’habitude de créer des projets Arduino avec des capteurs, mais j’avais l’impression de sacrifier ces capteurs lorsque j’ai commencé à travailler avec Raspberry Pi. Heureusement, il existe plusieurs façons de faire fonctionner les capteurs Arduino avec Raspberry Pi, et c’est ce que j’ai exploré dans ce guide pour aider toute autre personne à passer des projets Arduino à Raspberry Pi.

Tout capteur Arduino doté d’une sortie numérique fonctionnera avec le Raspberry Pi. Le Raspberry Pi peut se connecter à des capteurs numériques à l’aide de son GPIO, notamment via SPI, I2C et UART. Les capteurs analogiques Arduino ne fonctionneront pas avec la plupart des modèles Raspberry Pi à moins qu’un convertisseur analogique-numérique séparé ne soit utilisé. Le Raspberry Pi Pico dispose cependant d’entrées analogiques.

Dans ce guide, je regarde :

  • Connecter un Arduino à un Raspberry Pi (pour garantir le fonctionnement des capteurs Arduino)
  • Connexion de capteurs directement au Raspberry Pi à l’aide de SPI, I2C et UART
  • Utiliser un ADC pour connecter des capteurs analogiques au Pi

J’ai également inclus quelques étapes à suivre pour commencer à utiliser un Raspberry Pi Pico pour lire des capteurs analogiques.

1. Connectez un Arduino au Raspberry Pi

Connecter un Arduino directement au Raspberry Pi est le moyen le plus simple de faire fonctionner les capteurs Arduino avec un Raspberry Pi. L’Arduino collecte les données du capteur puis les envoie au Raspberry Pi, généralement en utilisant UART, I2C ou SPI (nous en parlerons plus tard car ils peuvent également être utilisés pour connecter certains capteurs directement au Pi).

Le plus grand avantage de connecter un Arduino au Raspberry Pi est qu’il est pratiquement garanti que vous pourrez toujours collecter les données du capteur – si votre capteur a fonctionné avec Arduino, vous pourrez alors obtenir ces lectures sur votre Raspberry Pi.

Certains inconvénients sont cependant que cela prend beaucoup de place, cela peut être plus cher (si vous devez acheter l’ajout d’un Raspberry Pi ou d’un Arduino), et il y a un câblage et une configuration logicielle supplémentaires (pour obtenir les ports I2C, SPI, UART). , ou tout ce qui fonctionne).

Pour connecter Arduino au Raspberry Pi :

  1. Ajoutez du code pour utiliser l’ Serialobjet à votre croquis de capteur Arduino
  2. Importez la serialbibliothèque en Python sur votre Raspberry Pi
  3. Code de configuration sur chaque appareil pour communiquer
  4. Connectez les broches Raspberry Pi respectives aux broches Arduino

Attention : Le GPIO Raspberry Pi est uniquement conçu pour du 3,3V – ne connectez pas d’Arduino 5V au GPIO 3,3V. Utilisez un circuit diviseur de tension si vous possédez un Arduino 5 V (comme l’Uno).

Consultez la référence Arduino Serial ici si vous avez besoin d’aide pour configurer votre croquis. J’ai également trouvé cette vidéo utile :

Un Raspberry Pi Pico peut remplacer l’Arduino dans ce type de configuration, j’en ai parlé plus bas.

2. Connectez le capteur à l’aide de SPI

Si votre capteur Arduino prend en charge l’interface périphérique série (SPI), il peut être connecté au Raspberry Pi à l’aide des broches SPI du GPIO. Un Arduino n’est pas requis. Seuls certains capteurs prennent en charge SPI, comme ce capteur de température numérique de MicroChip.

L’ avantage de connecter le capteur avec SPI est qu’aucun composant supplémentaire n’est nécessaire. Vous pouvez connecter les broches SPI du capteur directement au GPIO du Raspberry Pi. Cela peut cependant être une bonne idée de connecter un petit condensateur de découplage entre la tension d’entrée et la masse du côté capteur de l’interface. L’utilisation de SPI signifie également que le capteur fonctionne sans avoir besoin d’un Arduino.

L’ inconvénient de l’utilisation de SPI est qu’elle nécessite un code supplémentaire pour fonctionner par rapport à un capteur pouvant être connecté directement au Raspberry Pi. Bien qu’il existe de nombreux guides disponibles (comme celui-ci), il s’agit d’une étape supplémentaire pour dépanner si quelque chose ne va pas lors de la construction de votre projet.

Pour utiliser SPI avec un capteur sur Raspberry Pi :

  1. Assurez-vous que SPI est activé à l’aide de raspi-config
  2. Câblez le capteur au GPIO du Raspberry Pi
  3. Importez la bibliothèque Spidev dans votre code Python
  4. Ouvrez une connexion SPI au capteur pour commencer à envoyer des commandes et à recevoir des données

Un tutoriel plus détaillé peut être trouvé ici .

3. Utilisez un ADC pour connecter un capteur analogique

Un convertisseur analogique-numérique (ADC) peut être utilisé pour convertir les lectures d’un capteur analogique à utiliser sur le Raspberry Pi. Les capteurs analogiques ne peuvent pas être connectés directement au GPIO du Raspberry Pi, contrairement à Arduino qui peut lire à partir de capteurs analogiques. Si vous utilisez un Raspberry Pi Pico, une entrée analogique est disponible (voir ci-dessous).

Les capteurs analogiques peuvent être connectés à un CAN externe qui est ensuite chargé de communiquer les lectures au Raspberry Pi, généralement via I2C. Un exemple peut être trouvé ici .

Pour utiliser un ADC et des capteurs analogiques avec le Raspberry Pi :

  1. Câblez le capteur analogique à l’ADC et l’ADC aux broches I2C du GPIO
  2. Assurez-vous que I2C est activé à l’aide de raspi-config
  3. Importez la smbusbibliothèque pour Python pour établir et communiquer avec les appareils I2C

Assurez-vous que l’ADC utilise 3,3 V pour sa communication I2C.

4. Utilisez un Raspberry Pi Pico et connectez-vous sans fil

Le Raspberry Pi Pico est conçu pour être davantage un concurrent de l’Arduino que les cartes Raspberry Pi traditionnelles. À juste titre, il prend en charge à peu près tous les capteurs auxquels je peux penser et qui fonctionneraient sur un Arduino. Cela inclut les capteurs analogiques . Les capteurs analogiques Arduino peuvent être connectés directement à un Raspberry Pi Pico.

La version sans fil du Raspberry Pi Pico peut lire les données du capteur, puis les envoyer sans fil à un autre appareil (tel que le Raspberry Pi). Ceci est similaire à l’utilisation d’un Arduino, mais présente l’avantage d’être sans fil (à noter que les modèles Arduino sans fil sont généralement plus chers qu’un Pico W).

Pour utiliser un capteur Arduino sur Raspberry Pi Pico :

  1. Connectez le capteur aux broches respectives du Pico (broches GPIO 26, 27 ou 28).
  2. Écrivez le code pour que le Pico se connecte au WiFi, lisez le capteur, puis envoyez ces données à un autre ordinateur
  3. Écrivez du code pour que le Raspberry Pi reçoive ces données

J’ai trouvé la vidéo ci-dessous utile pour comprendre comment connecter des entrées analogiques au Raspberry Pi Pico :

5. Connectez le capteur à une broche numérique

Les capteurs Arduino dotés d’une sortie numérique fonctionneront avec le Raspberry Pi. Ils peuvent être connectés à n’importe laquelle des entrées GPIO et alimentés par la sortie 3,3 V du GPIO. Des exemples de capteurs à sortie numérique incluent les détecteurs de proximité (le réglage numérique sur un capteur de portée), les capteurs tactiles, les boutons et les types de capteurs « Marche/Arrêt » similaires.

Les capteurs connectés au GPIO du Raspberry Pi peuvent être lus depuis la ligne de commande (en utilisant l’interface « character device »), ou depuis le code en utilisant l’une des bibliothèques GPIO disponibles. Consultez cette référence si vous avez besoin de plus d’informations sur l’interface « périphérique de caractère ».

J’ai également réalisé une vidéo expliquant comment connecter des capteurs au Raspberry Pi, regardez-la ci-dessous :

6. Utilisez un capteur compatible I2C

I2C peut être utilisé pour connecter certains capteurs directement au Raspberry Pi. Les capteurs Arduino prenant en charge I2C sont généralement un capteur analogique combiné à des circuits numériques pour gérer la communication I2C – il est souvent plus facile de connecter le capteur directement en utilisant l’une des autres méthodes ci-dessus.

Adafruit vend ici quelques exemples de capteurs I2C.

Bien que vous puissiez connecter des capteurs au Raspberry Pi à l’aide d’I2C, j’ai constaté qu’il n’y avait pas de cas d’utilisation aussi efficace que l’utilisation de l’une des autres méthodes de cette liste. I2C est mieux utilisé pour communiquer avec des périphériques externes utilisant des microcontrôleurs, tels que des modems cellulaires.

7. Utilisez UART

Les capteurs prenant en charge UART peuvent être connectés directement au Raspberry Pi à l’aide des broches UART du GPIO. Tout capteur fonctionnant avec Arduino UART devrait également fonctionner avec le Raspberry Pi UART.

Découvrez quelques exemples ici et ici .

A lire également

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *