L’adaptateur I2C (Suite de semaine 3)

L’adaptateur I2C sert à convertir n’importe quel capteur (conçu sans la communication I2C) en I2C.

Pour faire cela, il faut deux microcontrôleurs, un slave et un master. Dans notre cas, un ATtiny 85 ou ATMEGA328P comporte comme un slave, et le ESP32 comporte comme un master. Sur la partie électronique, il suffit de brancher les SDA, SCL, VCC, et GND sur les deux microcontrôleurs. Il n’y a pas besoin d’utiliser les résistances de pull up sur les ligne SDA et SCL car le board de développement ESP32 est déjà équipé de ces résistances.

Sur la partie logicielle, on utilise la bibliothèque TinyWire pour le ATtiny, et la bibliothèque Wire pour le ESP32 et ATmega. Ensuite, il faut programmer le slave d’une marnière qu’il puisse envoie les données une fois qu’il est demandé par le master.

Codes

NB : les valeurs envoyées par le slave ATmega sont des valeurs qu’on génère nous-même aléatoirement pour simuler un capteur mais pratiquement, on peut les remplacer par un vrai capteur. Le concept restera le même.

Les valeurs envoyées par le slave ATtiny85 sont des vraies valeurs qui vient du capteur DS18B20.