Bonjour
Je tente de faire marcher un Pico avec un prog micropython.
L'objectif avoir un Pico qui est alimenté par un petit paneau solaire (qui n'a pas beaucoup de soleil) qui :
- recupere température, humidité => Capteur DHT22
- tension de la baterie => INA219 en I2C
- alimente une pompe de temps en temps => Action sur un Transistor
- pousse en Wifi vers un serveur les parametre
=> Es se rendore en essayant de consomer le moins possible
Actuellement cela fonctionne bien si entre chaque boucle j'utilise la fonction "time.sleep(x)"
Par contre quand je tente d'utiliser une fonction qui met en "sommeil" plus profond comme "picosleep.seconds(x) tout marche sauf le capteur I2C (INA219)
J'ai vraiment le même code qui en fonction d'un interrupteur ouvert ou fermé active time.sleep ou picosleep
Une idée pourquoi l'I2C pourrait ne pas marcher?
PS : le pb c'est que le picosleep fait "sauter" la fenetre terminal de thony donc je sais pas comment debugger
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
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
probleme sur I2C avec picosleep
Forum rules
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 à:
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: schema, message d'erreur, etc (tout ce qui permet d'aider à distance).
- Fichier joint: Max 300 Ko
- Courtoisie et précision
Re: probleme sur I2C avec picosleep
A priori j'ai trouvé un moyen pour que cela fonctionne
C'est comme ci vu le l'INA219 un pico sleep faisait comme une coupure d'alimentation.
Il faut redeclarer les variables a chaque boucles...
Je vais tenter de voir que partie doit etre redéclaré et quel partie reste en memoire apres le picosleep...
C'est comme ci vu le l'INA219 un pico sleep faisait comme une coupure d'alimentation.
Il faut redeclarer les variables a chaque boucles...
Je vais tenter de voir que partie doit etre redéclaré et quel partie reste en memoire apres le picosleep...
Re: probleme sur I2C avec picosleep
Bonjour,
Je vois à l'instant votre sujet... C'est vraiment très intéressant.
Pour référence: voir l'article Deep sleeping the Raspberry Pico with MicroPython (AKA PicoSleep).
J'ai consulté la DataSheet du RP2040 et je n'ai pas trouvé de relation évidente entre le DeepSleep et le bus I2C!
As-tu essayé de faire un I2C.scan() après le réveil ?
Appeler l'I2C.init() permettrait aussi de réinitialiser le bus... ce qui pourrait être nécessaire après un deepsleep.
Bonne nuit,
Dominique
Je vois à l'instant votre sujet... C'est vraiment très intéressant.
Pour référence: voir l'article Deep sleeping the Raspberry Pico with MicroPython (AKA PicoSleep).
J'ai consulté la DataSheet du RP2040 et je n'ai pas trouvé de relation évidente entre le DeepSleep et le bus I2C!
As-tu essayé de faire un I2C.scan() après le réveil ?
Appeler l'I2C.init() permettrait aussi de réinitialiser le bus... ce qui pourrait être nécessaire après un deepsleep.
Bonne nuit,
Dominique
Dominique, MC Hobby.