Modifications

Sauter à la navigation Sauter à la recherche
5 930 octets ajoutés ,  29 août 2017 à 20:46
aucun résumé de modification
Ligne 1 : Ligne 1 :  
{{Rasp-Hack-GPIO-NAV}}
 
{{Rasp-Hack-GPIO-NAV}}
    +
== A propos de I2C ==
 +
I2C est un standard utilisé très souvent, standard conçu pour permettre à un composant de communiquer avec un autre. Etant donné que le Raspberry Pi est capable de communiquer en I2C nous pouvons donc brancher une multitude de composant et modules I2C sur un Raspberry-Pi.
 +
 +
Voici quelques projets et produits qui utilisent des modules et composants I2C:
 +
 +
* [[Rasp-Hack-MCP230XX|GPIO Expander pour Raspberry Pi]] Ajouter des entrées/sorties digitales à votre Pi.
 +
* [[RASP-LCD-RGB|Afficheur 16x2 lignes + Keypad]] pour Raspberry Pi
 +
* [[RASP-PCF8523|Support RTC DS1307]] (horloge temps réel) pour Raspberry PI
 +
* [[Rasp-Hack-Led-Backpack|Contrôleur LED (Led Backpack) pour afficheur 4x7 segments et matrice LED]]
 +
* [[Rasp-Hack-MCP4725|MCP4725 Convertisseur Digital Analogique 12-Bit]]
 +
* [[Rasp-Hack-16-channel-servo-driver|Controleur PWM/Servo 16 canaux]] pour Raspberry Pi
 +
