Page 3 sur 5

Re: Montages ESP32 S3 WROOM

Posté : 11 août 2026, 07:25
par likiki
:bienv: :bienv: :bienv:

Re: Montages ESP32 S3 WROOM

Posté : 16 août 2026, 18:26
par Clem68
Exemple N° 7.1

Sonnette sur buzzer
7.1.2.jpg
1 résistance 1 ko
2 résistances 10 ko
1 transistor NPN S8050
1 buzzer actif
7.1.1.jpg
Le sketch:

Code : Tout sélectionner

/**********************************************************************
  Filename    : Doorbell
  Description : Control active buzzer by button.
  Auther      : www.freenove.com
  Modification: 2024/06/18
**********************************************************************/
#define PIN_BUZZER 14
#define PIN_BUTTON 21

void setup() {
  pinMode(PIN_BUZZER, OUTPUT);
  pinMode(PIN_BUTTON, INPUT);
}

void loop() {
  if (digitalRead(PIN_BUTTON) == LOW) {
    digitalWrite(PIN_BUZZER,HIGH);
  }else{
    digitalWrite(PIN_BUZZER,LOW);
  }
}


Hors sujet:

Vu que je suis restreint au niveau bricolage cause chaleur, je me suis fait un petit forum sur forumactif, histoire de m'occuper. Je sais que je ne dois pas penser à avoir des membres, mais bon, ça occupe.... :siffle:
https://lecoindespassions.forumactif.com/

@+

Re: Montages ESP32 S3 WROOM

Posté : 16 août 2026, 19:29
par Amigorl
Wroom... Ça roule.... :PetitPoucejpg:

Re: Montages ESP32 S3 WROOM

Posté : 16 août 2026, 20:14
par likiki
:cooooool: :cooooool:

Re: Montages ESP32 S3 WROOM

Posté : 16 août 2026, 20:28
par C2Vues-BricoTrain
:bienv: :bienv:

:PetitPoucejpg: :PetitPoucejpg: :PetitPoucejpg:

C'est bien de faire ton forum sur ce que tu fais, j'espère que tu trouveras ton public...
(Même si je n'y ai pas laissé de commentaire, j'ai quand même fait le détour pour aller voir :mdr1: )

Re: Montages ESP32 S3 WROOM

Posté : 17 août 2026, 10:04
par patrice_b
:bienv: :bienv:

Re: Montages ESP32 S3 WROOM

Posté : 18 août 2026, 11:12
par Clem68
:merciiii: pour vos retours c’est sympa.

Fernando
C'est bien de faire ton forum sur ce que tu fais, j'espère que tu trouveras ton public...
Comme je l’ai dit ça m’occupe un peu, mais je ne me fait pas trop d’illusion quant au public… les forums n’ont plus la cote face aux réseaux sociaux. Sinon mon forum est opérationnel et actif :siffle:

@+

Re: Montages ESP32 S3 WROOM

Posté : 18 août 2026, 21:45
par Clem68
Exercice: N° 7.2

Alarme sur Buzzer

Même câblage que précédemment sauf que le Buzzer actif est remplacer par un Buzzer passif

Le sketch:

Code : Tout sélectionner

/**********************************************************************
  Filename    : Alertor
  Description : Using software pwm to control passive buzzer by button.
  Auther      : www.freenove.com
  Modification: 2024/06/18
**********************************************************************/
#define BUZZER_PIN     14
#define PIN_BUTTON     21
hw_timer_t * timer = NULL;

bool isAlerting = false;

void IRAM_ATTR onTimer() {
  digitalWrite(BUZZER_PIN, !digitalRead(BUZZER_PIN));
}

