Publié par Laisser un commentaire

Trouver une adresse I2C avec le Raspberry Pi Pico

Find I2C address with Raspberry Pi Pico

De nombreus composants electroniques utilisent le protocole de communication I2C pour échanger des informations. Pour ce faire, il est nécessaire de connaître l’adresse I2C de ces composants ou périphériques. Dans ce tutoriel, nous allons voir comment utiliser un Raspberry Pi Pico pour connaître l’adresse I2C de notre périphérique connecté.

  1. Préparer le matériel

    – Vous avez d’abord besoin d’un ordinateur pour pouvoir utiliser Thonny. Dans ce tutoriel, nous utiliserons un Raspberry Pi 4 comme ordinateur. Et Thonny est un EDI Python convivial pour interagir avec la carte Raspberry Pi Pico. Si vous n’avez jamais utilisé Thonny pour programmer le Raspberry Pi Pico, avant de continuer, vous feriez mieux de jeter un œil à notre tutoriel “Commencer à programmer le Raspberry Pi Pico“.

    – Ensuite, vous avez besoin d’un câble USB avec prise micro-USB.

    – Vous avez également besoin d’un Raspberry Pi Pico bien sûr. Pour ce tutoriel, vous avez besoin d’avoir les broches soudés à votre carte.

    Et enfin, vous aurez besoin de quelques composants supplémentaires :
    – un breadboard (nous utilisons un breadboard de 400 points)
    – un composant electronique compatible avec le bus I2C (dans ce tutoriel, nous utilisons un écran LCD 16×2)
    – des câbles Dupont



    Raspberry Pi Pico breadboard I2C
    Si vous manquez des pièces, n’hésitez pas à visiter notre boutique.

  2. Apprenez à connaître les bases de I2C

    I2C ou I²C (Inter-Integrated Circuit) est un bus de données série pour permettre le transfert de données entre les composants électroniques. Avec ce type de communication standardisé, nous pouvons réduire considérablement le nombre de fils entre les 2 composants.

    En effet, outre les fils pour alimenter l’appareil, la communication se fait avec 2 fils :
    – le fil de l’horloge, étiqueté SCL
    – le fil de données, étiqueté avec SDA
    I2C bus logoComme plusieurs périphériques peuvent être connectés sur le même bus, chaque périphérique doit avoir sa propre adresse I2C. Nous utiliserons l’adresse I2C de l’appareil pour échanger des données entre le Raspberry Pi Pico et l’appareil. Cette adresse I2C est souvent prédéfini dans l’appareil. Si vous n’avez pas la documentation de l’appareil, vous pouvez la rechercher en scannant le bus. Et c’est exactement ce que nous allons faire dans ce tutoriel.
    Si vous avez besoin de plus d’informations, cela vaut la peine de passer un peu de temps à lire la page Web Wikipedia I²C.

    Soyez prudent ! Avant de brancher des composants sur les broches GPIO de votre Raspberry Pi Pico, assurez-vous que celui-ci ne soit pas connecté à votre ordinateur.

  3. Connectez votre appareil I2C

    Le Raspberry Pi Pico est livré avec 2 bus I2C. Nous pouvons utiliser plusieurs broches sur chaque bus I2C. Néanmoins, soyez prudent. En fonction de votre script ou de la bibliothèque que vous utilisez, il peut être nécessaire d’utiliser des broches spécifiques. Dans notre cas, nous utilisons les broches suivantes :
    – GPIO 0 pour le fil SDA
    – GPIO 1 pour le fil SDC.
    Raspberry Pi Pico pinout I2C pins
    Connectez les fils SDA et SDC au périphérique.

    Et en plus de cela, nous devons alimenter notre appareil. Vérifiez si la tension de votre périphérique est de 3,3V ou 5V. Connectez maintenant les broches Raspberry Pi Pico : 3V3(OUT) ou VSYS et GND à votre périphérique.
    I2C pins

  4. Ecrivez le code

    Le but est d’écrire un script MicroPython qui nous permettra de scanner le bus I2C pour avoir une vue d’ensemble des appareils connectés avec une adresse I2C. Dans notre cas, pour connaître une adresse I2C spécifique pour un appareil, il est bon de n’avoir qu’un seul appareil connecté.

    Et parce que nous avons souvent besoin du nombre hexadécimal, nous allons également convertir l’adresse I2C décimale en un nombre hexadécimal.

    Maintenant, ouvrez Thonny et écrivez ou collez le code suivant dans l’EDI :

    import machine
     
    sda=machine.Pin(0)
    scl=machine.Pin(1)
     
    i2c=machine.I2C(0,sda=sda, scl=scl, freq=400000)
     
    print('I2C address:')
    print(i2c.scan(),' (decimal)')
    print(hex(i2c.scan()[0]), ' (hex)')



    MicroPython Pico I2C

  5. Exécutez le programme

    Maintenant, il est temps de sauvegarder votre script. Vous pouvez l’enregistrer sur votre ordinateur ou sur votre carte Pico.

    Ensuite, cliquez sur le bouton Exécuter de l’IDE Thonny. L’adresse I2C de votre appareil apparaîtra en bas de l’écran.

    Thonny I2C-address

    Si vous obtenez un message d’erreur au lieu de l’adresse I2C, vous feriez mieux de vérifier les connexions entre votre Raspberry Pi Pico et votre appareil.

Cette publication vous a-t-elle été utile ?

Cliquez sur une étoile pour la noter !

Note moyenne 5 / 5. Nombre de voix : 1

Aucune évaluation jusqu’à présent ! Soyez le premier à évaluer cette publication.

Nous sommes désolés que ce tutoriel ne vous ait pas été utile !

Améliorons ce tuto !

Dites-nous comment nous pouvons améliorer ce tuto ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Cette publication vous a-t-elle été utile ?

Cliquez sur une étoile pour la noter !

Note moyenne 5 / 5. Nombre de voix : 1

Aucune évaluation jusqu’à présent ! Soyez le premier à évaluer cette publication.

Nous sommes désolés que ce tutoriel ne vous ait pas été utile !

Améliorons ce tuto !

Dites-nous comment nous pouvons améliorer ce tuto ?

découvrez ici plus de produits

Soyez le premier informé de nos derniers tutoriels et produits en vous inscrivant à notre Newsletter

freva.com respecte votre vie privée. Lisez notre politique de protection de la vie privée sur la façon dont nous traitons vos informations personnelles.