Micro projet de pseudo sonnette

La surenchère sur les capacités anoncées est forcenée !!
On va bientôt dépasser les 10.000 mAh pour le format 18650 au train où vont les choses.....

de plus la, mise en parallèle de'accus LIon ne se fait pas n'importe comment et avec n'importe quels accus

Envisager également l'accu LIPO (plat). Le choix est immense.
https://fr.aliexpress.com/store/215388?spm=a2g0s.9042311.0.0.27426c37GNMCdX

Vous oubliez l'ESP32 les amis ! Avec son deep sleep, il consomme très peu et peut être réveillé par contact sur une des ses pins tactiles (à vérifier cependant, la mariée est peut-être trop belle...)

Edit : je confirme, l'ESP32 peut sortir du deep sleep par touche tactile, voir ici

void print_wakeup_reason(){
  esp_sleep_wakeup_cause_t wakeup_reason;

  wakeup_reason = esp_sleep_get_wakeup_cause();

  switch(wakeup_reason){
    case ESP_SLEEP_WAKEUP_EXT0 : Serial.println("Wakeup caused by external signal using RTC_IO"); break;
    case ESP_SLEEP_WAKEUP_EXT1 : Serial.println("Wakeup caused by external signal using RTC_CNTL"); break;
    case ESP_SLEEP_WAKEUP_TIMER : Serial.println("Wakeup caused by timer"); break;

// ICI
    case ESP_SLEEP_WAKEUP_TOUCHPAD : Serial.println("Wakeup caused by touchpad"); break;
//

    case ESP_SLEEP_WAKEUP_ULP : Serial.println("Wakeup caused by ULP program"); break;
    default : Serial.printf("Wakeup was not caused by deep sleep: %d\n",wakeup_reason); break;
  }
}

L'ESP32 a 10 pins tactiles.


Le site donne un exemple de lecture de touche tactile:*

// ESP32 Touch Test
// Just test touch pin - Touch0 is T0 which is on GPIO 4.

void setup() {
  Serial.begin(115200);
  delay(1000); // give me time to bring up serial monitor
  Serial.println("ESP32 Touch Test");
}

void loop() {
  Serial.println(touchRead(4));  // get value of Touch 0 pin = GPIO 4
  delay(1000);
}

Il présente aussi un carré tactile, à base d'une feuille d'alu :

Et le tuto pour sortir du deep sleep par touche tactile

merci @lesept cette solution me semble très intéressante!
Primo je réduit le nombre de batterie et donc le prix au final
deuzio il y a un sleep mode que je peux reveiller par touch donc tres en accord avec le besoin et surtout je recharge moins souvent les batterie .
il ne reste plus qu'a savoir si sur cette carte je peux comme le propose @hbachetti mettre un son en dur et brancher un HP ?

Oui ,et avec un peu plus de 'liberté' !!

En fonction du niveau sonore attendu il sera peut être nécessaire d'ajouter un transistor entre sortie ESP32 et HP (comme cela l'aurait été pour une carte Nano)

Mieux : en ajoutant un petit ampli BF à liaison I2S (module avec un MAX98357) et la bonne librairie audio pour ESP32 /ESP8266 il serait possible de jouer un petit fichier mp3 stocké dans la mémoire flash de la carte.

https://fr.aliexpress.com/item/33059488515.html?spm=a2g0o.productlist.0.0.5f0626f1gnj8S6&algo_pvid=9dfe21c5-c089-4e48-a279-46ef0c522706&algo_expid=9dfe21c5-c089-4e48-a279-46ef0c522706-0&btsid=2100bdd816190038193646036e3316&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

alors je dis banco !
je vais commander tous ce petit monde et essayer de faire mon petit montage secret :speak_no_evil:
je tenais a tous vous remercier pour la qualité de vos réponses et la gentillesse pour un bleu comme moi
merci

Dans le cas d'un réveil par touchpad il faut plutôt utiliser ceci :

touch_pad_t touchPin = esp_sleep_get_touchpad_wakeup_status();
switch(touchPin) {
  case 0  : Serial.println("Touch detected on GPIO 4"); break;
  case 1  : Serial.println("Touch detected on GPIO 0"); break;
  case 2  : Serial.println("Touch detected on GPIO 2"); break;
  case 3  : Serial.println("Touch detected on GPIO 15"); break;
  case 4  : Serial.println("Touch detected on GPIO 13"); break;
  case 5  : Serial.println("Touch detected on GPIO 12"); break;
  case 6  : Serial.println("Touch detected on GPIO 14"); break;
  case 7  : Serial.println("Touch detected on GPIO 27"); break;
  case 8  : Serial.println("Touch detected on GPIO 33"); break;
  case 9  : Serial.println("Touch detected on GPIO 32"); break;
  default : Serial.println("Wakeup not by touchpad"); break;
}

Parce que le cause de réveil n'est pas forcément lisible après le démarrage.

Un article à lire :
esp8266-esp32-sur-batterie

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