* [[Rasp-Hack-BMP085|Mesure de pression avec le BMP085]]
 +
 +
{{ambox | text = Avec le temps, nous traduirons de plus en plus des tutoriels mentionnés ci-dessus... mais peut-être oublierons nous de remplacer les liens. N'hésitez pas a nous envoyer un petit mail (soyez précis svp) depuis le formulaire de contact  de www.mchobby.be ;-) }}
 +
 +
Le bus I2C permet de connecter plusieurs périphériques sur le Raspberry-Pi, chacun ayant une adresse unique (qui peut souvent être modifiée à l'aide de cavaliers présents sur la carte). Il est très utile de pouvoir voir les périphériques connectés sur le Pi (cela permet également d'être certain que tout fonctionne bien).
 +
 +
L'outil i2c-tools permet de faire cela! Il est cependant nécessaire de l'installer en utilisant les commandes suivantes:
 +
 +
<syntaxhighlight lang="bash">
 +
sudo apt-get install -y python-smbus
 +
sudo apt-get install -y i2c-tools
 +
</syntaxhighlight>
 +
 +
== Installer le support noyau (avec Raspi-Config) ==
 +
 +
Exécuter {{fname|sudo raspi-config}} et suivre les options suivantes pour installer le support i2c pour le coeur ARM et le noyau linux
 +
 +
Rendez-vous dans '''Interfacing Options''' (Options d'interface):
 +
 +
[[Fichier:Rasp-Hack-GPIO-Config-I2C-10.png|640px]]
 +
 +
Pour les plus anciennes versions de Raspi-Config, voyez sous l'entrée '''Advanced''' (Options avancées)
 +
 +
[[Fichier:Rasp-Hack-GPIO-Config-I2C-11.png|640px]]
 +
 +
Puis I2C
 +
 +
[[Fichier:Rasp-Hack-GPIO-Config-I2C-12.png|640px]]
 +
 +
Et activez le bus I2C (en répondant Yes / Oui).
 +
 +
[[Fichier:Rasp-Hack-GPIO-Config-I2C-13.png|640px]]
 +
 +
[[Fichier:Rasp-Hack-GPIO-Config-I2C-14.png|640px]]
 +
 +
Redémarrez votre Pi pour activer le bus I2C!
 +
 +
{{ambox|text=Nous recommandons également de survoler les étapes de la configuration manuelle. Cela permet de vérifier que Raspi-Config a bien amené les modifications nécessaires!}}
 +
 +
== Installer le support noyau (à la main) ==
 +
Si vous n'utilisez pas une version moderne de Raspbian ou si vous désirez réaliser une installation à la main, cela est possible! Ouvrez un LXTerminal ou une console ou une session ssh puis saisissez les commandes suivantes :
 +
 +
<nowiki>sudo nano /etc/modules</nowiki>
 +
 +
Et ajoutez les deux lignes suivante à la fin du fichier :
 +
 +
<nowiki>i2c-bcm2708
 +
i2c-dev</nowiki>
 +
 +
Ce qui ressemble à ceci :
 +
 +
[[Fichier:Rasp-Hack-GPIO-Config-I2C-20.png|640px]]
 +
 +
Puis sauvez le fichier avec la combinaison de touche '''Contrôle-X Y''' puis la touche "retour clavier".
 +
 +
En fonction de la distribution, vous pourriez également avoir un fichier nommé '''/etc/modprobe.d/raspi-blacklist.conf'''
 +
 +
Il n'y a rien à faire si le fichier n'est pas présent. Par contre, s'il est présent, il sera nécessaire d'en éditer le contenu pour '''mettre les deux lignes suivantes en commentaire''' :
 +
 +
<nowiki>blacklist spi-bcm2708
 +
blacklist i2c-bcm2708</nowiki>
 +
 +
.. en plaçant un # en début de ligne.
 +
 +
Ouvrir le fichier dans un éditeur en saisissant le commande suivante :
 +
 +
<nowiki>sudo nano /etc/modprobe.d/raspi-blacklist.conf</nowiki>
 +
 +
.. puis modifier le fichier pour qu'il apparaisse comme sur la capture suivante.
 +
 +
[[Fichier:Rasp-Hack-GPIO-Config-I2C-21.png|640px]]
 +
 +
Pour finir, sauver le fichier en utilisant la combinaison de touche Contrôle-X et Y.
 +
 +
=== config.txt ===
 +
Si vous utilisez un Raspberry Pi avec un système d'exploitation récent (noyau 3.18 ou supérieur) il sera également nécessaire de modifier le fichier {{fname|/boot/config.txt}} . Editer le fichier à l'aide de la commande {{fname|sudo nano /boot/config.txt}} et ajouter le texte suivant en fin de fichier :
 +
 +
<nowiki>dtparam=i2c1=on
 +
dtparam=i2c_arm=on</nowiki>
 +
 +
Note il s'agit du chiffre "1" dans "i2c1" et non de la lettre "L" en minuscule!
 +
 +
[[Fichier:Rasp-Hack-GPIO-Config-I2C-22.png|640px]]
 +
 +
Redémarrer le Pi après la modification!
 +
 +
sudo reboot
 +
 +
== Tester I2C ==
 +
Une fois installé, vous pouvez saisir la commande suivante pour détecter tous les périphériques connectés sur le bus I2C.
 +
 +
<nowiki>sudo i2cdetect -y 1</nowiki>
 +
 +
[[Fichier:Rasp-Hack-GPIO-I2CConfig-2.png|500px]]
 +
 +
Cela montre deux adresses I2C en cours d'utilisation – 0x40 et 0x70.
 +
 +
Notez que si vous utilisez l'un des tout premiers modèle de Raspberry Pi (Raspberry Pi Modèle B 256MB ) alors vous aurez besoin de changer la commande comme suit:
 +
 +
<nowiki>sudo i2cdetect -y 0</nowiki>
 +
 +
En effet, les concepteurs du Raspberry Pi on modifier le brochage du port I2C entre les deux "release" de Raspberry.
 +
 +
== Pi B et Pi B+: la compatibilité du GPIO  ==
 +
 +
{{bloc-etroit|text=
 +
 +
{{picobbler-compatibility}}
 +
 +
}}
 +
 +
 +
== Brochage ==
 +
 +
Voici le nom des broches du bus I2C matériel et leurs positions sur le GPIO.
 +
 +
Les 26 premières broches étant identiques entre le modèle Pi B et Pi B+, le schéma ci-dessous s'applique donc aussi à votre Pi PLUS :-).
 +
 +
[[Fichier:RaspberryPi-GPIO-SPI.png]]
 +
 +
Elles sont:
 +
* SDA - Broche 3 - GPIO #0 (Ligne de donnée du Bus I2C, ligne dite ''DATA'')
 +
* SCL - Broche 4 - GPIO #1 (Ligne du signal d'horloge du BUS I2C, ligne dite ''CLOCK'' et son diminutif ''CL'' ou ''CLK'')
    
{{Rasp-Hack-GPIO-TRAILER}}
 
{{Rasp-Hack-GPIO-TRAILER}}
29 918

modifications

Menu de navigation