Changes between Version 21 and Version 22 of IOC_T05
- Timestamp:
- Mar 8, 2025, 9:19:02 AM (3 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
IOC_T05
v21 v22 4 4 }}} 5 5 6 - Le [htdocs:files répertoire] contient package eps32.tgz et le json du package.7 - Vous pouvez tester le composant ESP32 en exécutant quelques exemples de tutoriaux (décrivez succinctement ce que vous avez fait dans le CR). Les exemples sont accessibles8 6 9 7 = Objectif de la séance 10 8 11 9 12 Le but de la séance est d'écrire une application multitâchesArduino utilisant plusieurs périphériques.10 Le but de la séance est d'écrire une application **multitâches** Arduino utilisant plusieurs périphériques. 13 11 Vous allez écrire une application affichant par exemple la luminosité chaque seconde sur l'écran OLED, tout en faisant clignoter la LED avec un ON/OFF par le bouton poussoir et contrôler le buzzer en faisant dépendre sa fréquence de la lumière (s'il y a un buzzer sur votre maquette) ou d'une action du bouton ou encore d'une valeur entrée au clavier du terminal. En conséquence, vous allez : 14 12 - Utiliser la LED présente sur le module. 15 13 - Utiliser le port série qui relie le module et le PC. 16 14 - Utiliser l'écran OLED 17 - Utiliser la photorésistance (sur la broche 36)18 - Utiliser le buzzer (sur la broche 17)15 - Utiliser la photorésistance (sur la broche **36**) 16 - Utiliser le buzzer (sur la broche **17**) 19 17 20 18 Vous pouvez écrire plusieurs sketchs, chacun gérant un seul périphérique, mais l'application finale contiendra toutes les tâches pour tous les périphériques (ceux que vous aurez traités). 21 19 22 20 Vous rendrez une archive avec : 23 1. un compte rendu au format markdown (ou en pdf) expliquant en détail votre sketch Arduino, l'idée est de vous approprier cette méthode de programmation, alors les explications que vous faites sont utiles pour vous. Vous devez aussi insérezun graphe représentant les tâches et leur communication (avec graphviz).21 1. un compte rendu au format en pdf (à partir de Markdown ou d'un traitement de texte) expliquant en détail votre sketch Arduino, l'idée est de vous approprier cette méthode de programmation, alors les explications que vous faites sont utiles pour vous. Vous devez aussi insérer un graphe représentant les tâches et leur communication (avec graphviz). 24 22 1. le sketch Arduino avec des commentaires, celui contenant toutes les tâches. 25 23 26 24 25 27 26 = Installation ESP32 / Arduino 27 28 28 29 29 … … 45 45 46 46 47 Que vous soyez sur votre ordinateur personnel ou sur une des machines du réseau, les modules ESP32 ne sont pas disponibles par défaut dans l'IDE Arduino, il faut les ajouter, voici la procédure à suivre pour ajouter les gestionnaires de cartes à base d'ESP32 : 47 Que vous soyez sur votre ordinateur personnel ou sur une des machines du réseau, les modules ESP32 ne sont pas disponibles par défaut dans l'IDE Arduino, il faut les ajouter. Vous allez vous rendre compte qu'il y a fréquemment des problèmes de version. En effet, il faut que les bibliothèques Arduino installées soient compatibles avec le matériel. Vous allez produire du code sur la machine hote (qui tourne l'IDE) et exécuter ce code sur une boad ESP32 (ici TTGO-Lora-OLED V1). Parfois, ça ne marche pas bien, voire pas du tout, parce qu'on ne prends pas les bonnes versions, mais on finit par trouver la bonne combinaison.\\ 48 Voici la procédure à suivre pour ajouter les gestionnaires de cartes à base d'ESP32 : 48 49 49 50 * Lancer `Arduino` … … 54 55 * Cliquer sur `ok` 55 56 * Cliquer sur `Outils > Type de carte... > Gestionnaire de carte` 56 * Écrire dans la fenêtre de recherche : `esp32`` 57 * Écrire dans la fenêtre de recherche : `esp32` 58 * Choississez la bibliothèque de Espressif (la société créatrice de l'ESP32) 59 * Sélectionner la version 2.0.17 (ou inférieure). 57 60 * Cliquer sur `Installer` 58 61 * Attendre l'installation (ça peut être long et cela prend de la place dans le répertoire $HOME/.arduino, vous risquez de dépasser votre quota et donc vous devrez peut-être faire du ménage) 59 62 * Cliquer sur `Fermer` 63 64 Sur les machines du Labo, il y a un problème de quota. Voici les packages téléchargés, on peut utiliser `/dsk/l1/misc` ... 65 - Le [htdocs:files répertoire] contient package eps32.tgz et le json du package. 66 - Vous pouvez tester le composant ESP32 en exécutant quelques exemples de tutoriaux (décrivez succinctement ce que vous avez fait dans le CR). Les exemples sont accessibles 60 67 61 68 **Les documents utiles se trouvent** … … 79 86 - Vous pouvez changer la fréquence en modifiant les délais 80 87 - Cliquer sur l'icône en forme de `✓` pour Compiler 81 - Cliquer sur l'icône en forme de `➞` pour uploader88 - Cliquer sur l'icône en forme de `➞` pour Uploader 82 89 - En bas de la fenêtre un message vous indique la réussite de la compilation et de l'upload. 83 90 - La led doit clignoter sur le module … … 151 158 152 159 153 Dans l'application suivante nous avons deux tâches périodiques `Led` et `Mess`.160 Dans l'application suivante, nous avons deux tâches périodiques `Led` et `Mess`. 154 161 La première fait clignoter une led dont le numéro est passé en paramètre à 5Hz. 155 162 La seconde affiche bonjour à une fois par seconde. … … 261 268 262 269 Nous allons utiliser un écran OLED connecté en I2C, 128x64 **ssd1306**. Vous devez ajouter les fonctions d'accès à cet écran, c'est en fait son **driver**, mais contrairement à UNIX, l'API des drivers n'est pas standard, chaque périphérique propose ces fonctions et ces codes sont proposées, soit par les constructeurs, soit par des membres de la communauté. 270 271 - Cliquer sur `Fichier > Préférences` 272 - Cliquer sur l'onglet `Réseau ou Netword` et choississez `No proxy` 263 273 - Allez dans `Outils/Gérer les bibliothèques` (`Tools/Manage Libraries`) 264 274 - Tapez dans la barre de recherche à droite de la fenêtre : `ssd1306 Adafruit` (la 1re de la liste) et installez la version `1.3.0` (celle-là fonctionne pour moi). … … 270 280 Il s'agit d'un programme qui teste les fonctionnalité de l'écran et de la bibliothèque graphique. 271 281 272 > IMPORTANT (merci Shaithan )\\282 > IMPORTANT (merci Shaithan et Maëla)\\ 273 283 > Le composant OLED utilise I2C + un signal de reset\\ 274 284 > Les broches par défaut utilisé par de code de test correspond au module Arduino "officiel" et pas à l'ESP32\\ … … 276 286 > * au début du fichier modifier (4 → 16) : `#define OLED_RESET 16 // Reset pin...`` 277 287 > * Dans la fonction setup() ou setup_oled() (au début avant le begin de oled) : `Wire.begin(4, 15); // pins SDA , SCL` 278 288 > En outre l'adresse de l'OLED sur le bus I2C est 0x3C (vers la ligne 60) du programme de test. 279 289 280 290