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

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

Le Raspberry Pi peut être utilisé pour presque tout. Des centres multimédias domestiques aux configurations de jeu rétro personnalisées, il est prudent 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à expliqué ce que font toutes ces épingles. Voyons maintenant comment activer les protocoles SPI et I2C sur votre Pi et pourquoi vous pourriez vouloir le faire..

Qu'est-ce que SPI sur Raspberry Pi?

Avant de plonger, voyons 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 en tant que “maîtriser” à tous les “esclave” composants, et peut communiquer avec eux à une vitesse élevée. Ce diagramme décrit une connexion SPI simple:

Crédit d'image: Cburnett / wikipedia.org

Si vous lisez pour la première fois à propos de SPI, cela peut sembler assez 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 “cocher”) de l’horloge, le maître et l’esclave envoient et reçoivent un bit d’information. C'est ce que le MOSI (Master Out Slave In) et MISO Les broches (Master In Slave Out) sont pour.

le SS ou La broche Slave Select (marquée CE0 ou ​​CE1 sur le Pi) est utilisée pour indiquer à un périphérique esclave de communiquer avec le maître - ou pas - à un moment donné. 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 appareils peuvent être “marguerite enchaînée” pour partager une broche SS, en limitant le nombre total de broches à quatre, plus deux pour l’alimentation et la mise à la terre. Le SPI est réputé pour sa rapidité incroyable et il est couramment utilisé dans les registres à décalage ou les convertisseurs analogiques-numériques (convertisseurs analogique-numérique) pour la transmission de données entre périphériques..

La chaîne YouTube de Startups Augmented propose une introduction facile à suivre pour SPI, expliquant le protocole 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

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

Sinon, vous pouvez activer SPI à partir du /boot/config.txt fichier. Ouvrez une fenêtre de terminal et entrez:

sudo nano /boot/config.txt

Cherchez une ligne qui se lit # dtparam = spi = on et retirez le # 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 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 à programmer votre propre lecteur RFID..

Nous avons utilisé le lecteur MFRC-522 dans notre tutoriel DIY Smart Lock avec Arduino et RFID DIY Smart Lock avec Arduino et RFID DIY Smart Lock avec Arduino et RFID Voici comment créer un verrou intelligent basé sur RFID utilisant un Arduino comme système principal et peu de composants bon marché. Lire la suite . Pour une introduction à la RFID à la saveur de Raspberry Pi, consultez le site Web Instructable de piddlerintheroot..

Ce type de configuration ne concerne pas uniquement les appareils électroniques de loisir. Dans notre collection de meilleurs projets Raspberry Pi Les 13 meilleurs projets Raspberry Pi de 2017 Les 13 meilleurs projets Raspberry Pi de 2017 Vous serez époustouflés par ces projets Raspberry Pi d'une créativité impressionnante. Lire la suite, nous avons présenté un système MES complet utilisant 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 connu une augmentation de son utilisation dans les projets de loisir basés sur des microcontrôleurs. La raison en est évidente: elle utilise seulement deux fils au lieu des quatre minimums de SPI. Il est également bien pris en charge par les bibliothèques créées par les utilisateurs. Il existe de nombreux composants conçus pour être utilisés avec I2C sur Raspberry Pi. Bien que plus lent que SPI, il fonctionne quand même assez vite pour la plupart des utilisations quotidiennes.

Tout comme SPI, le protocole a une maîtriser appareil, tel que le Pi, et un esclave dispositif, tel qu'un écran, un registre à décalage ou un pilote de moteur.

La première connexion entre les appareils est le SCL (Horloge série) définie par le maître pour synchroniser le transfert des données. La deuxième ligne est la SDA (Données série) qui transfère les données entre tous les périphériques du bus I2C.

Le dispositif maître commence la communication avec un début bit, et un sept bits adresse hexadécimale. Cela doit correspondre à l'appareil esclave pour qu'ils puissent communiquer. C’est ainsi que tant d’appareils peuvent être utilisés avec seulement deux fils.

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

Un aperçu facile à suivre et approfondi d'I2C est à nouveau fourni par les startups augmentées de YouTuber:

Comment activer I2C sur Raspberry Pi

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

sudo raspi-config

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

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

sudo nano /boot/config.txt

Modifier #dtparam = i2c_arm = on, enlever le # symbole.

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

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 ramène ce nombre à deux seulement pour la communication et à deux pour l'alimentation et la terre.

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

TheRaspberryPiGuy propose un didacticiel YouTube détaillé sur la configuration et l'utilisation d'un écran LCD avec I2C sur Raspberry Pi.

Utilisation de SPI et I2C enregistre les pins!

SPI et I2C sur Raspberry Pi ne sont certainement pas destinés aux débutants en électronique grand public, mais ils ne doivent pas non plus être effrayants..

Avant de plonger, ce serait une bonne idée de suivre notre guide du débutant à 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 proposez! Qui sait quelles créations étranges et merveilleuses de Raspberry Pi? 10 Les plus étranges projets Raspberry Pi 10 Les plus étranges projets Raspberry Pi Il y a un scientifique fou en chacun de nous et le Raspberry Pi vous permet de jouer et de vous amuser. Parfois, les choses deviennent étranges. Vraiment bizarre. Lire plus que vous ferez?

En savoir plus sur: Raspberry Pi.