Comment activer SPI/I2C sur le Raspberry Pi (et à quoi ils servent)
Un Raspberry Pi peut être utilisé pour presque tout. Des centres multimédias domestiques aux configurations de jeu rétro personnalisées, il est sûr de dire que Pi et les ordinateurs monocarte similaires deviennent omniprésents.
Les choses deviennent encore plus intéressantes lorsque vous commencez à expérimenter avec des broches GPIO sur le Raspberry Pi. Nous avons couvert ce que font toutes ces broches, voyons maintenant comment activer les protocoles SPI et I2C sur votre Pi et pourquoi vous voudrez peut-être le faire.
Qu’est-ce que SPI sur Raspberry Pi ?
Avant de plonger dedans, décrivons brièvement ce que font ces deux protocoles.
IPS (ou Serial Peripheral Interface) permet à un microcontrôleur comme le Pi de communiquer avec plus de 100 composants périphériques à la fois. Le microcontrôleur agit en tant que « maître » pour tous les composants « esclaves » et peut communiquer avec eux à grande vitesse. Ce schéma décrit une connexion SPI simple :
Crédit image : Cburnett/wikipedia.org
Si c’est la première fois que vous lisez sur SPI, cela peut sembler intimidant, mais continuez ! horloge est la vitesse d’horloge définie par l’appareil maître, qui détermine la rapidité avec laquelle les informations sont partagées entre les appareils.
A chaque cycle (ou « tic ») de l’horloge, le maître et l’esclave envoient et reçoivent un bit d’information.C’est moxie (entrée et sortie principales) et Miso (Master Input Slave Output) broches sont utilisées pour.
Faire une vidéo du jour
cette SS Ou la broche de sélection de l’esclave (étiquetée CE0 ou CE1 sur le Pi) est utilisée pour dire à l’esclave de communiquer avec le maître à tout moment – ou non. Dans la plupart des cas, chaque périphérique esclave a besoin de sa propre broche SS, mais peut partager les broches SCLK, MOSI et MISO.
Certains appareils peuvent être « connectés en guirlande » pour partager une seule 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 sa vitesse incroyable et est souvent utilisé dans les registres à décalage ou ADC (convertisseurs analogique-numérique) pour transférer des données entre appareils.
La chaîne YouTube Augmented Startups propose une introduction facile à comprendre sur SPI qui explique plus en détail le protocole :
Comment activer SPI sur Raspberry Pi
Pour activer SPI sur le Raspberry Pi, activez configuration raspi Depuis le terminal entrez :
configuration sudo raspi
la navigation Options d’interfacepuis sélectionnez dans le menu ci-dessous P4 SPI Activer/désactiver le chargement automatique des modules du noyau SPI. choisir oui à l’invite de la fenêtre. SPI est maintenant activé !
Alternativement, vous pouvez commencer /boot/config.txt document. Ouvrez une fenêtre de terminal et entrez :
sudo nano /boot/config.txt
Cherchez une ligne qui dit #dtparam=spi=on et supprimer # symbole. Quelle que soit la manière dont vous activez SPI, redémarrez votre Pi et SPI sera activé.
Que pouvez-vous faire avec SPI sur le Raspberry Pi ?
Bien qu’il existe des centaines de projets différents utilisant de nombreux périphériques SPI différents, un bon projet de démarrage consiste à écrire votre propre lecteur RFID.
Nous avons utilisé le lecteur de carte MFRC-522 dans notre tutoriel DIY Smart Lock avec Arduino et RFID. Pour une introduction à la RFID à saveur de Raspberry Pi, consultez Instructable en profondeur de piddlerintheroot.
Cette configuration n’est pas seulement pour l’électronique de loisir non plus. Dans notre collection des meilleurs projets Raspberry Pi, nous présentons un système MES à grande échelle fonctionnant à l’aide d’un Raspberry Pi et de la RFID dans le cadre d’une grande usine européenne.
Qu’est-ce que I2C sur Raspberry Pi ?
I2C, un protocole de communication créé par Phillips Electronics, a proliféré dans les projets de loisirs basés sur des microcontrôleurs. La raison est évidente – il n’utilise que deux fils au lieu des quatre minimum de SPI. Les bibliothèques créées par l’utilisateur le supportent également bien. Il existe de nombreux composants conçus pour I2C sur le Raspberry Pi. Bien qu’il soit plus lent que SPI, il reste assez rapide pour la plupart des utilisations quotidiennes.
Tout comme SPI, ce protocole a un Maître équipement, comme un Pi et un trimer Périphériques tels que des écrans, des registres à décalage ou des pilotes de moteur.
La première connexion entre les appareils est SCL (Horloge série) Définie par l’hôte pour synchroniser les transferts de données.La deuxième ligne est SDA (Données série) Transférer des données vers et depuis tous les appareils sur le bus I2C.
L’appareil maître commence à communiquer avec un Démarrer un peu et un sept peu adresse hexadécimaleCela doit correspondre aux esclaves pour qu’ils puissent communiquer. C’est pourquoi tant d’appareils peuvent être utilisés avec seulement deux fils.
Le maître précise alors s’il veut lire ou écrire (lire écrire) esclave, avant de recevoir un acquittement ou confirmer arrière.
YouTuber Augmented Startups fournit à nouveau un aperçu facile à comprendre et approfondi de l’I2C :
Comment activer I2C sur Raspberry Pi
I2C est également activé sur le Pi via le Pi configuration raspi menu. Ouvrez un terminal et tapez :
configuration sudo raspi
Utilisez les touches fléchées pour sélectionner Options d’interfaceSuivi par P5 I2C Activer/désactiver le chargement automatique du module noyau I2CConfirmez que vous souhaitez activer le protocole et vous devriez voir un écran de confirmation.
Comme SPI, vous pouvez également activer I2C en modifiant le fichier config.txt. Ouvrez un terminal et tapez :
sudo nano /boot/config.txt
Ajustement#dtparam=i2c_arm=oneffacer # symbole.
Redémarrez votre Pi et I2C est prêt à fonctionner !
Que pouvez-vous faire avec I2C sur le Raspberry Pi ?
I2C est idéal pour tout projet nécessitant beaucoup de sortie. 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 l’alimentation et la masse.
De nombreux écrans LCD ont I2C « Sac à dos » Attaché pour faciliter leur configuration et libérer les broches Pi restantes 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 un Raspberry Pi
Utilisez SPI et I2C pour enregistrer les broches !
SPI et I2C sur le Raspberry Pi ne sont certainement pas destinés aux novices en électronique, mais ils n’ont rien à craindre non plus.
Avant de plonger dedans, il est préférable d’apprendre les bases en suivant notre guide du débutant sur le Raspberry Pi.
Réaliser quelques exemples de projets est la meilleure façon d’apprendre, et nous avons hâte de voir ce que vous en pensez ! Qui sait quelles créations étranges et merveilleuses Raspberry Pi vous ferez ?
A propos de l’auteur