Découvrez les capacités de l'Espressif ESP32 avec un projet d'horloge Dali

Par Jeremy Cook

Découvrez les capacités de l'Espressif ESP32 avec un projet d'horloge Dali

Le système ESP32—Espressif, qui succède au module Wi-Fi ESP8266 incroyablement populaire et puissant, est encore plus performant que son prédécesseur. Il comporte en particulier une unité de traitement 32 bits à deux cœurs capable de fonctionner à 240 MHz et des fonctions de communication sans fil qui utilisent à la fois le Wi-Fi et le Bluetooth.

Il offre également une fonction tactile capacitive, des capacités de transfert de données I2S, de boucles audio à verrouillage de phase (PLL) et deux sorties de convertisseur numérique/analogique (DAC). On notera que ces fonctionnalités varient quelque peu entre les différents modèles d'ESP32.

Body Image 1 Explore the Capabilities of the Espressif ESP32

Adafruit Huzzah23 (en haut) avec DFRobot Firebeetle (en bas)

Utilisation de l'ESP32 avec une horloge vidéo composite

Pour voir un exemple concret montrant comment utiliser l'ESP32 (à la fois facile à mettre en place et impressionnant), essayez l'horloge Dali Clock créée par Marcio L. Teixeira. Cette configuration utilise un vieux téléviseur avec une entrée composite et une carte de développement ESP pour afficher une horloge déformante à l'écran.

Comme tous les projets novateurs, celui-ci se juche, métaphoriquement parlant, sur les épaules de géants en combinant le concept d'horloge Dali (créé pour le Xerox Alto en 1979) et un décor de coucher de soleil déroulant dans le style pop art des années 1980. Au niveau technique, il reconnaît beaucoup devoir à un grand nombre de hacks et de hackers. Et, bien sûr, rien ne serait possible sans l'ESP32. Enfin, n'oublions surtout pas Salvador Dali lui-même, l'artiste original qui a inspiré cette réalisation.

