You are currently viewing Programmer (plus) simplement l’ESP32-CAM avec l’Arduino IDE
Programmer (plus) simplement l’ESP32-CAM avec l’Arduino IDE

Faire clignoter le flash

L’ESP32-CAM possède une LED embarquée très puissante servant de flash pour les photos et les vidéos. Cette LED est routée sur la sortie numérique 4 de l’ESP32-CAM:

Emplacement du flash embarqué sur la carte de développement ESP32-CAM

Comme dans les programmes Arduino précédents, partons de l’ossature de code suivante:

// Fonction de démarrage, s'exécute une seule fois:
void setup()
{
}
// Fonction principale du programme, s'exécute en boucle:
void loop()
{
}

Tout d’abord, afin de faciliter la lecture du programme, nous allons définir l’alias  “PORT_LED_FLASH” pour désigner la sortie numérique du flash.  La directive de préprocesseur#define” permet de créer cet alias:

// Définition des constantes globales
#define PORT_LED_FLASH      4   // Numéro de port auquel est branchée la LED servant de flash.

Nous indiquons ensuite que nous voulons utiliser la broche d’entrée/sortie du flash en mode sortie (“OUTPUT”) à l’aide l’instruction  “pinmode” . Il n’est nécessaire d’exécuter cette instruction qu’une seule fois avant l’utilisation de cette sortie, aussi vous l’insérez dans la fonction “setup” :

  pinMode(PORT_LED_FLASH, OUTPUT);

L’allumage du flash s’effectue par une demande de positionnement de la sortie à l’état allumé (“HIGH”) et son extinction par une demande de positionnement de la sortie à l’état éteint (“LOW”). Vous allez utiliser la fonction digitalWritepour effectuer ce changement d’état de la sortie du microcontrôleur.

Il est également nécessaire de marquer une pause après avoir modifié l’état allumé/éteint du flash pour permettre sa visualisation. Vous utiliserez pour cela la fonction delay”  avec la valeur de 1000 millisecondes en paramètre.

En utilisant ces instructions dans la fonction “loop”, vous obtiendrez l’effet répétitif:

  digitalWrite(PORT_LED_FLASH, HIGH);
  delay(1000);
  digitalWrite(PORT_LED_FLASH, LOW);
  delay(1000);

Maintenant votre programme de clignotement du flash est terminé. Voici le code complet:

// Définition des constantes globales
#define PORT_LED_FLASH      4   // Numéro de port auquel est branchée la LED servant de flash.

// Fonction de démarrage, s'exécute une seule fois:
void setup()
{
  pinMode(PORT_LED_FLASH, OUTPUT);
}
// Fonction principale du programme, s'exécute en boucle:
void loop()
{
  digitalWrite(PORT_LED_FLASH, HIGH);
  delay(1000);
  digitalWrite(PORT_LED_FLASH, LOW);
  delay(1000);
}

Compilation du code logiciel

Si vous n’êtes pas familier avec la compilation sous Arduino je vous invite à vous reporter à l’article “Comment écrire un programme sous Arduino ?“.

Pour les autres, la compilation ne pose pas de difficulté particulière une fois le type de carte “AI Thinker ESP32-CAM” sélectionné.

Vérification de la reconnaissance du programmateur ESP32-CAM-MB par votre PC

Le programmateur ESP32-CAM-MB repose sur le convertisseur USB/TTL CH340C qui nécessite la présence de pilotes spécifiques sur votre PC.

Pour vérifier que ce pilote est déjà présent ou lancer son installation automatique, commencez par branchez votre convertisseur USB/TTL CH340C au port USB de votre PC.

Branchement du cable USB au PC

Dans sa version 10 de Windows, Microsoft a caché son gestionnaire de périphériques matériels, il n’est plus directement accessible depuis le panneau de configuration.

La solution pour y accéder est d’appuyer sur la combinaison de touches  ‘Windows’ + ‘X’ pour ouvrir le menu administrateur puis de sélectionner “Gestionnaire de périphériques”:

Menu administrateur de Windows 10

Une fois le gestionnaire de périphérique ouvert, cliquez sur la branche “Ports (COM et LPT)” pour afficher les sous-éléments:

Le "Gestionnaire de périphériques" possède le pilote du convertisseur USB/TTL CH340 de WCH

Si vous voyez apparaître “USB-SERIAL CH340” ainsi que le port associé, c’est que Windows 10 a correctement identifié le périphérique et a installé automatiquement les pilotes nécessaires pour sa gestion. Vous pouvez alors utiliser votre programmateur, vous n’avez rien de plus à faire.

