Comment activer SPI / I2C sur Raspberry Pi (et comment les utiliser)

Vous connaissez probablement les broches GPIO sur le Raspberry Pi, mais qu'en est-il des connecteurs SPI et I2C? À quoi servent-ils et comment pouvez-vous les utiliser?

Vous connaissez probablement les broches GPIO sur le Raspberry Pi, mais qu'en est-il des connecteurs SPI et I2C?  À quoi servent-ils et comment pouvez-vous les utiliser?
Publicité

Le Raspberry Pi peut être utilisé pour presque tout. Des centres de médias à domicile aux configurations de jeu rétro personnalisées, il est sûr de dire que le Pi et les ordinateurs monocarte similaires deviennent omniprésents.

Lorsque vous commencez à expérimenter avec les broches GPIO sur Raspberry Pi, les choses deviennent encore plus intéressantes. Nous avons déjà couvert ce que toutes ces broches font, alors regardons maintenant comment activer les protocoles SPI et I2C sur votre Pi et pourquoi vous pourriez le vouloir.

Qu'est-ce que SPI sur Raspberry Pi?

Avant de plonger, couvrons brièvement ce que font ces deux protocoles.

SPI (ou Serial Peripheral Interface) permet à un microcontrôleur tel que le Pi de communiquer avec plus de 100 composants périphériques à la fois. Le microcontrôleur agit comme un «maître» de tous les composants «esclaves» et peut communiquer avec eux à grande vitesse. Ce diagramme décrit une connexion SPI simple:

SPI et I2C sur le Raspberry Pi
Crédit d'image: Cburnett / wikipedia.org

Si c'est la première fois que vous lisez sur SPI, cela peut paraître intimidant, mais restez-y! SCLK est la vitesse d'horloge définie par le maître qui détermine la vitesse à laquelle les informations sont partagées entre les périphériques.

A chaque cycle (ou "tick") de l'horloge, le maître et l'esclave envoient et reçoivent un bit d'information. C'est ce à quoi servent les broches MOSI (Master Out Slave In) et MISO (Master In Slave Out).

La broche SS ou Slave Select (marquée CE0 ou ​​CE1 sur le Pi) est utilisée pour indiquer à un appareil esclave de communiquer avec le maître ou non à tout moment. Dans la plupart des cas, chaque périphérique esclave nécessite sa propre broche SS, mais peut partager les broches SCLK, MOSI et MISO.

Certains périphériques peuvent être "connectés en série" pour partager une broche SS, ce qui réduit le nombre total de broches utilisées à quatre, plus deux pour l'alimentation et la masse. SPI est connu pour être incroyablement rapide et est couramment utilisé dans les registres à décalage ou ADC (convertisseurs analogique-numérique) pour transmettre des données entre les appareils.

La chaîne YouTube de Startups augmentée a un guide d'introduction facile à suivre pour SPI, qui explique le protocole plus en détail:

Comment activer SPI sur Raspberry Pi

Pour activer SPI sur votre Raspberry Pi, ouvrez raspi-config depuis le terminal en entrant:

sudo raspi-config 

Accédez aux Options d'interfaçage et dans le menu suivant, sélectionnez P4 SPI Activer / Désactiver le chargement automatique du module noyau SPI . Sélectionnez Oui à l'invite de la fenêtre. SPI est maintenant activé!

SPI et I2C sur le Raspberry Pi

Vous pouvez également activer SPI à partir du fichier /boot/config.txt . Ouvrez une fenêtre de terminal et entrez:

 sudo nano /boot/config.txt 

Recherchez une ligne qui lit # dtparam = spi = sur et supprimez le symbole # . Quelle que soit la manière dont vous activez SPI, redémarrez votre Pi et votre SPI sera activé.

Que pouvez-vous faire avec SPI sur Raspberry Pi?

Bien qu'il existe des centaines de projets utilisant de nombreux périphériques SPI différents, un bon projet de démarrage consiste à programmer votre propre lecteur RFID.

Nous avons utilisé le lecteur MFRC-522 dans notre Smart Lock DIY avec didacticiel Arduino et RFID DIY Smart Lock avec Arduino et RFID DIY Smart Lock avec Arduino et RFID Voici comment construire un simple verrou intelligent RFID en utilisant un Arduino comme épine dorsale et un quelques composants bon marché. Lire la suite . Pour une introduction à la RFID à saveur de Raspberry Pi, consultez Instructable en profondeur de piddlerintheroot.