void setup() {
  pinMode(PIN_BUTTON, INPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  // Set the timer frequency to 1MHz.(see ESP32 Technical Reference Manual for more info).
  timer = timerBegin(1000000);
  // Attach onTimer function to our timer.
  timerAttachInterrupt(timer, &onTimer);
}
void loop() {
  if (digitalRead(PIN_BUTTON) == LOW) {
    if (!isAlerting) {
      isAlerting = true;
      // Set alarm, 1ms, repeat, auto-reload value.
      timerAlarm(timer, 1000, true, 0);
      // Start an alarm
      timerStart(timer);
    }
    alert();
  } else {
    if (isAlerting) {
      isAlerting = false;
      timerStop(timer);
      digitalWrite(BUZZER_PIN, LOW);
    }
  }
}

void alert() {
  float sinVal;
  int toneVal;
  for (int x = 0; x < 360; x += 1) {
    sinVal = sin(x * (PI / 180));
    toneVal = 2000 + sinVal * 500;
    timerAlarm(timer, 500000 / toneVal, true, 0);
    delay(1);
  }
}


@+

Re: Montages ESP32 S3 WROOM

Posté : 19 août 2026, 10:17
par patrice_b
:merciiii: :merciiii: :bienv:

Re: Montages ESP32 S3 WROOM

Posté : 27 août 2026, 10:57
par Clem68
:merciiii: Patrice !

Exercice: N°8.1

Communication série: ESP à l'ordinateur, envoyer des données à l'ordinateur

Pas de câblage dans cet exercice, juste brancher l'ESP à l'ordinateur.

Le sketch:

Code : Tout sélectionner

/**********************************************************************
  Filename    : SerialPrinter
  Description : Use UART send some data to PC, and show them on serial monitor.
  Auther      : www.freenove.com
  Modification: 2024/06/18
**********************************************************************/

void setup() {
  Serial.begin(115200);
  Serial.println("ESP32 initialization completed!");
}

void loop() {
  Serial.printf("Running time : %.1f s\n", millis() / 1000.0f);
  delay(1000);
}


@+

Re: Montages ESP32 S3 WROOM

Posté : 27 août 2026, 11:49
par likiki
:cooooool: :cooooool: :cooooool:

Re: Montages ESP32 S3 WROOM

Posté : 28 août 2026, 10:44
par Clem68
:merciiii:

Exercice: N°8.2

Communication série: Recevoir des données de l'ordinateur

Juste le sketch qui change:

Code : Tout sélectionner

/**********************************************************************
  Filename    : SerialRW
  Description : Use UART read and write data between ESP32 and PC.
  Auther      : www.freenove.com
  Modification: 2026/01/12
**********************************************************************/
String inputString = "";      // a String to hold incoming data
bool stringComplete = false;  // whether the string is complete

void setup() {
  Serial.begin(115200);
  Serial.println("\nESP32 initialization completed!");
  Serial.println("Please input some characters,");
  Serial.println("select "Newline" below and Ctrl + Enter to send message to ESP32.");
  Serial.println("Ready to receive data...\n");
}

void loop() {
  if (Serial.available()) {
    inputString = Serial.readStringUntil('\n');

    // trim() removes leading and trailing whitespace characters, including \r, \n, tabs, etc.
    inputString.trim();
    
    if (inputString.length() > 0) {
      stringComplete = true;
    }
  }

  if (stringComplete) {
    Serial.printf("inputString: %s\r\n", inputString.c_str());
    inputString = "";
    stringComplete = false;
  }
}
Ouvrir le moniteur série
Entrer des caractères dans la fenêtre et appuyer sur Ctrl, Entrée.



@+

Re: Montages ESP32 S3 WROOM

Posté : 28 août 2026, 10:58
par C2Vues-BricoTrain
:merciiii: Clément pour toutes ces présentations. :cooooool:

:PetitPoucejpg: :PetitPoucejpg: :PetitPoucejpg: :PetitPoucejpg:

Re: Montages ESP32 S3 WROOM

Posté : 28 août 2026, 11:06
par likiki
Si j'ai bien compris tu retourne le message reçus ?

Il n'y pas de comparaison du texte entré pour effectuer une action donnée ?

Peut être la prochaine étape ... :lunette:

:PetitPoucejpg:

Re: Montages ESP32 S3 WROOM

Posté : 28 août 2026, 15:00
par Clem68
:merciiii: à vous!
Il n'y pas de comparaison du texte entré pour effectuer une action donnée
Non, tout est expliqué ici => Tuto :siffle:

Re: Montages ESP32 S3 WROOM

Posté : 29 août 2026, 15:51
par Clem68
Exercice: N° 9

Lire la tension du potentiomètre
ex9.jpg
Le sketch:

Code : Tout sélectionner

/**********************************************************************
  Filename    : ADC_DAC
  Description : Basic usage of ADC and DAC for esp32.
  Auther      : www.freenove.com
  Modification: 2024/06/18
**********************************************************************/
#define PIN_ANALOG_IN  1

void setup() {
  Serial.begin(115200);
}

void loop() {
  int adcVal = analogRead(PIN_ANALOG_IN);
  double voltage = adcVal / 4095.0 * 3.3;
  Serial.printf("ADC Val: %d, \t Voltage: %.2fV\r\n", adcVal, voltage);
  delay(200);
}


@+

Re: Montages ESP32 S3 WROOM

Posté : 29 août 2026, 17:06
par likiki
:cooooool: :cooooool: :cooooool:

L'amélioration pourrait passer par le changement de l'affichage que si la valeur du potentiomètre change. :PetitPoucejpg:

Re: Montages ESP32 S3 WROOM

Posté : 30 août 2026, 16:21
par Clem68
L'amélioration pourrait passer par le changement de l'affichage que si la valeur du potentiomètre change.
Exact!

Exercice: N° 10

Capteur tactile
ex10.jpg
Le sketch:

Code : Tout sélectionner

/**********************************************************************
  Filename    : TouchRead
  Description : Read touch sensor value.
  Auther      : www.freenove.com
  Modification: 2024/06/18
**********************************************************************/

void setup()
{
  Serial.begin(115200);
}

void loop()
{
  Serial.printf("Touch value: %d \r\n",touchRead(T14));  // get value using T0(GPIO4)
  delay(1000);
}


@+

Re: Montages ESP32 S3 WROOM

Posté : 30 août 2026, 16:26
par likiki
Pas mal. :cooooool: :cooooool: :cooooool:

Re: Montages ESP32 S3 WROOM

Posté : 30 août 2026, 18:18
par ramasoft
Il y a 10 broches utilisables directement en contact tactile: elles sont en vert clair sur le schéma.
Dans la vidéo c'est un S3 mais tout ça est valable pour toute la gamme des ESP32 sauf sur les C3

On peut les utiliser de différentes manières:

- En Lecture : touchRead(pin) renvoie une valeur numérique (plus elle est basse, plus le contact est fort (pas très intuitif ...).
- En Seuil : il faut calibrer un seuil expérimentalement (ex. valeur au repos ~60-80, valeur au contact ~20-30), car cela dépend du câblage, de l'humidité, de la longueur du fil, etc. -> pas facile en pratique
- Par Interruptions tactiles : touchAttachInterrupt() permet de déclencher une fonction automatiquement au franchissement d'un seuil, sans avoir à sonder en boucle. C'est le mode de fonctionnement le plus simple à programmer et aussi le plus sûr.

Attention à la sensibilité au bruit : un fil non blindé, trop long, ou proche d'une source de perturbation électromagnétique peut donner des faux positifs. Un simple fil de quelques cm relié à une pastille métallique fonctionne bien pour un usage genre "bouton tactile caché".
ESP32-DEV-KIT-DevKitC-v4-pinout-mischianti.jpg

Re: Montages ESP32 S3 WROOM

Posté : 31 août 2026, 17:33
par Clem68
:merciiii: à vous!

Patrick

Super ce complément d'informations. Vrai qu'il y a plusieurs types de ESP 32 avec plus ou moins des connexions de broches différentes...

Exercice: N°10.2

Allumage d'une led avec un interrupteur tactile

1 Résistance de 220 Ohms
ex10.2.jpg
Le sketch:

Code : Tout sélectionner

/**********************************************************************
  Filename    : TouchLamp
  Description : Control led by touch button.
  Auther      : www.freenove.com
  Modification: 2024/06/18
**********************************************************************/
#define PIN_LED   21
#define PRESS_VAL 200000  //Set a threshold to judge touch
#define RELEASE_VAL 60000 //Set a threshold to judge release

bool isProcessed = false;
void setup() {
  Serial.begin(115200);
  pinMode(PIN_LED, OUTPUT);
}
void loop() {
  if (touchRead(T14) < PRESS_VAL) {
    if (!isProcessed) {
      isProcessed = true;
      Serial.println("Touch detected! ");
      reverseGPIO(PIN_LED);
    }
  }

  if (touchRead(T14) > RELEASE_VAL) {
    if (isProcessed) {
      isProcessed = false;
      Serial.println("Released! ");
    }
  }
}

void reverseGPIO(int pin) {
  digitalWrite(pin, !digitalRead(pin));
}
Lorsque l'on touche le câble, la led s'allume




@+

Re: Montages ESP32 S3 WROOM

Posté : 05 sept. 2026, 11:00
par Clem68
Exercice: N°11

Allumage d'une led avec un potentiomètre

1 Résistance de 220 Ohms
ex11.1.jpg
Le sketch:

Code : Tout sélectionner

/**********************************************************************
  Filename    : SoftLight
  Description : Controlling the brightness of LED by potentiometer.
  Auther      : www.freenove.com
  Modification: 2024/06/18
**********************************************************************/
#define PIN_ANALOG_IN   1
#define PIN_LED         14
#define CHAN            0
void setup() {
  ledcAttachChannel(PIN_LED, 1000, 12, CHAN);
}

void loop() {
  int adcVal = analogRead(PIN_ANALOG_IN); //read adc
  int pwmVal = adcVal;                    // adcVal re-map to pwmVal
  ledcWrite(PIN_LED, pwmVal);             // set the pulse width.
  delay(10);
}


@+

Re: Montages ESP32 S3 WROOM

Posté : 05 sept. 2026, 17:13
par likiki
:bienv: :bienv: :bienv: :bienv: :bienv:

Re: Montages ESP32 S3 WROOM

Posté : 07 sept. 2026, 15:59
par Clem68
:merciiii:

Exercice: N°11.2

Allumage d'une led rgb avec un potentiomètre pour chaque couleur

3 Résistances de 220 Ohms
ex11.2.jpg
Le sketch:

Code : Tout sélectionner

/**********************************************************************
  Filename    : SoftColorfulLight
  Description : Controlling the color of RGBLED by potentiometer.
  Auther      : www.freenove.com
  Modification: 2024/06/18
**********************************************************************/
const byte adcChns[] = {12, 13, 14};      //define led pins
const byte ledPins[] = {38, 39, 40};       //define the pwm channels
const byte pwmChns[] = { 0,  1,  2};    // define the adc channels
int colors[] = {0, 0, 0};               // red, green ,blue values of color.
void setup() {
  for (int i = 0; i < 3; i++) {   //setup the pwm channels
    ledcAttachChannel(ledPins[i], 1000, 8, pwmChns[i]);
  }
}

void loop() {
  for (int i = 0; i < 3; i++) {
    colors[i] = map(analogRead(adcChns[i]), 0, 4095, 0, 255); //calculate color value.
    ledcWrite(ledPins[i], 256 - colors[i]);   //set color
  }
  delay(10);
}


@+

Re: Montages ESP32 S3 WROOM

Posté : 07 sept. 2026, 16:23
par C2Vues-BricoTrain
:bienv: :bienv:

:PetitPoucejpg: :PetitPoucejpg: :PetitPoucejpg:

Je suppose que l'on peut faire des mélages teintes avec les couleur entre-elles (en jouant sur 2 ou les 3 potars...)