Bouton reset esp32cam

Bonjour a tous j'essaye de faire un projet basé sur un esp32cam mais je remarque que lorsque que j'allume l'esp32cam je dois appuyer sur le bouton reset ce qui est très problematique pour mon projet.J'ai lu d'après certaine personnes que si connecte un bouton poussoir a l'alimentation de mon esp32cam cela ferais le même effet j'ai donc une idee d'utiliser un autre microcontroleur par exemple un attiny sa suffira et declenche l'allumage et l'eteindre très rapidement pour simuler un bouton reset a l'aide d'un transistor.Pour vous cette idee peut elle marcher ou il y a t'il d'autre solution hardware ou software.
Merci a vous!

Bizare.
J'ai vu un projet avec ESP32Cam où il fallait appuyer sur Reset pour prendre une photo.

Mais ce n'était pas la faute de l'ESP32Cam, c'est le programme qui était fait comme cela.

Dans un microcontroleur tout le programme se tient dans la fonction loop.
Si seulement la fonction setup est "garnie" alors qu'elle ne peut être parcourue qu'une seule fois normal qu'il faille appuyer sur reset.

Et si tu appliquais :

et si tu publiais le programme en question ?

Wifi_esp32.ino (4,2 Ko)
Voici le code pas fini je ne comprend pas pleinement ce que tu veux dire,ce que vous voulez dire c'est que ce n'est pas obligatoire que le bouton reset soit appuyer pour que le code fonctionne mais moi dans mon code et dans plusieurs de mes codes je suis obliger de faire cela.Pourquoi?

Tu lis le message indiqué.

Il y a marqué que le code se met dans le corps du message et entre balises code.
Si tu ne le fais pas tu n'auras pas de réponse parce que tout simplement d'après toi comment font les aidants qui utilisent un téléphone pour te répondre ?

Si c'est demandé c'est que c'est utile, point.

C'est mon jour de bonté, j'ai ouvert ton code dans un éditeur de code, reconnais que ce n'est pas malin de ta part de compliquer la tâche des aidants.

Quand je parlais d'un programme sur ESP32CAM qu'il fallait reseter la loop était comme ça :

void loop()
 {
 
 }

Toi elle est comme ça :

void loop() {
  server.handleClient();
  etat=digitalRead(mouvement);
  if (etat==HIGH){
    Serial.println("Mouvement detecte");
  }

J'en conclu que tu as un détecteur de mouvement connecté sur une pin
Que tu lis l'état de la pin
Que si elle passe à l'état haut, tu envoies un message sur le moniteur.

  1. Est-ce que tu détectes bien un mouvement ?

  2. Et si tu détectes un mouvement le programme devrais faire quoi ?
    Je ne vois aucun ordre dans la loop() donc tout se passe dans le setup et bien sur il faut relancer le programme avec un reset.

Vu mes grandes connaissances en programmation j'en resterai là.

Le conseil que je te donne, c'est de placer des informations de mise au point (serial.print) dans les endroits stratégiques pour voir ce qu'il se passe et si le programme y va bien comme prévu.

Je pense aussi que ce programme tu l'as trouvé quelque part, il serait convenable de donner un lien, il doit y avoir des explications qui seront utiles à d'autres plus doués que moi.

Mais bon tout ça c'est demandé dans le message déjà cité.

Je comprend ce que tu veux dire mais le problème n'est pas là,le programme fonctionne en soi mais le souci c'est dès que je redémarre l'esp32cam je dois appuyer sur le bouton reset.

Lorsque que l'esp32cam s'allume il devrait repasser par la fonction setup donc il y a pas de souci.
Après mon code est pas fini dans la boucle if (état==HIGH) et bien je vais rajouter un buzzer mais ça c'est pas complique c pas le cœur de mon problème ce que je ne comprend c pourquoi est on obliger de le resetter.Mon code a était fait en grande partie par moi sauf la partie camera....

Bonsoir

je remarque que lorsque que j'allume l'esp32cam je dois appuyer sur le bouton reset

indépendemment du code qu'on y implante j'ai remarqué que l'appui sur le BP Reset est souvent indispensable après avoir mis sous tension la carte ESP32-CAM, ce qui n'est pas le cas de autres cartes avec ESP32 en général.

hypothèse : le réseau RC du RESET (signal E32_RST) aurait une constante de temps trop faible , par conséquent au branchement du connecteur USB la tension remonterait trop vite sur l'entrée CHIP_PU (Reset de l'ESP32) , d'ou le besoin d'une action manuelle par la suite pour créer un signal de Reset valide

Voila le réseau RC de la carte ESP32-CAM avec , associé à une résistance de 10K, un condensateur de 0,1µF contre 1µF sur mes autres cartes ESP32 (LOLIN D32, LOLIN D32 Lite, TTGO diverses....)
ESP32-CAM Reset

:bulb:En soudant un condensateur de 1µF aux bornes du bouton poussoir ça arrange peut être les choses....et permet peut être un bon démarrage systématique de la carte ESP32_CAM à chaque mise sous tension ??

C'est vrai que sa a l'air probable après c'est dur de trouver des infos sur cette carte car elle est nouvelle mais sa l'air possible après j'avais eu une autre idée un peu moins pérenne ce serais de souder un câble qui serais connecte au gnd lorsque que on le souhaiterais a la 2 borne du bouton poussoir avec un transistor par exemple.

Car le schéma ci contre est comme une résistance de pull up associe a un bouton poussoir?

le schéma de mon message est un extrait du schéma complet de la carte ESP32-CAM, il représente le bouton poussoir de Reset et le Réseau Résistance + Condensateur associé censé produire un Reset à la mise sous tension grâce à une charge de condensateur et au retard de la montée de tension qui en découle.

ok ben merci je vais faire ça après sa être galère de souder a ces pattes mais on va essayer!

j'avoue que je n'ai pas sorti ma carte ESP32-CAM avant de proposer cette éventuelle solution....... qui parait simple sur le papier

Si ce que tu dis est la réalité (et pense que tu as raison) je n'aurais jamais imaginé une connerie aussi énorme.
Je suis assez dégouté de tout ce qui tourne autour des circuits espessif.
Ce n'est que de l'à peu près, il faut faire la chasse aux combines trouvées ça et là.

Il y a quand même "quelque chose qui me perturbe" :
La société suisse Ublox produit des modules basés sur des puces espressif.
Il semblerait que tout fonctionne correctement.
Des modules Ublox sont intégrés à des cartes officielles Arduino.

Ublox aurait-il accès à des informations confidentielles ou les développeurs d'Ublox seraient-ils des génies avec la lampe magique d'Aladin ?

Bonjour @68tjs

Le problème (je me trompe peut être...) parait être ici au niveau de la conception de la carte (condensateur de valeur trop faible) , Espressif ne peut être tenu pour responsable de ce que font les utilisateurs de ses puces à partir du moment ou il a documenté une caractéristique ([ici pages 20 et 45 de la data Sheet]
(https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf))

CHIP_PU doit rester au moins 50µS en dessous de 0,6V après établissement de la tension d'alimentation de 1,8V produite par le régulateur interne.

Chez Ublox on prend certainement le temps de lire attentivement la documentation technique ....et de faire des tests approfondis. Ils ont sans doute également accès à des ingénieurs d'application comme c'est le cas avec tout fabricant de puce quand on est un client important.

Ceci dit la carte ESP32-CAM en donne beaucoup pour un prix très modique, on peut lui pardonner quelques points faibles

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.