Outils pour utilisateurs

Outils du site


start:projets:thierrylpr

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
start:projets:thierrylpr [2020/12/15 16:13] – [L'alimentation (en cours)] thierrypstart:projets:thierrylpr [2023/01/27 16:08] (Version actuelle) – modification externe 127.0.0.1
Ligne 640: Ligne 640:
 </code> </code>
  
-==== Passage en paramétrage (en cours) ====+==== Passage en paramétrage ====
 Le module **ESP32** est en veille quasi permanente. Le module **ESP32** est en veille quasi permanente.
 Il faut donc convenir du passage en paramétrage. Il faut donc convenir du passage en paramétrage.
-J'ai choisi de démarrer le paramétrage en positionnant un cavalier connecté sur un **GPIO** de l'**ESP32** et au redémarrage de celui-ciil passe en programmation par Bluetooth serial+J'ai choisi de démarrer le paramétrage avec un fil sur le GPIO15 (T3)de l'ESP32 grâce à la fonctionnalité "Touch Pad". Sur simple touché du fill'ESP32 sort de son sommeil et passe en mode programmation par Bluetooth serial
 + 
 +Voici le principe de la gestion du mode veille, du mode paramétrage et du mode mesures:
  
 <code css Passage en paramétrage> <code css Passage en paramétrage>
 +//Define touch sensitivity. Greater the value, more the sensitivity.
 +#define Threshold 40
 +#define uS_TO_S_FACTOR 1000000  /* Conversion factor for micro seconds to seconds */
 +#define TIME_TO_SLEEP  10        /* Time ESP32 will go to sleep (in seconds) */
 +
 +touch_pad_t touchPin;
 +
 +void callback(){
 +  //placeholder callback function: on arrive ici quand on est pas en mode sleep
 +  Serial.println ("-------------------------------------callback");
 +}
 +
 +void setup(){
 +  Serial.begin(115200);
 +  delay(1000);
 +
 + //débranchement
 + touch_pad_t pin;
 + touchPin = esp_sleep_get_touchpad_wakeup_status();
 + switch(touchPin)
 +  {
 +    case 3  : configuration(); break;
 +    default : mesures(); break;
 +  }
 +}
 +
 +void configuration(){
 +  Serial.println("-------------Configuration");
 +      //Go to sleep now
 +
 +         //Setup interrupt on Touch Pad 3 (GPIO15)
 +touchAttachInterrupt(T3, callback, Threshold);
 +  //Configure Touchpad as wakeup source
 +esp_sleep_enable_touchpad_wakeup();
 +esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);
 +
 +  Serial.println ("Configuration: go to sleep");
 +  esp_deep_sleep_start();}
 +void mesures(){
 +  Serial.println("-------------Mesures");
 +    //Setup interrupt on Touch Pad 3 (GPIO15)
 +touchAttachInterrupt(T3, callback, Threshold);
 +  //Configure Touchpad as wakeup source
 +esp_sleep_enable_touchpad_wakeup();
 +esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);
 +//Go to sleep now
 +  Serial.println ("Mesures: go to sleep");
 +  esp_deep_sleep_start();
 +
 +  }
 +void loop(){
 +  Serial.println("-->loop");
 +  delay (5000);
 +  Serial.println("<--loop");
 +}
 </code> </code>
 +
 +E la fin des mesures, on doit repasser en mode sleep.
 +En ce qui concerne le paramétrage, il faut rajouter une ligne pour repasser en mode sleep.
 +Pour sécuriser, il convient de tester un temps maximum de paramétrage si oublie d'actionner le menu.
 +
 +enfin, il faut merger l'ensemble des programmes précédent en un seul pour avoir un code final dans la ruche avec toutes les fonctionnalités embarquées.
 +
  
 ===== Le code final V02 (en cours) ===== ===== Le code final V02 (en cours) =====
Ligne 654: Ligne 718:
  
 </code> </code>
-====== L'alimentation (en cours) ====== +====== L'alimentation ====== 
-L'alimentation doit être entre 2.3V à 3.6V+Le sujet est très compliqué. L'alimentation doit être entre 2,3V à 3,6V 
 +Les piles pertinentes sont en 3,7V. 
 +Sans doute faudra-t-il un renfort de panneaux solaires. 
 +Les régulateurs 3,3V existants demande une tension d'entrée minimum de 4,5V. 
 +etc... 
 + 
 +Il est possible de vérifier la charge de la  batterie et de l'envoyer en tant que données afin d'anticiper le changement de la pile.  
 + 
 +Je vais porter l'ensemble du code et du montage sur ce kit avec une pile 18650 intégrée. 
 +Dans un premier temps des tests de durée de la pile sont nécessaires. 
 + 
 +{{ :start:projets:18650.jpg?direct&200 |}} 
 +Après de longs échanges et de longues recherches, je vais m'arrêter sur ce montage: 
 +{{ :start:projets:alimentation.jpg?direct&400 |}}
  
-Il est possible de vérifier la charge de la  batterie et de l'envoyer en tant que données+Dans une version future, la pile sera branchée également sur une GPIO de l'ESP32 afin de mesurer le pourcentage de charge et de l'envoyer également comme donnée afin d'anticiper le changement de cette pile.
  
 ====== Le schéma électronique (en cours) ====== ====== Le schéma électronique (en cours) ======
/home/chanteri/www/fablab37110/data/attic/start/projets/thierrylpr.1608045198.txt.gz · Dernière modification : 2023/01/27 16:08 (modification externe)