Skip to content

Communication sérielle

i2C


C'est quoi la communication i2C

La communication i2C est un protocole de communication série sur "2 fils", nommé SDA et SCL. La communication I2C est un standard très utilisé et qui rend très facile l'utilisation de très nombreux modules et capteurs avec un micro-contrôleur.

On va commencer ici par présenter cette technologie afin d'avoir les rudiments qui seront utile pour son utilisation. Chaque module I2C présent sur le bus est reconnu par son adresse.


La classe native MicroPython I2C

Micropython fournit nativement une classe dédiée à la communication I2C, la classe I2C. Ici nous présentons cette classe et le principe de son utilisation.

Concrètement, en pratique, on utilisera rarement directement les fonctions de cette classe, à part le constructeur, car on


Afficheur LCD 2x16 à communication I2C

Un module très intéressant et polyvalent utilisant la communication I2C est un afficheur LCD 2x16 ( ou 4x20, les 2 formats existent). Ce type de modules permettent d'afficher des messages, des chiffres sur un afficheur.

Nous allons ici présenter ce module et voir comment le connecter à la carte Pi Pico. Vraiment rien de compliqué comme vous allez le voir.


Bonus : principe de fonctionnement d'un Afficheur LCD 2x16 brut et circuit de "conversion" I2C

Les afficheurs LCD sont basés sur un CI interne standard. Celui permet de contrôler l'afficheur via un bornier 8-10 broches.

Pour faire la transposition vers I2C, le module utilise un "convertisseur parrallèle vers série i2C" : en pratique, il s'agira soit d'un PCF8574 (Texas Instruments) ou via un MCP23008 (Microchip). Nous expliquons ici comment l'utilisation de ces circuits permet de réduire l'utilisation de 8 fils vers 2.


Installer la librairie Micropython pour utilisation d'un afficheur LCD i2C avec le Pi Pico

Avant de pouvoir utiliser le module, il va falloir installer une librairie dédiée. C'est ce que nous allons faire ici.


Prise en main du module afficheur LCD i2C en mode "interpréteur"

Pour prendre en main le module LCD i2C, le mode interpréteur de Micropython s'avère particulièrement intéressant et ludique.

Ici, nous allons voir comment déclarer l'afficheur, comment se connecter, tester et découvrir les fonctions de base et afficher ainsi les premiers messages.


Monitorer la température interne du Pi Pico sur un afficheur LCD i2C

Nous allons ici réaliser une première application concrète utilisant un afficheur LCD i2C : monitorer la température interne de la carte Pi Pico.


Mesurer une fréquence de rotation rapide d'un moteur

Nous allons ici monitorer la vitesse de rotation d'un moteur à l'aide d'un opto-fourche.


Mesurer une fréquence de rotation lente d'un anémomètre

Nous allons ici monitorer la vitesse de rotation d'un anémomètre à l'aide d'un opto-fourche.

1-wire


C'est quoi la communication 1wire

La communication 1-wire est un protocole de communication série sur "1 fil" d'où son nom.

On va commencer ici par présenter cette technologie afin d'avoir les rudiments qui seront utile pour son utilisation.


Le capteur DS18B20, un capteur de température "1wire" avec une précision de 0.0625°C !

Capteur emblématique de la communication 1-wire, le capteur de température DS18B20 offre une précision très intéressante et une stabilité de mesure qui le rende très populaire.

Dans cette étape, nous allons faire connaissance avec la "bête", découvrir ses différentes formes existantes et voir comment le câbler sur la Pi Pico.


Installer les librairies 1-wire et 18x20 pour utilisation avec Micropython

Avant toute chose, il faut installer les librairies 1-wire et 18x20 pour une utilisation du capteur DS18B20 : c'est ce que nous allons faire ici.


Faire une première mesure de température avec le DS18B20 utilisé avec la Pi Pico

Le moment tant attendu est arrivé : nous allons pouvoir enfin faire une première mesure de température avec notre DS18B20 et le Pi Pico.


Un thermomètre électronique avec un DS18B20 et un afficheur LCD i2C

A présent, nous allons réaliser une première application concrète opérationnelle avec ce capteur, un thermomètre électronique (de précision) avec affichage sur

Attention : on utilise ici un afficheur i2C et on suppose que vous savez déjà le faire. Voir tuto précédent le cas échéant.

Comm UART hardware

...