Bonjour,
L'inscription sur ce forum et les premiers messages sont modérés par un Administrateur.
Ce n'est pas très convivial mais malheureusement nécessaire suite au spam intensif de nos amis russes.
Cordialement,
Dominique

PYBStick ESP32-C3 : SoftI2C plutôt que I2C

PYBStick de Garatronic.fr est une Carte MicroPython / Arduino IDE à prix abordable.
Forum rules
La PYBStick est supporté par MC Hobby (MicroPython) et Garatronic (Arduino IDE).
Merci de suivre les recommandations suivantes.
Pensez à:
  • Titre claire: permettant d'identifier le produit et le problème
  • Contenu complet: schema, message d'erreur, etc (tout ce qui permet d'aider à distance).
  • Fichier joint: Max 300 Ko
  • Courtoisie et précision
Post Reply
User avatar
fpie
Posts: 36
Joined: Sun 24 May 2020 08:25
Location: Auch, Gers, France, Terre
Contact:

PYBStick ESP32-C3 : SoftI2C plutôt que I2C

Post 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 113 times
et je ne pense pas l'avoir encore fourni. C'est fait :-)
User avatar
framboise314
Posts: 4
Joined: Mon 15 Jun 2020 13:50

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

Post by framboise314 »

merci Frédéric !
Cordialement
François - framboise314
Post Reply