Ce type d'installation n'est pas seulement pour l'électronique de passe-temps non plus. Dans notre collection des meilleurs projets de Raspberry Pi Les 13 meilleurs projets de Raspberry Pi de 2017 Les 13 meilleurs projets de Raspberry Pi de 2017 Vous serez époustouflé par ces projets Raspberry Pi incroyablement créatifs. En savoir plus, nous avons présenté un système MES complet fonctionnant avec Raspberry Pi et RFID, dans le cadre d'une opération d'usine à grande échelle en Europe.

Qu'est-ce que I2C sur Raspberry Pi?

I2C est un protocole de communication créé par Phillips Electronics, qui a vu une vague d'utilisation dans les projets de passe-temps basés sur microcontrôleur. La raison en est évidente: il n'utilise que deux fils au lieu du minimum de quatre SPI. Il est également bien pris en charge par les bibliothèques créées par l'utilisateur. Il existe de nombreux composants conçus pour être utilisés avec I2C sur Raspberry Pi. Bien qu'il soit plus lent que SPI, il fonctionne toujours assez rapidement pour la plupart des utilisations quotidiennes.

Tout comme SPI, le protocole dispose d'un périphérique maître, tel que le Pi, et d'un périphérique esclave, tel qu'un écran, un registre à décalage ou un pilote de moteur.

La première connexion entre les appareils est la SCL (Serial Clock) qui est définie par le maître pour synchroniser le transfert de données. La deuxième ligne est le SDA (Serial Data) qui transfère les données entre tous les périphériques sur le bus I2C.

Le périphérique maître commence la communication avec un bit de départ et une adresse hexadécimale de sept bits. Cela doit correspondre à l'appareil esclave pour qu'ils puissent communiquer. C'est ainsi que de nombreux appareils peuvent être utilisés avec seulement deux fils.

Le périphérique maître spécifie ensuite s'il veut lire ou écrire ( R / W ) l'esclave, avant de recevoir un acquittement ou un retour ACK .

Un aperçu facile à suivre et en profondeur de I2C est encore une fois fourni par YouTuber Augmented Startups:

Comment activer I2C sur Raspberry Pi

I2C est également activé sur le Pi via le menu raspi-config . Ouvrez le terminal et entrez:

 sudo raspi-config 

Utilisez les touches fléchées pour sélectionner Options d'interfaçage, suivi de P5 I2C Activer / Désactiver le chargement automatique du module noyau I2C . Confirmez que vous voulez activer le protocole, et vous devriez voir un écran de confirmation.

SPI et I2C sur le Raspberry Pi

Comme avec SPI, vous pouvez également activer I2C en modifiant votre fichier config.txt. Ouvrez un terminal et entrez:

 sudo nano /boot/config.txt 

Modifiez # dtparam = i2c_arm = sur, en supprimant le symbole # .

SPI et I2C sur le Raspberry Pi

Redémarrez votre Pi, et I2C est prêt à partir!

Que pouvez-vous faire avec I2C sur Raspberry Pi?

I2C est idéal pour tout projet nécessitant un grand nombre de sorties. Une utilisation typique est pour les écrans LCD, qui nécessitent jusqu'à 16 broches à utiliser. I2C réduit cela à seulement deux pour la communication et deux pour la puissance et la terre.

De nombreux écrans LCD sont livrés avec un «sac à dos» I2C, ce qui les rend beaucoup plus simples à installer et libère le reste de vos broches Pi pour d'autres capteurs et périphériques.

TheRaspberryPiGuy a un tutoriel YouTube détaillé sur la configuration et l'utilisation d'un écran LCD avec I2C sur Raspberry Pi

L'utilisation de SPI et de I2C permet d'économiser les broches!

SPI et I2C sur Raspberry Pi ne sont certainement pas pour les débutants de l'électronique complète, mais ils n'ont rien à craindre.

Avant de plonger, ce serait une bonne idée de suivre notre guide du débutant pour Raspberry Pi pour apprendre les bases.

Travailler à travers quelques exemples de projets est la meilleure façon d'apprendre, et nous avons hâte de voir ce que vous avez imaginé! Qui sait ce que sont les créations Raspberry Pi étranges et merveilleuses 10 Projets Raspberry Pi les plus étranges 10 Projets Raspberry Pi les plus étranges Il y a un savant fou en chacun de nous, et le Raspberry Pi permet à votre huard intérieur de sortir et de jouer. Parfois, les choses deviennent bizarres. Vraiment étrange. Lire la suite, vous allez faire?

In this article