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

La lib pour l'ADS1115 i2c ne fonctionne pas sur la Pi Pico...

A la recherche d'un pilote pour supporter un périphérique matériel? Ou une bibliothèques spécialisée (ex: FFT).
Peut être développez-vous des pilotes MicroPython?
Cette section est le bon endroit pour en parler?
Règles du forum
Vous aimez MicroPython? Nous aussi! Ces forums sont destinés aux amoureux de Python sur MicroContrôleur.
Le support se fait sur base volontaire et uniquement pour des produits officiels (pas de copie SVP).
Le forum de MicroPython.org sera une excellente référence documentaire (en anglais).

Merci de suivre les recommandations suivantes.
Pensez à:
  • Titre claire: permettant d'identifier le produit et le problème
  • Contenu complet: schéma, message d'erreur, etc (tout ce qui permet d'aider à distance).
  • Fichier joint: Max 300 Ko
  • Courtoisie et précision
sensor56
Messages : 41
Inscription : jeu. 1 avr. 2021 07:14

La lib pour l'ADS1115 i2c ne fonctionne pas sur la Pi Pico...

Message par sensor56 »

Si, çà fonctionne.

La lib testée est ici : https://github.com/robert-hh/ads1x15

Bien faire attention à la définition du port i2C : préciser l'index 0 ou 1 ET les broches utilisées (chaque port i2C a plusieurs options possibles pour SDA/SCL)

Code : Tout sélectionner

>>> from machine import I2C, Pin
>>> import ads1x15
>>> i2c=I2C(0, sda=Pin(16), scl=Pin(17))
>>> ads=ads1x15.ADS1115(i2c,72,1) #ads1x15.ADS1115(i2c, addr, gain)
>>> ads.read()
4872
Exemple et détails ici : https://micropython.fr/modules_center/s ... n_ads1115/
Avatar de l’utilisateur
Dominique
Administrateur du site
Messages : 109
Inscription : dim. 17 mai 2020 22:43

Re: La lib pour l'ADS1115 i2c ne fonctionne pas sur la Pi Pico...

Message par Dominique »

Et bien, les deux bus I2C sur le Pico ont bien une définition par défaut... (qu'il est préférable de promouvoir pour une question d'homogénéité dans le code).

Voir l'image PNG qui reprend la configuration par défaut des bus sur le PICO.

Grâce au "Bus Fabric" du Pico, il est possible d'initialiser un bus un peu partout sur le Pico... par contre, cela n'est pas très consistant avec l'approche habituelle sour MicroPython.
Le "Bus Fabric" présente plutôt son intérêt pour l'implémentation industrielle afin de placer le bus là où on en a besoin.

Bonne soirée.
Dominique, MC Hobby.
sensor56
Messages : 41
Inscription : jeu. 1 avr. 2021 07:14

Re: La lib pour l'ADS1115 i2c ne fonctionne pas sur la Pi Pico...

Message par sensor56 »

Oui, mais c'est bien d'être conscient des broches qu'on utilise à mon avis d'une part parce que justement, quand çà ne fonctionne pas, c'est qu'on n'est pas sur les bonnes broches... En plus c'est didactique de rappeler scl= et sda= : même le noobs total il sait du coup qu'un I2C y'a 2 broches.

Et d'autre part, j'ai une façon de mettre le pi pico sur la plaque d'essai "sur la tranche" qui incite à favoriser le côté où on a tout, I2C, ADC, SPI, alim, etc.

Et sur le Pi Pico, une autre raison est de privilégier les usages de certaines broches en raison de leur disposition : I2C c'est 2 broches côte à côte, donc logique d'utiliser GP16 + GP17 plutôt que de "griller" un des rares emplacements à 4 broches côtes à côtes qui sont précieux quand disponibles sur le pico. Sur petit projet, çà n'a pas d'importance, mais dès qu'on grossit un peu, çà l'est.

Bref, j'ai pris l'habitude d'indiquer les broches utilisées explicitement, je trouve que çà évite les erreurs et les recherches en cas de problèmes. Mais je comprend ton point de vue aussi.
Répondre