Explorez les capacités de l'espressif ESP32 avec un projet Dali Clock
Explorez les capacités de l'Espressif ESP32 avec un projet Dali Clock. L'ESP32, successeur de l'ESP8266 WiFi module extrêmement populaire et puissant d'Espressif System, est encore plus performant que son prédécesseur. Ses points forts incluent une unité de traitement double cœur 32 bits fonctionnant jusqu'à 240 MHz, ainsi qu'une communication sans fil via à la fois le WiFi et le Bluetooth. Il offre également des capacités de détection tactile capacitive, un transfert de données I2S, des capacités audio de boucle à verrouillage de phase (PLL) et deux sorties convertisseur numérique-analogique (DAC). Notez que ces caractéristiques varient quelque peu selon les différentes versions de l'ESP32.
Adafruit Huzzah23 (haut) avec DFRobot Firebeetle (bas)
Utilisation de l'ESP32 avec une horloge vidéo composite
Pour un exemple concret d'utilisation de l'ESP32 (à la fois facile à mettre en œuvre et impressionnant), considérez l'horloge Dali construite par Marcio L. Teixeira. Cette configuration utilise un téléviseur ancien avec une entrée composite et une carte de développement ESP pour afficher une horloge morphologique à l'écran. Comme tout projet repoussant les limites, celui-ci repose sur les épaules métaphoriques de géants, combinant le concept de l'horloge Dali (créé pour le Xerox Alto en 1979) avec une scène de coucher de soleil défilante inspirée de l'art pop des années 1980. Sur le plan technique, plusieurs hacks matériels et hackers sont crédités. Et bien sûr, cela n'aurait pas été possible sans l'ESP32. Enfin, nous ne pouvons pas oublier d'inclure Salvador Dali lui-même pour son inspiration artistique originale. Aussi impressionnantes que soient ses références, pour configurer cette horloge, vous n'aurez besoin que des éléments suivants :
- Carte de développement ESP32
- Fiche RCA
- (2) fils de connexion
- Source d'alimentation USB
- Téléviseur ou moniteur compatible composite
Affichage vidéo
Configuration : Charger le code et connecter
Pour configurer le tout, téléchargez le code depuis GitHub et transférez-le sur l'ESP32 en utilisant l'Arduino IDE. Des instructions plus détaillées pour ce processus sont disponibles ici. Vous devrez ajouter la capacité de travailler avec les cartes ESP32 sur l'Arduino IDE en accédant à Préférences et en entrant « https://dl.espressif.com/dl/package_esp32_index.json » dans la section Additional Boards Manager URLs. Une fois cela fait, sélectionnez votre carte de développement (Adafruit ESP32 Feather ou FireBeetle-ESP32 dans ce cas), ainsi que le port série approprié, et chargez le code sur votre ESP.
Affichage vidéo
Connectez la broche GND de la carte Adafruit Huzzah32 au barillet extérieur de la prise RCA. Ensuite, connectez un autre fil de la broche A1 DAC1 au poteau central de la prise pour l'entrée dans l'entrée vidéo composite du téléviseur. Vous pouvez utiliser des pinces crocodiles pour connecter un connecteur mâle à mâle standard, ou des prises à bornes à vis sont disponibles pour rendre cette connexion beaucoup plus sécurisée. On peut également envisager de modifier un câble RCA pour exposer le câblage. Insérez la prise RCA dans le téléviseur/moniteur, connectez l’alimentation à la carte de développement, et réglez le téléviseur sur la source d’entrée appropriée. Voilà, vous avez une horloge Dali avec des chiffres fondants à l’écran, qui affiche presque certainement une heure incorrecte à ce stade. Pour rectifier cette situation, connectez-vous au réseau Wi-Fi “ESP32 Dali Clock” généré par l'ESP32 via un téléphone ou un ordinateur pour configurer les paramètres via une interface de navigateur. Une fois correctement configurée, l'horloge peut être accessible via votre réseau domestique. L'heure peut être réglée automatiquement via NTP/fuseau horaire, ou vous pouvez également la saisir manuellement si vous le préférez.
Connexion de l'appareil
L'horloge peut également être ajustée pour afficher la date au lieu de l'heure. Connectez des fils à A5 4 et A4 36 sur la carte Huzzah et touchez-les avec votre doigt pour activer cette fonction (je n'ai pas essayé cela sur le FireBeetle, mais cela devrait être possible). Elle peut également être configurée pour changer de couleurs tout au long de la journée, ce qui semble très amusant.
Caractéristiques de l'ESP32 utilisé
En plus d'une vitesse de traitement rapide (impressionnante pour un ordinateur de bureau il n'y a pas si longtemps), cette configuration met joliment en avant quelques fonctionnalités de l'ESP32 :
- Connectivité WiFi – utilisée pour l'interface web et le réglage de l'heure
- Connecteur RCA
- I2C/DAC/PLL – facilite la sortie de niveau de tension et le minutage précis nécessaire pour la vidéo composite couleur
- Détection tactile capacitive – détecte les contacts avec les fils pour afficher temporairement la date
- Processeur Dual-Core – le traitement graphique et la sortie du signal vidéo sont gérés par un cœur, tandis que le WiFi/l'interface web, qui peut perturber le minutage, fonctionne sur le deuxième cœur.
Repousser les limites
Selon cette vidéo distincte, qui explique comment configurer un système similaire à cette construction, l'ESP32 n'indique pas explicitement des capacités de vidéo composite dans ses spécifications. Cependant, le fait qu’il puisse effectuer une conversion numérique-analogique (DAC) et utiliser le protocole I2S le rend très puissant et polyvalent pour le hacking vidéo rétro-futuriste. Plus d'informations sur la manière dont Marcio a pu passer à une sortie en couleur, en profitant des capacités de PLL de l'ESP32, sont disponibles sur cette page GitHub. Dans mon échantillon extrêmement limité d’une seule carte pour une seule télévision, l'affichage avec l'Adafruit Huzzah32 a très bien fonctionné. Le FireBeetle, avec les broches de sortie équivalentes triées, a également fonctionné, mais présente quelques problèmes intermittents de synchronisation. Un examen un peu plus approfondi des deux cartes : la Huzzah32 utilise un module WiFi ESP32-WROOM-32E, tandis que la carte DFRobot utilise un ESP32-WROOM-32D. Bien qu’en grande partie équivalents, le -32E offre quelques améliorations internes, notamment dans son interaction avec l’oscillateur à cristal pour dicter la synchronisation du CPU. Il est possible qu'une légère différence de conception implique que les -32D et -32E s'affichent différemment sur mon téléviseur. Cela dit, dans la grande majorité des cas qui ne repoussent pas les limites des ESP de manière créative, l’un ou l’autre module devrait effectuer un travail donné de manière tout à fait satisfaisante. Cependant, si vous avez une application de production nécessitant toute la puissance de l'ESP-32, il est bon de se rappeler de bien choisir l'ESP-32 que vous allez utiliser.
Étiquettes d'article