Connexion entre Raspberry Pi et T’REX par I²C

Nous avons déjà vu comment communiquer entre le T’REX et l’Arduino par I²C. Dans ce projet, l’Arduino n’est pas suffisant pour ajouter un camera, communiquer par WiFi etc. Le Raspberry Pi pouvant également communiquer via I²C, l’Arduino ne nous sera plus utile.

Câblage

La communication par I²C entre le Raspberry et le T’REX nécessite 4 câbles :

  • GND (Brun) : Masse commune
  • SCL – Serial Clock Line (Jaune) : Horloge de synchronisation
  • SDA – Serial Data Line (Orange) : Données
  • +VI (Rouge) : Tension du contrôleur externe, ici +3.3V

Comme le T’REX intègre une résistance de pullup de 10K, il n’y a pas besoin d’ajouter de résistance.


Source :

https://fr.pinout.xyz/pinout/i2c

Initialisation du bus I²C

Le bus I²C n’est pas activé par défaut sur Raspbian. Pour l’activer, on peut passer par l’interface sudo raspi-config :

> Interfacing Options
> I2C
> <Yes>
Source :

https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/configuring-i2c

Détection des périphériques I²C

Pour vérifier l’activation du bus I²C et le bon cablâge avec le Raspberry, on va lancer un scan des périphériques. Pour ça, on doit tout d’abord installer le programme i2c-tools

sudo apt-get install i2c-tools

puis lancer la détection avec

sudo i2cdetect -y 1

On voit apparaitre le T’REX à l’adresse 0x07.

4 réponses

  1. Nicolas dit :

    Bonjour M,
    Je rencontre un pb lorsque j’essaye de détecter ma carte T-rex par la raspberry pi. Alors que je la détecte bien sur Arduino rien n’apparaît sur la raspberry pi en suivant votre méthode. Avez vous une idée d’où cela peut venir? Peut on en discuter un peu plus svp?
    Merci beaucoup pour votre tuto dans tous les cas super boulot

  2. Christian dit :

    Bonjour Nicolas,
    Sur ma carte T-rex j’ai dû ressouder les pattes correspondants au bus i2c, mais vu que ça fonctionne sur Arduino, je doute que ce soit ça le problème.

    Quel est le modèle de la Raspberry et l’OS utilisé ?
    Sur les anciens modèles, il faut utiliser sudo i2cdetect -y 0

    Est-ce qu’il y a un message d’erreur ou il n’y a tout simplement pas de périphérique dans le tableau affiché ?

    Avez vous eu l’occasion d’essayer avec un autre périphérique i2c ?

    Christian

  3. Nicolas Chollet dit :

    Bonjour Christian Merci beaucoup pour votre réponse rapide. Alors non aucun message d’erreur juste aucune entrée dans le tableau lorsque l’on tape i2cdetect -y Ce qui est vraiment étrange: Avec l’arduino on détecte bien la trex et je peux envoyer des données depuis l’arduino à la t rex notament le code exemple de base.
    Je détecte bien l’arduino en I2c via la raspberry Pi et je peux lui envyer des commandes
    c’est vraiment le lien entre la raspberry et la t rex qui ne s’effectue pas :/
    on utilise la dernière version de Raspbian 3.2.1 avec une rasp3 B+1.2

Laisser un commentaire

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