Page 1 of 1

PYBStick ESP32-C3 : SoftI2C plutôt que I2C

Posted: Tue 15 Nov 2022 16:01
by fpie
Bonjour à tous,
En référence au post de l'ami framboise314, je reviens sur l'utilisation de l'I2C avec la carte PYBStick ESP32-C3. Les dernières versions compilés de Micropython (V1.18, V1.19) nous invitent à déclarer un port i2c logiciel plutôt de matériel. Pourquoi ? Je ne saurait dire précisément mais bon. Suivons le conseil donné.
Cela se fait par exemple de la manière suivante :

Code: Select all

from machine import Pin, SoftI2C
mon_i2c = SoftI2C(scl=Pin(6), sda=Pin(7), freq=10000)
N'importe quelle paire d'entrée sorties peuvent faire l'affaire puisque le driver SoftI2C travaille directement sur les deux entrées/sorties, sans hardware spécifique. Néanmoins, il faut faire attention à la GPIO9, qui est relié au bouton d'activation du bootloader et sur laquelle le condensateur C8 permet d'éviter les rebonds. Pour des signaux rapides en sorties comme en entrée, C8 apparaît tel un court-circuit à la masse. Cela est très probablement la cause des déboires de Josette ;-)

Attention également à ne pas utiliser la GPIO8 qui elle est utilisée pour piloter la led RGB présente sur la carte, afin de ne pas avoir de fonctionnement erratique de cette led. J'ai fait l'économie d'une résistance de tirage sur cette sortie et il arrive parfois que, à la mise sous tension, la led s'allume généralement en blanc. Un peu de code pour initialiser en noir la led permet d'éviter l'aléatoire :

Code: Select all

from machine import Pin
from apa106 import APA106
rvb_led = Pin(8, Pin.OUT)
ap = APA106(rvb_led, 1)
ap[0] = (0, 0, 0) # toute noire
ap.write()
Enfin, le schéma de la carte est ici
schematics_pybstick26_esp32c3_r1dot0.zip
(83.12 KiB) Downloaded 116 times
et je ne pense pas l'avoir encore fourni. C'est fait :-)

Re: PYBStick ESP32-C3 : SoftI2C plutôt que I2C

Posted: Tue 15 Nov 2022 16:29
by framboise314
merci Frédéric !