Aussi impressionnants que soient ces hommages, vous n'aurez besoin que des composants suivants pour configurer cette horloge :

  • Carte de développement ESP32
  • Prise RCA
  • (2) fils de connecteur
  • Source d'alimentation USB
  • TV ou moniteur avec entrée composite
  • Le projet d'origine utilise une carte Adafruit Huzzah32 ESP32 Feather. En théorie, il serait possible de l'utiliser avec d'autres appareils compatibles ESP32 et j'ai d'ailleurs tenté de réaliser ce projet avec un module DFRobot FireBeetle ESP32. Tous deux présentent des caractéristiques similaires et fonctionnent normalement pour afficher la vidéo. Il existe cependant entre eux une légère différence sur laquelle je reviendrai plus loin.

    Body Image 2 Explore the Capabilities of the Espressif ESP32

    Affichage de la vidéo

    Configuration : chargement du code et connexion

    Pour la configuration, téléchargez le code sur GitHub et transférez-le à l'ESP32 à l'aide de l'IDE d'Arduino. Vous trouverez des instructions plus explicites pour cette procédure ici

    Vous devrez ajouter la capacité de fonctionner avec les cartes ESP32 sur l'Arduino IDE en affichant les préférences et en saisissant « https://dl.espressif.com/dl/package_esp32_index.json » dans la section Additional Boards Manager URL.

    Sélectionnez ensuite votre carte de développement (dans notre cas, l'Adafruit ESP32 Feather ou la FireBeetle-ESP32), ainsi que le port série approprié, et chargez le code sur votre ESP.

    Body Image 3 Explore the Capabilities of the Espressif ESP32

    Affichage de la vidéo

    Connectez la broche de terre de la carte Adafruit Huzzah32 au cylindre extérieur de la prise RCA.

    Connectez ensuite un autre fil depuis la broche A1 DAC1 à l'âme centrale de la prise à brancher dans l'entrée vidéo composite du téléviseur. Vous pouvez utiliser des pinces crocodiles pour vous connecter à une prise standard mâle/mâle. Des broches à vis sont également disponibles pour solidifier la connexion. Vous pouvez aussi ouvrir un câble RCA pour dénuder les fils.

    Insérez la prise RCA dans le téléviseur ou le moniteur, connectez l'alimentation de la carte de développement et réglez le téléviseur sur la source d'entrée correcte.

    Voilà, vous avez à l'écran une horloge Dali molle qui, à ce stade, affiche presque certainement une heure incorrecte. Pour rectifier la situation, connectez-vous au réseau Wi-Fi « ESP32 Dali Clock » généré par l'ESP32 avec un téléphone ou un ordinateur pour configurer les paramètres sur une interface de navigateur. Une fois correctement configuré, il devient accessible depuis votre réseau domestique. L'heure peut être réglée automatiquement par NTP/fuseau horaire, mais vous pouvez aussi le faire manuellement si vous préférez.

    Body Image 4 Explore the Capabilities of the Espressif ESP32

    Branchement du dispositif

    L'horloge peut également se transformer pour afficher la date plutôt que l'heure. Connectez les fils à A5 4 et A4 36 sur la carte Huzzah et touchez-les tous les deux avec le doigt pour activer cette fonction (je n'ai pas essayé sur la FireBeetle, mais ça doit être possible). On peut également la régler de façon à changer de couleur au cours de la journée, ce qui a l'air très amusant.

    Fonctionnalités utilisées sur l'ESP32

    Outre une vitesse de traitement élevée (qui aurait été impressionnante sur des ordinateurs fixes il n'y a pas si longtemps), ce projet met en valeur quelques caractéristiques de l'ESP32 :

  • Connectivité Wi-Fi : utilisée pour l'interface Web et le réglage de l'heure
  • Prise RCA
  • I2C/DAC/PLL : facilite la sortie au niveau de la tension et l'horodatage précis nécessaire pour la vidéo composite couleur
  • Fonction tactile capacitive : détecte que les fils sont touchés pour modifier momentanément l'affichage de la date
  • Processeur double cœur : le traitement graphique et la sortie du signal vidéo sont gérés par un des cœurs, tandis que l'interface Wi-Fi/Web, qui peut interférer avec l'horodatage, est gérée par le deuxième.
  • Repousser les limites

    Body Image 5 Explore the Capabilities of the Espressif ESP32

    Selon cette vidéo distincte, qui montre comment réaliser une configuration comparable à celle-ci, l'ESP32 ne comporte en réalité pas de capacités de vidéo composite dans ses spécifications. Toutefois, le fait qu'elle soit capable de réaliser une conversion numérique/analogique (DAC) et qu'elle utilise le protocole I2S la rend très performante et en fait un outil généraliste qui peut servir à réaliser des projets vidéo rétro-futuristes.

    On trouvera davantage d'informations sur la façon dont Marcio a réussi à la transformer en sortie vidéo en profitant des capacités PLL de l'ESP32 sur cette page GitHub.

    Dans mon exemple extrêmement limité avec une seule carte, chaque affichage sur un unique téléviseur avec l'Adafruit Huzzah32 a très bien fonctionné. La FireBeetle, une fois trouvées les broches de sortie équivalentes, a également fonctionné, mais présente quelques problèmes de synchronisation intermittents.

    Un peu plus d'informations sur les deux cartes : la Huzzah32 utilise un module Wi-Fi ESP32-WROOM-32E, tandis que la carte DFRobot utilise un ESP32-WROOM-32D. Bien que les deux cartes se valent largement, la -32E intègre quelques améliorations, notamment sa façon d'interagir avec l'oscillateur cristal pour dicter l'horodatage processeur.

    Il se peut que quelques différences de conception mineures soient à l'origine des différences d'affichage entre la -32D et la -32E sur mon téléviseur. Cela étant, dans l'immense majorité des cas où l'ESP n'est pas poussée dans ses retranchements de façon créative, l'un comme l'autre des deux modules devrait pouvoir exécuter sans problème la tâche qu'on lui confie. En revanche, si vous possédez une application de production qui doit exploiter toute la puissance de l'ESP-32, il n'est pas inutile de vous demander quelle version de l'ESP-32 utiliser.

    Actualité

    Sorry, your filter selection returned no results.

    Nous avons mis à jour notre politique de confidentialité. Prenez un moment pour lire les changements. En cliquant sur "J'accepte", vous acceptez la clause de confidentialité d'Arrow Electronics ainsi que les conditions d'utilisation.

    Notre site Internet place des cookies sur votre appareil pour améliorer votre expérience et pour améliorer notre site. Pour en savoir plus sur les cookies que nous utilisons et la façon de les désactiver, cliquez ici. Des cookies et des technologies de suivi peuvent être utilisés à des fins de marketing. En cliquant sur « Accepter », vous consentez au placement de cookies sur votre appareil et à notre utilisation de technologies de suivi. Cliquez sur « En savoir plus » pour de plus amples informations et instructions sur la façon de désactiver les cookies et les technologies de suivi. Même si l'acceptation des cookies et technologies de suivi est volontaire, leur désactivation peut entraîner un mauvais fonctionnement du site Internet et certaines publicités peuvent être moins pertinentes pour vous. Nous respectons votre confidentialité. Lisez notre politique de confidentialité ici.