
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é.
- 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
Si vous manquez des pièces, n’hésitez pas à visiter notre boutique. - 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 SDAComme 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. - 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.
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. - 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)') - 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.
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.