Si vous ne trouvez pas votre programmateur ESP32-CAM-MB dans la branche “Ports (COM et LPT)” mais dans la branche “Autre périphériques” comme ci-dessous, cela signifie que Windows n’a pas trouvé les pilotes de votre programmateur et que vous devez les installer manuellement comme détaillé dans l’article Installer un convertisseur USB/TTL CH340 .

Le "Gestionnaire de périphériques" n'a pas de pilote pour le convertisseur USB/TTL CH340 de WCH.

Transfert du programme dans la carte ESP32-CAM

La carte ESP32 et donc le module ES32-CAM ont 2 différents modes de fonctionnement:

  • Le mode normal d’exécution de programme
  • Le mode de transfert de programme
Modes de fonctionnement de l'ESP32-CAM avec Arduino
Modes de fonctionnement de l’ESP32-CAM avec Arduino

Le basculement vers l’un ou l’autre de ces 2 modes s’effectue au démarrage:

  • Si le bouton de mode de transfert (IO0) est enfoncé, alors l’entrée GPI0 de l’eSP32-CAM est reliée à la masse, ce qui la fait basculer le module en mode Transfert de programme (par liaison, série).
  • S’il n’y a pas d’appui sur le bouton mode de transfert, l’entrée GPI0 de l’ESP32-CAM est déconnectée et donc le module bascule en mode Exécution du programme (stocké en mémoire flash).

Pour le transfert du programme que vous venez de compiler, la première chose à faire est de lister les ports USB visibles par l’Arduino IDE avant même le branchement de votre convertisseur USB/TTL à votre PC.
Dans le menu “Outils”, cliquez sur “Port” puis notez les ports listés:

Liste des ports USB de l'Arduino IDE avant le branchement de l'ESP32-CAM
Liste des ports USB de l’Arduino IDE avant le branchement de l’ESP32-CAM

Vous branchez le câble USB à votre PC:

Branchement du cable USB au PC

Vous allez maintenant démarrer l’ESP32-CAM en mode Transfert de programme. Voici la procédure:

Vous gardez le doigt appuyé sur le bouton Mode de transfert (IO0) appuyé tout en branchant le câble USB à la carte ESP32-CAM. Vous attendez 3 secondes puis relâchez le bouton.

Instruction pour programmer l'ESP32-CAM
Légende pour programmer l’ESP32-CAM

Maintenant si vous allez dans le menu “Outils” puis cliquez sur “Port” vous voyez un nouveau port référencé. C’est celui qui correspond à notre carte de développement ESP32-CAM. Sélectionnez-le pour indiquer à l’Arduino IDE d’utiliser ce port USB pour le transfert du programme.

Liste des ports USB de l'Arduino IDE après le branchement de l'ESP32-CAM
Liste des ports USB de l’Arduino IDE après le branchement de l’ESP32-CAM

Vous pouvez maintenant lancer le transfert de ce programme dans la carte ESP32-CAM en utilisant au choix:

  • L’icône représentant une flèche horizontale:
Raccourci de l'Arduino IDE pour lancer le téléversement du programme compilé sur la carte de développement.
Raccourci de l’Arduino IDE pour lancer le téléversement du programme compilé sur la carte de développement.
  • ou le menu “Croquis”, en cliquant sur “Téléverser”:
Lancer le téléversement du programme compilé sur la carte de développement par le menu principal de l'Arduino IDE.
Lancer le téléversement du programme compilé sur la carte de développement par le menu principal de l’Arduino IDE.

Comme lors de l’étape de compilation, l’Aduino IDE affiche le message “Compilation du croquis” et une barre de progression. Une fois ce transfert terminé, si tout s’est bien déroulé, il va afficher le message “Téléversement fait.”:

Le transfert du programme dans la carte de développement ESP32-CAM est terminé
Le transfert du programme dans la carte de développement ESP32-CAM est terminé

Il ne vous reste plus qu’à sortir l’ESP32-CAM du mode Transfert de programme. Pour cela, il vous suffit de débrancher le câble USB du module et de le rebrancher.

Eh voilà, le flash clignote ! Cela prouve que vous avez transféré avec succès votre programme Arduino dans l’ESP32-CAM.

Si cet article vous a plu, n’hésitez pas à laisser un commentaire.

Pour continuer:

Si vous souhaitez découvrir un exemple d’utilisation de la caméra et de l’interface Wi-Fi de l’ESP32-CAM en Arduino,  je vous invite à vous reporter à l’article suivant: Caméra Wi-Fi ESP32-CAM avec Arduino

S’abonner
Notification pour
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires